【伺服器資料恢復】意外斷電導致FreeNAS中UFS2檔案系統故障的資料恢復

北亞資料恢復發表於2022-05-07

伺服器資料恢復環境:


一臺伺服器使用FreeNAS做iSCSI,藉助兩臺伺服器做虛擬化系統;

FreeNAS採用UFS2檔案系統;

整個伺服器建一個檔案掛載給ESXi系統;

ESXi虛擬化系統有5臺虛擬機器:一臺虛擬機器部署了ASP.net和PHP,SqlServer2005和 mysql5.1兩個資料庫;另一臺安裝

FreeBSD系統,MySQL資料庫;第三臺虛擬機器儲存的是程式碼資料,這三臺虛擬機器上的資料是需要重點恢復的。


伺服器故障:


需要進行資料恢復的伺服器在正常執行過程中意外斷電,重啟後虛擬化系統無法連線伺服器,FreeNAS中UFS2檔案系統出現

問題。伺服器管理員對檔案系統進行了修復,但是ESXi系統不能識別原有資料和檔案系統,聯絡我資料恢復中心進行伺服器

資料恢復。


伺服器資料恢復過程:


此伺服器資料恢復案例的應用構架層次:FreeNAS(UFS2檔案系統–> 一個大的稀疏模式的檔案) –> ESXi(VMFS檔案系統層) 

-> 單臺虛擬機器的虛擬磁碟 (windows-NTFS檔案系統/FreeBSD-UFS2檔案系統)。


1、映象FreeNAS層並分析整個儲存,只發現一個900多GB的檔名為iscsidata的大檔案。通過UFS2檔案系統的二進位制結構

定位到iscsidata檔案的Inode資料發現此檔案被重建過,inode指標指向的資料量很少。FreeNAS層問題無法解決,就無法進

入到下一步的VMFS層分析。


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

塊大小:16KB

Segment大小:2KB

柱面組大小:188176 KB

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

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

但iscsidata檔案重建過,過程和大小都和原始的一樣,初步判斷有部分指標塊已被覆蓋。原始 iscsidata檔案的inode和新建

的iscsidata檔案的inode就在一個位置。


3、嘗試進行搜尋沒有發現其它有用的inode,資料恢復工程師只得現場寫程式收集有用的指標塊:



由於iscsidata檔案採用的是稀疏模式,收集條件只能放寬,收集到了大量三級指標塊和二級指標塊。


4、對收集到的所有三級指標塊進行分析,沒有發現iscsidata檔案使用的三級指標塊,初步判斷在新建iscsidata檔案時被新的

覆蓋(新的iscsidata檔案在掛載到ESXi後有個VMFS格式化過程,而ESXi使用GPT分割槽,GPT分割槽會在磁碟最後寫入冗餘的

GPT頭和分割槽表資訊資料,這樣就會使用iscsidata檔案的三級指標塊)。


現只能分析收集到的二級指標塊,對有大量的二級指標塊的指向資料進行DUMP,然後再從磁碟中的資料定位到二級指標。

這樣得到大量DUMP的資料。


5、分析VMFS層。重格式化過VMFS,原始UFS2的指標已丟失,VMFS元檔案基本上不可用,無重要的參考資訊,所幸虛擬

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

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

復出來的網頁資料和資料庫資料上傳到新構建的系統中,應用執行沒有發現問題。經過3天的努力,伺服器內的所有資料被

成功恢復。


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

相關文章