【虛擬機(jī)數(shù)據(jù)恢復(fù)】FreeNAS+ESXi數(shù)據(jù)恢復(fù)案例
時(shí)間:2023-06-26 02:51:02 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-06-26 02:51:02 來(lái)源:網(wǎng)站運(yùn)營(yíng)
【虛擬機(jī)數(shù)據(jù)恢復(fù)】FreeNAS+ESXi數(shù)據(jù)恢復(fù)案例:
虛擬機(jī)數(shù)據(jù)恢復(fù)環(huán)境:架構(gòu)在一臺(tái)DELL服務(wù)器上的存儲(chǔ)使用FreeNAS來(lái)做iSCSI;
另外兩臺(tái)DELL服務(wù)器做ESXi虛擬化系統(tǒng)(共5臺(tái)虛擬機(jī));
FreeNAS是UFS2文件系統(tǒng),整個(gè)存儲(chǔ)建一個(gè)稀疏模式的文件,掛載到ESXi系統(tǒng)。
ESXi虛擬化系統(tǒng)中最重要的3臺(tái)虛擬機(jī)基本情況:
一臺(tái)windows server系統(tǒng),內(nèi)部數(shù)據(jù)為該公司的門戶網(wǎng)站,ASP.net+PHP混合構(gòu)架,數(shù)據(jù)庫(kù):SqlServer+mysql。
一臺(tái)為FreeBSD系統(tǒng),存儲(chǔ)Mysql數(shù)據(jù)庫(kù),供其它多臺(tái)虛擬機(jī)使用。
一臺(tái)為windows server系統(tǒng),存儲(chǔ)此公司新開(kāi)發(fā)的程序代碼。
虛擬機(jī)故障情況:一次意外斷電后,ESXi系統(tǒng)連接不上存儲(chǔ)。經(jīng)過(guò)檢查后發(fā)現(xiàn)FreeNAS中的UFS2文件系統(tǒng)出現(xiàn)問(wèn)題。管理員用fsck修復(fù)文件系統(tǒng)。修復(fù)完成后ESXi系統(tǒng)可以連上存儲(chǔ),但ESXi系統(tǒng)不能識(shí)別到原來(lái)的數(shù)據(jù)存儲(chǔ)和VMFS文件系統(tǒng)。管理員聯(lián)系我們數(shù)據(jù)恢復(fù)中心進(jìn)行數(shù)據(jù)恢復(fù)。
虛擬機(jī)數(shù)據(jù)恢復(fù)過(guò)程:本案例的應(yīng)用構(gòu)架層次:FreeNAS(UFS2文件系統(tǒng)–> 一個(gè)稀疏模式的文件) –> ESXi(VMFS文件系統(tǒng)層) -> 單臺(tái)虛擬機(jī)的虛擬磁盤 (windows-NTFS文件系統(tǒng)/FreeBSD-UFS2文件系統(tǒng))。
1、鏡像FreeNAS層。整個(gè)存儲(chǔ)的文件就是一個(gè)名稱為iscsidata的900+GB的文件。
2、通過(guò)UFS2文件系統(tǒng)的二進(jìn)制結(jié)構(gòu),定位到iscsidata文件的Inode數(shù)據(jù),數(shù)據(jù)恢復(fù)工程師發(fā)現(xiàn)此文件被重建過(guò),inode指針指向的數(shù)據(jù)量很少。FreeNAS層的問(wèn)題無(wú)法解決,就無(wú)法進(jìn)入到下一步的VMFS層分析。
收集UFS2文件系統(tǒng)的重要結(jié)構(gòu):
塊大?。?6KB
Segment大小:2KB
柱面組大?。?88176KB
UFS2一個(gè)數(shù)據(jù)指針占8字節(jié),一個(gè)塊可存儲(chǔ)2048個(gè)數(shù)據(jù)指針,一個(gè)二級(jí)指針塊可存儲(chǔ):2048*2048*16KB= 64GB數(shù)據(jù),一個(gè)三級(jí)指針塊可存儲(chǔ)64GB*2048= 128TB數(shù)據(jù)。如果能找到iscsidata文件的三級(jí)指針塊就能解決FreeNAS層的問(wèn)題。iscsidata文件重建過(guò),推斷有部分指針塊已被覆蓋。原始iscsidata文件的inode和新建iscsidata文件的 inode就在一個(gè)位置,數(shù)據(jù)恢復(fù)工程師嘗試搜索沒(méi)有發(fā)現(xiàn)其它有用的inode,只能編寫程序收集有用的指針塊:
北亞數(shù)據(jù)恢復(fù)——ESXi數(shù)據(jù)恢復(fù)3、由于iscsidata文件是使用稀疏模式,放寬程序的收集條件,收集到大量三級(jí)指針塊和二級(jí)指針塊。
4、對(duì)所有收集到的三級(jí)指針塊進(jìn)行分析,數(shù)據(jù)恢復(fù)工程師發(fā)現(xiàn)這些指針塊都是無(wú)效的,沒(méi)有發(fā)現(xiàn)iscsidata文件使用的三級(jí)指針塊。數(shù)據(jù)恢復(fù)工程師推斷出現(xiàn)這種情況是因?yàn)樵谛陆╥scsidata文件時(shí)被覆蓋(新的iscsidata文件在掛載到ESXi后有個(gè)VMFS格式化過(guò)程,而本案例中的ESXi版本 使用的是GPT分區(qū),GPT分區(qū)會(huì)在磁盤最后寫入冗余的GPT頭和分區(qū)表信息數(shù)據(jù),這樣會(huì)使用iscsidata文件的三級(jí)指針塊)。
5、數(shù)據(jù)恢復(fù)工程師分析收集到的二級(jí)指針塊,對(duì)有大量的二級(jí)指針塊的指向數(shù)據(jù)進(jìn)行DUMP,然后再?gòu)拇疟P中的數(shù)據(jù)定位到二級(jí)指針。通過(guò)這種方式獲得大量DUMP的數(shù)據(jù)。
6、分析VMFS層。因?yàn)楣芾韱T格式化過(guò)VMFS,原始UFS2的指針已丟失,VMFS元文件基本上不可用,無(wú)重要參考信息。所幸虛擬機(jī)都有快照,仍可恢復(fù)。通過(guò)單臺(tái)虛擬機(jī)層(windows(NTFS)和 FreeBSD(UFS2)系統(tǒng)的文件系統(tǒng)結(jié)構(gòu))向上定位到VMFS層,再通過(guò)VMFS層定位到DUMP出的單個(gè)64GB 文件。通過(guò)多次組合,最終將這三臺(tái)重要的虛擬機(jī)的虛擬磁盤數(shù)據(jù)完全恢復(fù)出來(lái)。
7、將恢復(fù)出來(lái)的網(wǎng)頁(yè)數(shù)據(jù)和數(shù)據(jù)庫(kù)數(shù)據(jù)上傳到新構(gòu)建的系統(tǒng)中,拉起應(yīng)用,沒(méi)有發(fā)現(xiàn)任何問(wèn)題。歷時(shí)4天,數(shù)據(jù)恢復(fù)完成。
北亞數(shù)據(jù)恢復(fù)——ESXi數(shù)據(jù)恢復(fù)
關(guān)鍵詞:數(shù)據(jù),恢復(fù),虛擬