虛擬機(jī)維修 虛擬服務(wù)器恢復(fù)

2022-07-23 17:15:30 39

虛擬化集成建議 虛擬機(jī)恢復(fù) 虛擬機(jī)維修 虛擬機(jī)數(shù)據(jù)恢復(fù) 虛擬機(jī)系統(tǒng)安裝 虛擬機(jī)維護(hù)

FreeNAS+ESXi5數(shù)據(jù)恢復(fù)+虛擬化數(shù)據(jù)恢復(fù)成功案例


一家公司使用一種廉價(jià)的存儲(chǔ)模式,用iSCSI方式來達(dá)到FC SAN的功能。物理存儲(chǔ)構(gòu)架在一臺(tái) DELL 服務(wù)器上,使用 FreeNAS 來做 iSCSI,然后使用兩臺(tái) DELL 服務(wù)器做 ESXi5.0 的的虛擬化系統(tǒng)。

FreeNAS 層為UFS2文件系統(tǒng),整個(gè)存儲(chǔ)建一個(gè)稀疏模式的文件,掛給ESXi5.0 系統(tǒng)。ESXi系統(tǒng)內(nèi)跑有5臺(tái)虛擬機(jī),其中有三臺(tái)最為重要。一臺(tái)windows2003系統(tǒng)虛擬機(jī)是此公司在當(dāng)?shù)氐拈T戶網(wǎng)站。使用 ASP.net和 PHP 混合構(gòu)架,使用數(shù)據(jù)庫(kù)為 SqlServer2005和 mysql 5.1 。一臺(tái)為FreeBSD 系統(tǒng),跑有 Mysql數(shù)據(jù)庫(kù),供其它多臺(tái)虛擬機(jī)使用。一臺(tái)為windows2003服務(wù)器,存儲(chǔ)此公司新開發(fā)的程序代碼。


故障現(xiàn)象:

在一次存儲(chǔ)突然斷電之后,ESXi系統(tǒng)連不上存儲(chǔ),管理員在FreeNAS中發(fā)現(xiàn)UFS2文件系統(tǒng)出現(xiàn)問題,隨后管理員用fsck 修復(fù)好了文件系統(tǒng)。 此時(shí)ESXi 系統(tǒng)可以連上存儲(chǔ),但發(fā)現(xiàn)ESXi系統(tǒng)未能識(shí)別到原來的數(shù)據(jù)存儲(chǔ)和VMFS文件系統(tǒng),管理員格式化VMFS后發(fā)現(xiàn)里面空無(wú)一物。


數(shù)據(jù)恢復(fù):

分析故障,最大化利用可用信息。開始抽絲剝繭:

應(yīng)用構(gòu)架層次:FreeNAS(UFS2文件系統(tǒng)–> 一個(gè)大的稀疏模式的文件) –> ESXi 5.0(VMFS文件系統(tǒng)層) -> 單臺(tái)虛擬機(jī)的虛擬磁盤 (windows-NTFS文件系統(tǒng)/FreeBSD-UFS2文件系統(tǒng))。

第一步是鏡像 FreeNAS 層,然后分析整個(gè)存儲(chǔ),發(fā)現(xiàn)就一個(gè)900多GB的大文件,文件名: iscsidata。通過UFS2文件系統(tǒng)的二進(jìn)制結(jié)構(gòu),定位到 iscsidata 文件的Inode數(shù)據(jù),發(fā)現(xiàn)此文件被重建過,inode指針指向的數(shù)據(jù)量很少。FreeNAS層無(wú)法解決,就無(wú)法進(jìn)入到下一步的 VMFS層分析。

收集UFS2文件系統(tǒng)的重要結(jié)構(gòu):

塊大?。?6KB

Segment 大小:2KB

柱面組大?。?88176 KB

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層問題。但iscsidata文件重建過,過程和大小都和原始的一樣,估計(jì)有部分指針塊已被覆蓋。原始 iscsidata 文件的 inode和新建的 iscsidata 文件的 inode 就在一個(gè)位置,嘗試進(jìn)行搜索,無(wú)其它有用的inode出現(xiàn)。只得現(xiàn)場(chǎng)寫程序收集有用的指針塊:

圖片關(guān)鍵詞

由于iscsidata文件是使用稀疏模式,收集條件只能放寬,收集到了大量三級(jí)指針塊和二級(jí)指針塊。對(duì)收集到的所有三級(jí)指針塊進(jìn)行分析,都是無(wú)效的,無(wú)iscsidata文件使用的三級(jí)指針塊,估計(jì)在新建iscsidata文件時(shí)被新的覆蓋(新的iscsidata文件在掛載到ESXi5.0后有個(gè)VMFS格式化過程,而 ESXi5.0 使用GPT分區(qū),GPT分區(qū)會(huì)在磁盤最后寫入冗余的GPT頭和分區(qū)表信息數(shù)據(jù),這樣會(huì)使用iscsidata文件的三級(jí)指針塊)。

現(xiàn)只能分析收集到的二級(jí)指針塊,對(duì)有大量的二級(jí)指針塊的指向數(shù)據(jù)進(jìn)行DUMP,然后再?gòu)拇疟P中的數(shù)據(jù)定位到二級(jí)指針。這樣得到大量DUMP的數(shù)據(jù)。

開始分析 VMFS 層:

重格式化過VMFS,和原始UFS2的指針已丟失,造成VMFS元文件已基本上不可用,無(wú)重要的參考信息,所幸虛擬機(jī)都無(wú)快照,仍可恢復(fù)。通過單臺(tái)虛擬機(jī)層(windows(NTFS)和 FreeBSD(UFS2)系統(tǒng)的文件系統(tǒng)結(jié)構(gòu)),向上定位到VMFS層,在通過VMFS層定位到DUMP出的單個(gè)64GB 文件,通過多次組合,最終這三臺(tái)重要的虛擬機(jī)的虛擬磁盤都已完全恢復(fù)。將恢復(fù)出的網(wǎng)頁(yè)數(shù)據(jù)和數(shù)據(jù)庫(kù)數(shù)據(jù)上傳到一新構(gòu)建的系統(tǒng)中,拉起應(yīng)用,數(shù)據(jù)完全無(wú)問題。

圖片關(guān)鍵詞

恢復(fù)結(jié)果:

最終數(shù)據(jù)恢復(fù)成功。



導(dǎo)航