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