虛擬機維修 虛擬服務器恢復
虛擬化集成建議 虛擬機恢復 虛擬機維修 虛擬機數(shù)據(jù)恢復 虛擬機系統(tǒng)安裝 虛擬機維護
FreeNAS+ESXi5數(shù)據(jù)恢復+虛擬化數(shù)據(jù)恢復成功案例
一家公司使用一種廉價的存儲模式,用iSCSI方式來達到FC SAN的功能。物理存儲構架在一臺 DELL 服務器上,使用 FreeNAS 來做 iSCSI,然后使用兩臺 DELL 服務器做 ESXi5.0 的的虛擬化系統(tǒng)。
FreeNAS 層為UFS2文件系統(tǒng),整個存儲建一個稀疏模式的文件,掛給ESXi5.0 系統(tǒng)。ESXi系統(tǒng)內(nèi)跑有5臺虛擬機,其中有三臺最為重要。一臺windows2003系統(tǒng)虛擬機是此公司在當?shù)氐拈T戶網(wǎng)站。使用 ASP.net和 PHP 混合構架,使用數(shù)據(jù)庫為 SqlServer2005和 mysql 5.1 。一臺為FreeBSD 系統(tǒng),跑有 Mysql數(shù)據(jù)庫,供其它多臺虛擬機使用。一臺為windows2003服務器,存儲此公司新開發(fā)的程序代碼。
故障現(xiàn)象:
在一次存儲突然斷電之后,ESXi系統(tǒng)連不上存儲,管理員在FreeNAS中發(fā)現(xiàn)UFS2文件系統(tǒng)出現(xiàn)問題,隨后管理員用fsck 修復好了文件系統(tǒng)。 此時ESXi 系統(tǒng)可以連上存儲,但發(fā)現(xiàn)ESXi系統(tǒng)未能識別到原來的數(shù)據(jù)存儲和VMFS文件系統(tǒng),管理員格式化VMFS后發(fā)現(xiàn)里面空無一物。
數(shù)據(jù)恢復:
分析故障,最大化利用可用信息。開始抽絲剝繭:
應用構架層次:FreeNAS(UFS2文件系統(tǒng)–> 一個大的稀疏模式的文件) –> ESXi 5.0(VMFS文件系統(tǒng)層) -> 單臺虛擬機的虛擬磁盤 (windows-NTFS文件系統(tǒng)/FreeBSD-UFS2文件系統(tǒng))。
第一步是鏡像 FreeNAS 層,然后分析整個存儲,發(fā)現(xiàn)就一個900多GB的大文件,文件名: iscsidata。通過UFS2文件系統(tǒng)的二進制結構,定位到 iscsidata 文件的Inode數(shù)據(jù),發(fā)現(xiàn)此文件被重建過,inode指針指向的數(shù)據(jù)量很少。FreeNAS層無法解決,就無法進入到下一步的 VMFS層分析。
收集UFS2文件系統(tǒng)的重要結構:
塊大?。?6KB
Segment 大?。?KB
柱面組大小:188176 KB
UFS2一個數(shù)據(jù)指針占 8字節(jié),一個塊可存儲 2048個數(shù)據(jù)指針。那么一個二級指針塊則可存儲:2048*2048*16KB= 64GB 數(shù)據(jù)。一個三級指針塊則可存儲 64GB*2048= 128TB 數(shù)據(jù)。如果能找到 iscsidata 文件的三級指針塊就能解決 FreeNAS層問題。但iscsidata文件重建過,過程和大小都和原始的一樣,估計有部分指針塊已被覆蓋。原始 iscsidata 文件的 inode和新建的 iscsidata 文件的 inode 就在一個位置,嘗試進行搜索,無其它有用的inode出現(xiàn)。只得現(xiàn)場寫程序收集有用的指針塊:
由于iscsidata文件是使用稀疏模式,收集條件只能放寬,收集到了大量三級指針塊和二級指針塊。對收集到的所有三級指針塊進行分析,都是無效的,無iscsidata文件使用的三級指針塊,估計在新建iscsidata文件時被新的覆蓋(新的iscsidata文件在掛載到ESXi5.0后有個VMFS格式化過程,而 ESXi5.0 使用GPT分區(qū),GPT分區(qū)會在磁盤最后寫入冗余的GPT頭和分區(qū)表信息數(shù)據(jù),這樣會使用iscsidata文件的三級指針塊)。
現(xiàn)只能分析收集到的二級指針塊,對有大量的二級指針塊的指向數(shù)據(jù)進行DUMP,然后再從磁盤中的數(shù)據(jù)定位到二級指針。這樣得到大量DUMP的數(shù)據(jù)。
開始分析 VMFS 層:
重格式化過VMFS,和原始UFS2的指針已丟失,造成VMFS元文件已基本上不可用,無重要的參考信息,所幸虛擬機都無快照,仍可恢復。通過單臺虛擬機層(windows(NTFS)和 FreeBSD(UFS2)系統(tǒng)的文件系統(tǒng)結構),向上定位到VMFS層,在通過VMFS層定位到DUMP出的單個64GB 文件,通過多次組合,最終這三臺重要的虛擬機的虛擬磁盤都已完全恢復。將恢復出的網(wǎng)頁數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)上傳到一新構建的系統(tǒng)中,拉起應用,數(shù)據(jù)完全無問題。
恢復結果:
最終數(shù)據(jù)恢復成功。