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