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