服務器數據恢復環境:
IBM X系列服務器+柏科某型號存儲。服務器上部署VMware ESXi虛擬主機,存儲上存放虛擬機文件。
虛擬主機采用的Windows Server操作系統,部署宏橋和索菲2套應用,數據庫是SQL Server。
虛擬磁盤:數據盤(精簡模式)+ 快照數據盤。
服務器故障:
機房異常斷電導致服務器上某臺虛擬機無法正常啟動。管理員查看虛擬機配置文件,發現此虛擬機的配置文件除了磁盤文件外其他的配置文件全部丟失,xxx-flat.vmdk磁盤文件和xxx-000001-delta.vmdk快照文件還在。聯系VMware原廠工程師,VMware工程師需要新建一個虛擬機來解決故障問題,但發現ESXi存儲空間不足。于是管理員將故障虛擬機下的xxx-flat.vmdk磁盤文件刪除,然后VMware工程師重建了一個虛擬機并且分配了固定大小的虛擬磁盤。
服務器數據恢復過程:
1、在VMware vSphere Client上將掛載的存儲設備中的VMFS卷卸載。然后將存儲上的VMFS卷通過網線連接到北亞企安備份服務器上,使用工具將整個VMFS卷以扇區的方式鏡像到備份空間上。后續的數據分析和數據恢復操作均基于鏡像文件進行,避免對原始數據造成二次破壞。
2、基于鏡像文件分析VMFS卷的底層,發現異常斷電導致故障虛擬機目錄下的目錄項被破壞,但是不影響虛擬機的重要數據,可以通過人工進行修復。
如果人為刪除某個文件,目錄項對應的數據區索引也會被同時清掉,但是不會影響刪除文件的實際數據。可以根據被刪除的虛擬磁盤文件中的文件系統以及虛擬磁盤中的文件類型在VMFS卷自由空間中進行碎片的匹配和合并這種方式來恢復刪除的虛擬磁盤文件。
但是本案例是在上述的兩個問題同時發生的情況下又新建一臺虛擬機并且分配了虛擬磁盤。
經過分析發現新分配的虛擬磁盤已經全部清零了(在創建虛擬磁盤的時候會選擇創建磁盤的類型),這個新建的虛擬機所占用的磁盤空間全部被清零。如果新分配的虛擬磁盤占用了刪除虛擬機磁盤所釋放的空間,那么此部分空間的數據是無法恢復的。
故障虛擬機的目錄項區域:
北亞企安數據恢復——ESXi虛擬機數據恢復
3、經過北亞企安數據恢復工程師團隊的會診,最終確認服務器數據恢復方案:
方案a、恢復刪除的VMDK文件。根據刪除虛擬磁盤文件中的文件系統以及虛擬磁盤中的文件類型在VMFS卷的自由空間中進行碎片匹配和合并,恢復刪除的虛擬磁盤文件。將快照文件和恢復的虛擬磁盤文件合并成一個完整的虛擬磁盤文件,然后利用文件系統解釋工具解釋虛擬磁盤文件中的所有文件。
方案b、恢復MSSQL數據庫文件。如果方案a實施效果不理想,可以根據SQL Server數據庫文件結構對VMFS卷自由空間中符合SQL Server頁結構的數據區域進行統計、分析和聚合,生成一個可以正常使用的.MDF格式的文件。
方案c、恢復MSSQL數據庫備份文件。由于數據庫每天都在做備份。如果上述2種方案實施過后還有一些數據庫沒有恢復出來,就只能使用備份文件來恢復數據庫了。根據掌握的備份文件.bak的結構,對VMFS卷自由空間中符合SQL Server備份文件結構的數據區域進行統計、分析和聚合,生成一個可以正常導入到SQL Server數據庫中.BAK格式的文件。
4、服務器數據恢復實施過程:
方案a實施過程:按照方案a進行底層分析,根據VMFS卷的結構以及刪除虛擬磁盤的文件系統信息,在底層的自由空間中掃描符合刪除虛擬機磁盤的區域,統計其數量和大小是否符合刪除虛擬磁盤的大小。根據虛擬磁盤中文件系統的信息將這些掃描到的碎片進行排列組合,結果發現好多碎片缺失。重新掃描這些缺失的碎片,這些碎片確實無法找到。將掃描到的碎片按照虛擬磁盤原始的順序重組,沒有找到的碎片暫且留空。使用虛擬磁盤快照程序合并重組好的父盤和快照盤,生成一個新的虛擬磁盤。解釋虛擬磁盤中的文件系統,因為缺失好多數據,文件系統解釋過程中出現很多報錯,提示某些文件損壞。
北亞企安數據恢復——ESXi虛擬機數據恢復
解析完文件系統后發現沒有找到原始的數據庫文件,而宏橋備份和索菲備份這兩個目錄的目錄結構正常。但是嘗試將備份導入到數據庫中時,數據庫導入程序提示報錯。
北亞企安數據恢復——ESXi虛擬機數據恢復
北亞企安數據恢復——ESXi虛擬機數據恢復
導入.BAK文件報錯信息:
北亞企安數據恢復——ESXi虛擬機數據恢復
方案b實施過程:由于方案a中并沒有將原始的數據庫文件恢復出來,并且很多備份文件無法正常使用。因此采用方案b來恢復尚未恢復出來的數據庫文件。
根據SQL Server數據庫的結構去自由空間中找到數據庫的開始位置。根據SQL Server數據庫的結構特征,數據庫的第9個頁會記錄本數據庫的數據庫名。根據這個特征核對該數據庫的頭部頁是否是正在查找的。SQL Server數據庫的每個頁都會記錄數據庫頁編號和文件號,根據這些特征北亞企安數據恢復工程師編寫數據
庫掃描程序在底層掃描所有符合數據庫頁的數據碎片。將掃描出來的碎片按順序重組成一個完整MDF文件,通過MDF校驗程序檢測整個MDF文件的完整性。校檢完成后發現只有cl_system3.dbf和erp42_jck.dbf這2個文件沒有找到外,其余數據庫均校驗成功。
北亞企安數據恢復——ESXi虛擬機數據恢復
cl_system3.dbf和erp42_jck.dbf因為底層有很多碎片沒有找到(可能被覆蓋),因此校驗不通過。
cl_system3.dbf文件中某個碎片丟失的區域:
北亞企安數據恢復——ESXi虛擬機數據恢復
方案c實施過程:
上述兩個方案實施后并沒有將所有的數據庫文件全部恢復出來。cl_system3.dbf和erp42_jck.dbf這2個文件因部分頁缺失,無法使用,需要采用備份來恢復這兩個數據庫文件。但是檢查完這兩個文件的備份后發現cl_system3.dbf由于備份機制沒有備份出來,而erp42_jck.dbf只有某個月的全部增量備份。
北亞企安數據恢復——ESXi虛擬機數據恢復
由于erp42_jck.dbf文件中只缺失少量的頁,可以根據缺失的頁號在增量備份中查找到缺失的頁,然后將找到的頁補到erp42_jck.dbf文件中,從而恢復一部分丟失的數據庫頁。通過上述方法補完頁后還是缺失部分頁,無法正常使用,只能通過北亞企安自主開發的數據庫解析程序將erp42_jck.dbf文件中比較重要的幾十張表導出,并成功導入到新建的數據庫中。
驗證數據:
在一臺服務器中搭建和原始環境一樣的數據庫環境,由用戶方通過遠程工具連接到該服務器并安裝宏橋應用。由用戶方工程師驗證數據庫的完整性,經過反復仔細驗證后,確認數據庫沒有問題,上層應用可以正常運行,數據記錄也基本沒有缺失。
數據庫成功掛載:
北亞企安數據恢復——ESXi虛擬機數據恢復
服務器數據恢復總結:
本案例先是斷電導致服務器中部分文件丟失;然后人為刪掉部分數據,又重新寫入部分數據,導致部分數據被覆蓋;又因為數據庫備份機制導致部分數據庫的備份不可用;所以本案例恢復難度系數很高。因為北亞企安數據恢復工程師團隊對SQL Server數據庫底層結構有深入的研究,并且有處理類似故障類型的經驗,
所以才能順利恢復出用戶需要的數據。
審核編輯:湯梓紅
-
數據恢復
+關注
關注
10文章
642瀏覽量
18063 -
磁盤
+關注
關注
1文章
389瀏覽量
25695 -
虛擬機
+關注
關注
1文章
964瀏覽量
29168
發布評論請先 登錄
分布式存儲數據恢復—虛擬機上hbase和hive數據庫數據恢復案例
虛擬化數據恢復—VMware虛擬化環境下重裝系統導致服務器數據丟失的數據恢復

評論