【伺服器資料恢復】IBM某型號伺服器VMware虛擬機器誤刪除的資料恢復案例

北亞資料恢復發表於2022-07-22

伺服器資料恢復環境:

IBM某型號伺服器,安裝VMware虛擬主機;

柏科某系列儲存,存放虛擬機器檔案;

VMware ESXi 5.5版本作業系統;

虛擬機器作業系統:Windows Server 2008;

SQL Server 2008資料庫伺服器,管理宏橋和索菲兩套應用資料庫;

虛擬磁碟:200G資料盤(精簡模式)+ 160G快照資料盤。



伺服器故障&分析:


意外斷電導致某臺虛擬機器不能正常啟動,經過檢查發現此虛擬機器除了磁碟檔案以外其他配置檔案全部丟失,xxx-flat.vmdk磁

盤檔案和xxx-000001-delta.vmdk快照檔案還在。管理員諮詢VMware工程師後嘗試新建一個虛擬機器,但發現ESXi儲存空間

不足,於是將故障虛擬機器下的xxx-flat.vmdk磁碟檔案刪除釋放空間,重新建了一個虛擬機器並分配了固定大小的虛擬磁碟。但

是問題依舊沒有解決,資料丟失。管理員聯絡我們資料恢復中心進行資料恢復。


備份資料。伺服器資料恢復工程師在VMware vSphere Client上將掛載的儲存中VMFS卷以正常方式解除安裝掉。然後將儲存上的

VMFS卷透過網線的方式連線到備份伺服器上,使用專業工具將整個VMFS卷以扇區的方式映象到已準備好的備份空間,之後

的分析和資料恢復操作均在映象檔案上進行。


分析故障原因。經過分析VMFS卷的底層資料發現,ESXi主機的突然斷電導致故障虛擬機器目錄下的目錄項被破壞,這種破壞還

不會影響到虛擬機器的重要資料,可以透過人工進行修復。如果人為刪除某個檔案的話,則目錄項對應的資料區索引會被清掉,

也不會影響刪除檔案的實際資料。這種情況可根據刪除虛擬磁碟檔案中的檔案系統以及虛擬磁碟中的檔案型別在VMFS卷自由

空間中進行碎片匹配和合並,最終恢復刪除的虛擬磁碟檔案。但是在上述的兩種情況之下又新建了一臺虛擬機器並且分配了虛擬

磁碟,經過分析發現這個新建的虛擬機器所佔用的磁碟空間全部被清零。 如果新虛擬磁碟佔用了刪除虛擬機器磁碟所釋放的空間,

那麼此部分空間將無法恢復。


故障虛擬機器的目錄項區域:


圖一



伺服器資料恢復方案:


經過北亞資料恢復工程師團隊的會診,最終確定三個資料恢復方案。


1、資料恢復方案一:恢復刪除的VMDK檔案。根據刪除虛擬磁碟檔案中的檔案系統以及虛擬磁碟中的檔案型別在VMFS卷的

自由空間中進行碎片匹配和合並,最終恢復刪除的虛擬磁碟檔案。再利用快照合併程式將快照檔案和恢復的虛擬磁碟檔案合

併成一個完整的虛擬磁碟檔案,然後利用專業的檔案系統解釋工具解釋虛擬磁碟檔案中的所有檔案。


2、資料恢復方案二:恢復MSSQL資料庫檔案。如果方案一實施效果不理想,可以根據SQL Server資料庫檔案的結構對VMFS

卷自由空間中符合SQL Server頁結構的資料區域進行統計、分析和聚合,最終生成一個可以正常使用的.MDF格式的檔案。


3、資料恢復方案三:恢復MSSQL資料庫備份檔案。本案例中的資料庫每天都在做一次增量備份,15天做一次完全備份。如

果方案一和方案二實施後還有一些資料庫資料無法恢復,則只能透過恢復備份檔案來恢復資料庫了。根據備份檔案.bak的結構

對VMFS卷自由空間中符合SQL Server備份檔案結構的資料區域進行統計、分析和聚合,最終生

成一個可以正常匯入到SQL Server資料庫中的.BAK格式的檔案。


伺服器資料恢復過程:


1、實施方案一。


根據VMFS卷的結構以及刪除虛擬磁碟的檔案系統資訊,在底層的自由空間中掃描符合刪除虛擬機器磁碟的區域並統計其數量

和大小是否符合刪除虛擬磁碟的大小,再根據虛擬磁碟中的檔案系統的資訊將這些掃描到的碎片進行排列組合,結果發現中

間有好多碎片缺失。再對這些缺失的碎片進行重新掃描發現這些碎片確實找不到。將掃描到的碎片按照虛擬磁碟原本的順序

重組,對於沒有找到的碎片暫且留空。利用虛擬磁碟快照程式將重組好的父盤和快照盤進行合併生成一個新的虛擬磁碟,再

用專業工具解釋虛擬磁碟中的檔案系統。因為好多資料缺失,檔案系統解釋過程中頻繁報錯,提示某些檔案損壞。


圖二

在解析完檔案系統後發現沒有找到原始的資料庫檔案,而宏橋備份和索菲備份這兩個目錄的目錄結構正常。嘗試將備份匯入

到資料庫中時,資料庫匯入程式提示報錯。




匯入.BAK檔案報錯資訊如下:




2、實施方案二。


由於方案一中並沒有將原始的資料庫檔案恢復出來,並且其中很多備份檔案都無法正常使用。因此資料恢復工程師採用第二套

方案來恢復尚未恢復出來的資料庫檔案。根據SQL Server資料庫的結構去自由空間中找到資料庫的開始位置。根據本案例中的

資料庫結構,資料庫的第9個頁會記錄本資料庫的資料庫名,根據這個特徵可以核對此資料庫

的頭部頁是否是正在查詢的。資料庫的每個頁中都會記錄資料庫頁編號以及檔案號,北亞資料恢復工程師根據這些特徵編寫數

據庫掃描程式去底層掃描所有符合資料庫頁的資料碎片,接著將掃描出來的碎片按順序重組成一個完整MDF檔案,再透過MDF

校驗程式檢測整個MDF檔案是否完整。在校驗過程中,發現只有2個檔案有部分碎片沒有找到,其餘資料庫檔案均校驗成功。



其中一個檔案中某個碎片丟失的區域:



3、實施方案三。


方案一和方案二實施後並沒有將所有的資料庫檔案全部恢復出來,有2個檔案因缺失部分頁導致其無法正常使用。因此需要利

用備份來恢復這兩個資料庫檔案。但是在檢查完這兩個檔案的備份後發現其中一個檔案的全部備份因備份機制故障沒有備份出

來,而另外一個檔案的全部備份則沒有,只有全部增量備份。



由於其中一個檔案只缺失少量的頁,可以根據缺失的頁號在增量備份中查詢,再將找到的頁補到這個檔案中,伺服器資料恢

復工程師透過這個方法恢復出一部分丟失的資料庫頁。但是補完後發現還是缺失部分頁,無法正常使用。伺服器資料恢復工

程師只好透過北亞自主開發的資料庫解析程式將這個檔案中比較重要的幾十張表成功匯出,並匯入到新建的資料庫中。


驗證資料:


在本地伺服器中搭建和原始環境一樣的資料庫環境(SQL Server 2008),管理員透過遠端工具連線到驗證伺服器並安裝層

宏橋應用軟體,由使用者方工程師驗證資料庫是否完整,經過仔細的驗證後資料庫基本沒有問題,上層應用可以正常執行,數

據記錄也基本沒有缺失,資料恢復成功。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2907116/,如需轉載,請註明出處,否則將追究法律責任。

相關文章