服務器虛擬化數(shù)據(jù)恢復環(huán)境:
Dell某型號服務器;
數(shù)塊STAT硬盤通過raid卡組建的RAID10;
Xen Server服務器虛擬化系統(tǒng);
故障虛擬機操作系統(tǒng):Windows Server,部署Web服務,存儲網(wǎng)站文件和數(shù)據(jù)庫。
服務器虛擬化故障:
未知原因?qū)е耎en Server服務器中一臺VPS(即Xen Server虛擬機)不可用,虛擬磁盤數(shù)據(jù)丟失。
服務器虛擬化數(shù)據(jù)恢復過程:
1、將故障服務器所有磁盤做好標記取出連接到北亞數(shù)據(jù)恢復平臺,以底層扇區(qū)的方式做鏡像備份,后續(xù)的所有數(shù)據(jù)恢復操作都在鏡像備份文件上進行,避免對原始數(shù)據(jù)進行二次破壞。
2、基于鏡像文件分析底層數(shù)據(jù),北亞數(shù)據(jù)恢復工程師發(fā)現(xiàn)Xen Server服務器中虛擬機磁盤是以LVM結(jié)構(gòu)存放,每個虛擬機的虛擬磁盤都是一個LV,都是采用的精簡模式。
LVM的相關信息在Xen Server中都有記錄。查看“/etc/lvm/backup/ “目錄下的LVM相關信息并沒有發(fā)現(xiàn)損壞的虛擬磁盤信息,數(shù)據(jù)恢復工程師推斷LVM信息已經(jīng)被更新。數(shù)據(jù)恢復工程師只好對底層進行分析查找未被更新的LVM信息,通過底層分析果然發(fā)現(xiàn)還未更新的LVM信息。如下圖:
北亞數(shù)據(jù)恢復——Xen Server數(shù)據(jù)恢復
3、根據(jù)未被更新的LVM信息找到了虛擬磁盤的數(shù)據(jù)區(qū)域,但是該區(qū)域的數(shù)據(jù)已被破壞。經(jīng)過仔細分析最終得出的結(jié)論是:虛擬機的虛擬磁盤被破壞造成虛擬機中的操作系統(tǒng)和數(shù)據(jù)丟失,導致虛擬機不可用。這類故障很有可能是由于虛擬機遭遇網(wǎng)絡攻擊或hack入侵后留下惡意程序造成的。數(shù)據(jù)恢復工程師仔細檢測這片區(qū)域后發(fā)現(xiàn)雖然該區(qū)域很多數(shù)據(jù)被破壞,但留存有很多數(shù)據(jù)庫的頁碎片,可以嘗試將這些數(shù)據(jù)庫的頁碎片拼接成一個可用的數(shù)據(jù)庫。
4、經(jīng)過北亞數(shù)據(jù)恢復工程師會診,最終形成2個恢復方案:
方案一、恢復數(shù)據(jù)庫備份。數(shù)據(jù)庫做過一次備份,數(shù)據(jù)庫備份文件和網(wǎng)站代碼被一起壓縮到一個RAR壓縮包文件中。因此只需要恢復出這個壓縮包文件即可恢復數(shù)據(jù)庫和網(wǎng)站的源代碼。
方案二:拼數(shù)據(jù)庫碎片。根據(jù)數(shù)據(jù)庫結(jié)構(gòu)在底層將找到的數(shù)據(jù)庫的頁碎片按照原來的順序拼接起來,然后對數(shù)據(jù)庫進行修復和校檢即可恢復數(shù)據(jù)庫。
5、實施方案。
數(shù)據(jù)恢復工程師在底層根據(jù)RAR壓縮包結(jié)構(gòu)找到很多壓縮包的數(shù)據(jù)開始位置,RAR壓縮包文件的第一個扇區(qū)會記錄RAR的文件名。通過匹配從用戶那里獲知的壓縮包文件名和目前找到的壓縮包文件名即可找到備份數(shù)據(jù)庫壓縮包的開始位置。找到壓縮包的開始位置后將此區(qū)域的數(shù)據(jù)恢復出來重命名為一個RAR格式的壓縮文件。然后嘗試解壓此壓縮包,結(jié)果解壓報錯。報錯如下圖所示:
北亞數(shù)據(jù)恢復——Xen Server數(shù)據(jù)恢復
仔細分析恢復出來的壓縮包,數(shù)據(jù)恢復工程師發(fā)現(xiàn)有部分數(shù)據(jù)被破壞。嘗試使用RAR修復工具進行修復后解壓,結(jié)果解壓出來的數(shù)據(jù)只包含網(wǎng)站的部分代碼,并沒有在其中找到數(shù)據(jù)庫的備份文件。由此可以判斷數(shù)據(jù)庫備份文件在RAR壓縮包中是損壞的。
如下是解壓出來的部分網(wǎng)站代碼:
北亞數(shù)據(jù)恢復——Xen Server數(shù)據(jù)恢復
根據(jù)SQL Server數(shù)據(jù)庫的結(jié)構(gòu)在底層分析數(shù)據(jù)庫的開始位置,故障數(shù)據(jù)庫第9個頁會記錄本數(shù)據(jù)庫的數(shù)據(jù)庫名。通過在用戶獲取到的數(shù)據(jù)庫名稱在底層找到此數(shù)據(jù)庫的開始位置。因為故障數(shù)據(jù)庫的每個頁中都會記錄數(shù)據(jù)庫頁編號和文件號,根據(jù)這個特征北亞數(shù)據(jù)恢復工程師編寫程序在底層掃描符合數(shù)據(jù)庫頁的數(shù)據(jù),
然后將掃描出來的碎片按順序重組成一個完整MDF文件,再通過MDF校驗程序檢測MDF文件是否完整。重建的MDF文件如下:
北亞數(shù)據(jù)恢復——Xen Server數(shù)據(jù)恢復
6、搭建環(huán)境驗證數(shù)據(jù)。
檢測MDF文件沒有發(fā)現(xiàn)問題,由北亞數(shù)據(jù)庫工程師搭建數(shù)據(jù)庫環(huán)境,將重組的MDF文件附加到搭建好的數(shù)據(jù)庫環(huán)境中。查詢相關表的數(shù)據(jù)是否正常,最新數(shù)據(jù)是否存在。
北亞數(shù)據(jù)恢復——Xen Server數(shù)據(jù)恢復
驗證數(shù)據(jù):
數(shù)據(jù)庫需要結(jié)合網(wǎng)站代碼才能更好地驗證數(shù)據(jù)庫。由于網(wǎng)站源代碼大部分已經(jīng)破壞,備份的源代碼也只有部分可以用。用戶從網(wǎng)站開發(fā)服務商拿到網(wǎng)站代碼重新搭建環(huán)境,然后將恢復出來的數(shù)據(jù)庫在環(huán)境中配置好進行驗證。經(jīng)用戶反復驗證后確認數(shù)據(jù)庫沒有問題。
審核編輯:湯梓紅
-
服務器
+關注
關注
12文章
8979瀏覽量
85100 -
數(shù)據(jù)恢復
+關注
關注
10文章
541瀏覽量
17347
發(fā)布評論請先 登錄
相關推薦
評論