服務器數據恢復環境:
某大廠PS4000服務器,服務器上部署VMware ESXi虛擬化平臺。
服務器故障:
機房斷電,重啟后服務器中的某臺虛擬機不能正常啟動。管理員查看虛擬機配置文件,發現無法啟動的虛擬機的配置文件除了磁盤文件以外其他配置文件全部丟失,xxx-flat.vmdk磁盤文件和xxx-000001-delta.vmdk快照文件還存在。聯系VMware原廠工程師進行診斷,VMware原廠工程師嘗試新建一個虛擬機,但發現存儲空間不足,于是將故障虛擬機下的xxx-flat.vmdk磁盤文件刪除了。VMware工程師重新建了一個虛擬機,分配了固定大小的虛擬磁盤,為虛擬機安裝了Windows Server操作系統,部署SQL Server數據庫(作為宏橋和索菲兩套應用的數據庫),虛擬機磁盤包括:數據盤(精簡模式)+快照數據盤。
服務器數據恢復過程:
1、在VMware vSphere Client上將掛載的存儲設備中的VMFS卷以正常方式卸載掉。然后將存儲上的VMFS卷通過網線的方式連接到北亞企安備份服務器上,將整個VMFS卷以扇區的方式鏡像到備份空間上。之后的數據分析和數據恢復操作均在備份的數據上進行,避免對原始數據造成二次破壞。
2、基于備份文件分析VMFS卷的底層數據,服務器非正常斷電導致故障虛擬機目錄下的目錄項破壞,這種破壞只是破壞了文件的目錄項,不會影響虛擬機的重要數據,可以通過人工修復解決。
如果人為刪除某個文件的話,則目錄項對應的數據區索引會被清掉,也不會影響刪除文件的實際數據,這種情況可根據刪除虛擬磁盤文件中的文件系統以及虛擬磁盤中的文件類型在VMFS卷自由空間中進行碎片匹配和合并,最終恢復刪除的虛擬磁盤文件。
但是在上述的兩種情況之下又新建了一臺虛擬機,并且分配了虛擬磁盤。經過分析發現分配的虛擬磁盤所使用的空間已經全部清零了,也是說這個新建的虛擬機所占用的磁盤空間全部被清零。 如果新分配的虛擬磁盤占用了刪除虛擬機磁盤文件所釋放的空間,那么這部分空間的數據是無法恢復的。
故障虛擬機的目錄項區域:
北亞企安數據恢復——vmdk數據恢復
3、方案A:根據VMFS卷的結構以及刪除虛擬磁盤的文件系統信息,在底層的自由空間中掃描符合刪除虛擬機磁盤的區域,:統計其數量和大小是否符合刪除虛擬磁盤的大小。根據虛擬磁盤中文件系統的信息將這些掃描到的碎片進行排列組合,結果發現很多碎片缺失。重新掃描也沒有找到這些碎片。將掃描到的碎片按照虛擬磁盤原本的順序重組,暫且留空沒有找到的碎片。利用虛擬磁盤快照程序將重組好的父盤和快照盤進行合并生成一個新的虛擬磁盤。再用北亞企安自主開發的程序解釋虛擬磁盤中的文件系統,因為存在數據缺失的情況,文件系統解釋過程中有很多報錯,提示某些文件損壞。
解釋完的文件系統:
北亞企安數據恢復——vmdk數據恢復
文件系統解析完成后,沒有找到原始的數據庫文件。雖然宏橋備份和索菲備份這兩個目錄的目錄結構正常,但是在嘗試將備份導入數據庫中時,數據庫導入程序報錯。
宏橋備份和索菲備份的部分目錄結構:
北亞企安數據恢復——vmdk數據恢復
北亞企安數據恢復——vmdk數據恢復
導入.BAK文件報錯信息:
北亞企安數據恢復——vmdk數據恢復
4、方案B:由于實施方案一并沒有將原始的數據庫文件成功恢復,而且很多備份文件都無法正常使用。北亞企安數據恢復工程師只能采用方案B來恢復方案A中尚未恢復的數據庫文件。
根據SQLServer數據庫的結構去自由空間中找到數據庫的開始位置。SQLServer數據庫的第9個頁會記錄本數據庫的數據庫名,根據這個特征核對此數據庫的頭部頁是否是正在查找的。SQLServer數據庫的每個頁中都會記錄數據庫頁編號以及文件號,北亞企安數據恢復工程師根據這個特征編寫數據庫掃描程序,去底層掃描所有符合數據庫頁的數據碎片。按順序將掃描出來的碎片重組成一個完整MDF文件,通過MDF校驗程序檢測整個MDF文件的完整性。在整個校驗過程中,只有cl_system3.dbf和erp42_jck.dbf這2個文件由于有部分碎片沒有找到所以校驗不通過之外,其余數據庫文件均校驗成功。
校驗完的MDF文件:
北亞企安數據恢復——vmdk數據恢復
cl_system3.dbf文件中某個碎片丟失的區域:
北亞企安數據恢復——vmdk數據恢復
5、方案B:方案A和方案B的實施并沒有將所有的數據庫文件全部恢復出來。cl_system3.dbf和erp42_jck.dbf這2個文件因缺失部分頁導致其無法正常使用,可以嘗試通過備份來恢復這兩個數據庫文件,但是在檢查后發現cl_system3.dbf沒有備份,而erp42_jck.dbf只有最近一個月的全部增量備份。
北亞企安數據恢復——vmdk數據恢復
由于erp42_jck.dbf文件中只缺失少量的頁,因此可以根據缺失的頁號在增量備份中查找頁,然后補到erp42_jck.dbf文件中,通過這個方法可以恢復一部分丟失的數據庫頁。雖然補完后erp42_jck.dbf文件還是缺失部分頁,無法正常使用,但是通過北亞企安自主開發的數據庫解析程序,數據恢復工程師將erp42_jck.dbf文件中比較重要的幾十張表成功導出,并成功導入到新建的數據庫中。
6、在本地服務器中搭建和原始環境一樣的數據庫環境,用戶通過遠程工具連接到驗證服務器,安裝宏橋應用軟件,由用戶方工程驗證數據庫的完整性。經過用戶方工程師的仔細驗證,數據庫可以成功掛載,上層應用可以正常運行,數據記錄基本沒有缺失。用戶方認可數據恢復結果。
北亞企安數據恢復——vmdk數據恢復
審核編輯 黃宇
-
服務器
+關注
關注
12文章
9029瀏覽量
85205 -
數據恢復
+關注
關注
10文章
552瀏覽量
17395 -
虛擬機
+關注
關注
1文章
908瀏覽量
28109 -
VMware
+關注
關注
1文章
294瀏覽量
21584
發布評論請先 登錄
相關推薦
評論