【虛擬機器資料恢復】FreeNAS+ESXi資料恢復案例

北亞資料恢復發表於2022-06-06

虛擬機器資料恢復環境:

架構在一臺DELL伺服器上的儲存使用FreeNAS來做iSCSI;

另外兩臺DELL伺服器做ESXi虛擬化系統(共5臺虛擬機器);

FreeNAS是UFS2檔案系統,整個儲存建一個稀疏模式的檔案,掛載到ESXi系統。

ESXi虛擬化系統中最重要的3臺虛擬機器基本情況:

一臺windows server系統,內部資料為該公司的入口網站,ASP.net+PHP混合構架,資料庫:SqlServer+mysql。

一臺為FreeBSD系統,儲存Mysql資料庫,供其它多臺虛擬機器使用。

一臺為windows server系統,儲存此公司新開發的程式程式碼。


虛擬機器故障情況:

一次意外斷電後,ESXi系統連線不上儲存。經過檢查後發現FreeNAS中的UFS2檔案系統出現問題。管理員用fsck修復檔案系

統。修復完成後ESXi系統可以連上儲存,但ESXi系統不能識別到原來的資料儲存和VMFS檔案系統。管理員聯絡我們資料恢復

中心進行資料恢復。


虛擬機器資料恢復過程

本案例的應用構架層次:FreeNAS(UFS2檔案系統–> 一個稀疏模式的檔案) –> ESXi(VMFS檔案系統層) -> 單臺虛擬機器的虛擬

磁碟 (windows-NTFS檔案系統/FreeBSD-UFS2檔案系統)。

1、映象FreeNAS層。整個儲存的檔案就是一個名稱為iscsidata的900+GB的檔案。

2、透過UFS2檔案系統的二進位制結構,定位到iscsidata檔案的Inode資料,資料恢復工程師發現此檔案被重建過,inode指標

指向的資料量很少。FreeNAS層的問題無法解決,就無法進入到下一步的VMFS層分析。

收集UFS2檔案系統的重要結構:

塊大小:16KB

Segment大小:2KB

柱面組大小:188176KB

UFS2一個資料指標佔8位元組,一個塊可儲存2048個資料指標,一個二級指標塊可儲存:2048*2048*16KB= 64GB資料,一

個三級指標塊可儲存64GB*2048= 128TB資料。如果能找到iscsidata檔案的三級指標塊就能解決FreeNAS層的問題。

iscsidata檔案重建過,推斷有部分指標塊已被覆蓋。原始iscsidata檔案的inode和新建iscsidata檔案的 inode就在一個位置

,資料恢復工程師嘗試搜尋沒有發現其它有用的inode,只能編寫程式收集有用的指標塊:



3、由於iscsidata檔案是使用稀疏模式,放寬程式的收集條件,收集到大量三級指標塊和二級指標塊。

4、對所有收集到的三級指標塊進行分析,資料恢復工程師發現這些指標塊都是無效的,沒有發現iscsidata檔案使用的三級

指標塊。資料恢復工程師推斷出現這種情況是因為在新建iscsidata檔案時被覆蓋(新的iscsidata檔案在掛載到ESXi後有個

VMFS格式化過程,而本案例中的ESXi版本 使用的是GPT分割槽,GPT分割槽會在磁碟最後寫入冗餘的GPT頭和分割槽表資訊資料,

這樣會使用iscsidata檔案的三級指標塊)。

5、資料恢復工程師分析收集到的二級指標塊,對有大量的二級指標塊的指向資料進行DUMP,然後再從磁碟中的資料定位

到二級指標。透過這種方式獲得大量DUMP的資料。

6、分析VMFS層。因為管理員格式化過VMFS,原始UFS2的指標已丟失,VMFS元檔案基本上不可用,無重要參考資訊。

所幸虛擬機器都有快照,仍可恢復。透過單臺虛擬機器層(windows(NTFS)和 FreeBSD(UFS2)系統的檔案系統結構)向上定位到

VMFS層,再透過VMFS層定位到DUMP出的單個64GB 檔案。透過多次組合,最終將這三臺重要的虛擬機器的虛擬磁碟資料

完全恢復出來。

7、將恢復出來的網頁資料和資料庫資料上傳到新構建的系統中,拉起應用,沒有發現任何問題。歷時4天,資料恢復完成。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2898857/,如需轉載,請註明出處,否則將追究法律責任。

相關文章