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