服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境:
一臺(tái)服務(wù)器,虛擬化系統(tǒng)為esxi,上層使用iSCSI的方式實(shí)現(xiàn)FC SAN功能,iSCSI通過FreeNAS構(gòu)建。
FreeNAS采用了UFS2文件系統(tǒng),esxi虛擬化系統(tǒng)里有3臺(tái)虛擬機(jī):其中一臺(tái)虛擬機(jī)安裝FreeBSD系統(tǒng),存放數(shù)據(jù)庫(kù)文件;一臺(tái)虛擬機(jī)存放網(wǎng)站數(shù)據(jù);一臺(tái)虛擬機(jī)安裝Windows server系統(tǒng),存放數(shù)據(jù)庫(kù)數(shù)據(jù)和程序代碼。
服務(wù)器故障:
機(jī)房供電不穩(wěn),服務(wù)器非正常關(guān)機(jī),重啟服務(wù)器后發(fā)現(xiàn)ESXI虛擬化系統(tǒng)無(wú)法連接存儲(chǔ)。工作人員對(duì)服務(wù)器進(jìn)行故障排查,發(fā)現(xiàn)UFS2文件系統(tǒng)出現(xiàn)故障,于是fsck修復(fù)UFS2文件系統(tǒng)并將ESXI虛擬化系統(tǒng)連接到存儲(chǔ)上。
檢查文件系統(tǒng)及數(shù)據(jù),發(fā)現(xiàn)原服務(wù)器上的文件系統(tǒng)和數(shù)據(jù)都無(wú)法識(shí)別。工作人員又將vmfs進(jìn)行了格式化操作,導(dǎo)致數(shù)據(jù)丟失。
服務(wù)器數(shù)據(jù)恢復(fù)過程:
1、將服務(wù)器所有硬盤編號(hào)后取出,經(jīng)過硬件工程師檢測(cè),沒有發(fā)現(xiàn)有硬盤存在物理故障。將所有磁盤以只讀方式進(jìn)行扇區(qū)級(jí)全盤鏡像,鏡像完成后按照編號(hào)將所有磁盤還原到原服務(wù)器中。后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免對(duì)原始磁盤數(shù)據(jù)造成二次破壞。
2、基于鏡像文件分析底層數(shù)據(jù)。經(jīng)過分析,北亞企安數(shù)據(jù)恢復(fù)工程師發(fā)現(xiàn)了一個(gè)被命名為iscsidata的大小為幾百GB的大文件。根據(jù)UFS2文件系統(tǒng)的存儲(chǔ)結(jié)構(gòu)定位到這個(gè)大文件的iNode數(shù)據(jù)。
3、查看iNode數(shù)據(jù)發(fā)現(xiàn)iscsidata文件被重建過,iNode指針指向的數(shù)據(jù)量非常少。這種情況下要進(jìn)入vmfs文件系統(tǒng)層去恢復(fù)數(shù)據(jù)就需要先分析出FreeNAS層的必要信息和數(shù)據(jù)。
4、通過分析得到如下信息:
UFS2文件系統(tǒng)塊大小為16kb,segment大小為2kb,柱面組大小為188176kb,數(shù)據(jù)指針大小為8字節(jié),每個(gè)塊可容納數(shù)據(jù)指針數(shù)量為2048個(gè)。
通過上面信息計(jì)算:一個(gè)二級(jí)指針塊可存儲(chǔ)的數(shù)據(jù)量=2048*2048*16KB=64GB。三級(jí)指針塊可存儲(chǔ)的數(shù)據(jù)量=64GB*2048=128TB。
5、嘗試通過iscsidata文件的三級(jí)指針塊來(lái)恢復(fù)FreeNAS層的數(shù)據(jù)。由于iscsidata文件曾經(jīng)被重建過,部分指針被重建的數(shù)據(jù)所覆蓋,原文件的iNode和重建后的文件的iNode所在的位置完全一致,沒有其他可用于恢復(fù)數(shù)據(jù)的iNode數(shù)據(jù)。
6、北亞企安數(shù)據(jù)恢復(fù)工程師根據(jù)服務(wù)器的實(shí)際數(shù)據(jù)情況編寫小程序收集有用的指針塊,通過小程序收集到了大量二級(jí)指針塊和三級(jí)指針塊。
7、分析三級(jí)指針塊后發(fā)現(xiàn)這些指針塊都是無(wú)效的,應(yīng)該是重建iscsidata文件時(shí)被覆蓋了。新的iscsidata文件在掛載到ESXi后有個(gè)VMFS格式化過程,本案例中的ESXi使用GPT分區(qū),GPT分區(qū)會(huì)在磁盤最后寫入冗余的GPT頭和分區(qū)表信息數(shù)據(jù),這個(gè)過程會(huì)使用iscsidata文件的三級(jí)指針塊。
8、分析二級(jí)指針塊,對(duì)有大量二級(jí)指針塊的指向數(shù)據(jù)進(jìn)行DUMP,然后再?gòu)拇疟P中的數(shù)據(jù)定位到二級(jí)指針。通過這種方式獲取到大量DUMP的數(shù)據(jù)。
9、根據(jù)NTFS和UFS2文件系統(tǒng)結(jié)構(gòu)定位到vmfs層,繼而定位到DUMP出的單個(gè)64GB文件&組合數(shù)據(jù)。
10、經(jīng)過復(fù)雜的查詢和重組操作,最終恢復(fù)出3臺(tái)虛擬機(jī)及虛擬機(jī)內(nèi)的全部數(shù)據(jù)。
11、將恢復(fù)出來(lái)的數(shù)據(jù)上傳到準(zhǔn)備好的環(huán)境中進(jìn)行驗(yàn)證,經(jīng)過用戶方的仔細(xì)驗(yàn)證,確認(rèn)所有恢復(fù)數(shù)據(jù)完整有效。本次服務(wù)器數(shù)據(jù)恢復(fù)工作完成。
審核編輯 黃宇
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85324 -
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
568瀏覽量
17432
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論