【虛擬機器資料恢復】異常斷電導致虛擬機器無法啟動的資料恢復案例

北亞資料恢復發表於2024-01-26

虛擬機器資料恢復環境:

某品牌R710伺服器+MD3200儲存,上層是ESXI虛擬機器和虛擬機器檔案,虛擬機器中存放有SQL Server資料庫。


虛擬機器故障:

機房非正常斷電導致虛擬機器無法啟動。伺服器管理員檢查後發現虛擬機器配置檔案丟失,所幸xxx-flat.vmdk磁碟檔案和xxx-000001-delta.vmdk快照檔案還在。伺服器管理員在嘗試恢復虛擬機器的過程中,將原虛擬機器內的xxx-flat.vmdk刪除後新建了一個虛擬機器,並分配了精簡模式的虛擬機器磁碟和快照資料盤,但原虛擬機器內的資料並沒有恢復。


虛擬機器資料恢復過程:

1、將掛載在VMware vSphere Client上的卷解除安裝後備份,後續的資料分析和資料恢復操作都基於備份資料進行,避免對原始資料造成二次破壞。

2、基於備份資料進行檢測和分析。經過檢測和分析發現虛擬機器目錄項由於異常斷電被破壞,伺服器管理員刪除的xxx-flat.vmdk檔案導致檔案的資料區索引被清除,而重建虛擬機器導致分配給新建虛擬機器的磁碟底層資料被清零。前兩種情況可以透過人工修復恢復資料,但新建虛擬機器的操作直接導致磁碟底層資料清零。如果新建虛擬機器的磁碟空間佔用了原虛擬機器的釋放空間則會導致這部分資料無法恢復,具體情況需要進一步檢測。

虛擬機器目錄項:

3、再次基於備份分析底層資料,在自由空間中排查被刪除的虛擬機器磁碟區域,在掃描這部分割槽域過程中發現大量碎片。嘗試拼接和重組這些碎片,發現仍然缺失部分碎片檔案,只能暫時將丟失的檔案碎片位置留空。

4、利用虛擬磁碟快照程式將重組好的父盤和快照盤合併,生成一個新的虛擬磁碟。嘗試解釋虛擬磁碟中的檔案系統,資料缺失導致在檔案系統的解釋過程中出現報錯,提示某些檔案損壞。

解釋檔案系統:

5、檔案系統解析完後,沒有找到原始的資料庫檔案,但是備份的兩個目錄的目錄結構正常。嘗試將備份匯入到資料庫中時提示報錯。

備份目錄結構:

匯入.BAK檔案報錯:

6、根據SQL Server資料庫的結構去自由空間中查詢資料庫的開始位置。根據SQL Server資料庫庫名通常出現的位置在底層掃描資料庫頁的碎片,然後重組mdf檔案。

在本案例中除了cl_system3.dbf和erp42_jck.dbf中有部分碎片沒有找到,其餘資料庫檔案均校驗成功。

校驗完的MDF檔案:

cl_system3.dbf檔案中某個碎片丟失的區域:

7、詳細檢查備份檔案發現上述丟失的兩個檔案也不存在,只有部分增量備份檔案。erp42_jck.dbf檔案中只缺失少量的頁,可以根據缺失的頁號在增量備份中查詢,再將找到的頁補到erp42_jck.dbf檔案中,透過這種方式恢復一部分丟失的資料庫頁。補完後發現還是有部分頁缺失,無法正常使用。

8、使用北亞企安自主開發的資料庫解析程式將erp42_jck.dbf檔案中比較重要的幾十張表成功匯出,併成功匯入到新建的資料庫中,恢復出缺失的檔案。

9、將恢復出來的資料匯入到重新搭載好的環境中,由使用者方驗證資料庫的完整性。經過仔細驗證,使用者方確認所有恢復出來的資料完整、資料庫成功掛載、上層應用執行正常,使用者方認可本次資料恢復結果。本次虛擬機器資料恢復工作完成。


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

相關文章