【伺服器資料恢復】ZFS檔案系統下伺服器資料恢復案例

北亞資料恢復發表於2023-01-30

伺服器資料恢復環境:

ORACLE Sun ZFS Storage;

32塊磁碟分為4組,每組8塊硬碟,熱備盤全部啟用。

ZFS檔案系統,Windows作業系統。


伺服器故障&分析:

裝置在正常工作時候突然崩潰,經過檢查排除了斷電、進水、異常操作、供電不穩定等因素。使用者重啟裝置無法進入系統。

ZFS檔案系統中,池被稱為ZPOOL。ZPOOL的子裝置有很多種,其中包括塊裝置、檔案、磁碟等,在本案例中ZPOOL的子

裝置是三組RAIDZ。

經過北亞企安工程師的分析發現,三組RAIDZ中的兩組分別啟用了1個熱備盤和3個熱備盤。在熱備盤啟用後,第一組RAIDZ

內又出現一塊離線盤,第二組RAIDZ內則又出現兩塊離線盤。故障場景還原:三組RAIDZ內第一組和二組出現離線盤,熱備

盤及時啟動替換離線盤;熱備盤無冗餘狀態下第一組RAIDZ又出現一塊離線盤,第二組RAIDZ則又出現兩塊離線盤,ZPOOL

進入了高負荷狀態(每次讀取資料都需要進行校驗才能得到正確資料);第二組RAIDZ內出現第三塊離線盤,RAIDZ崩潰、

ZPOOL下線、裝置崩潰。


伺服器資料恢復過程:

1、重組ZPOOL,追蹤資料入口

ZFS檔案系統管理的儲存池與常規儲存不同,是由ZFS管理所有磁碟。常規RAID在儲存資料時按照特定的規則組建池,不關

心檔案在子裝置上的位置。而ZFS檔案系統在儲存資料時會為每次寫入的資料分配適當大小的空間,並透過計算獲取到指向

子裝置的資料指標。這種特性導致RAIDZ缺盤時無法直接透過校驗得到資料,必須將整個ZPOOL作為一個整體進行解析。


2、手工擷取事務塊資料,北亞企安資料恢復工程師編寫程式獲取最大事務號入口。


獲取檔案系統入口:


3、獲取到ZFS檔案系統入口後,北亞企安資料恢復工程師編寫資料指標解析程式解析地址。


解析資料指標:


4、獲取到ZFS檔案系統入口點在各磁碟的分佈情況後,北亞企安資料恢復工程師手工擷取並分析檔案系統內部結構,入口分

布所在的磁碟組無缺失盤,可直接提取資訊。根據ZFS檔案系統的儲存結構找出對映的LUN名稱,進而找到其節點。


5、提取資料。北亞企安資料恢復工程師編寫資料提取程式提取資料。



由於磁碟組內缺盤個數較多,每個IO流都需要透過校驗得到,提取進度極為緩慢。與使用者溝通後得知,ZVOL卷對映到

XenServer作為儲存裝置,使用者所需的檔案在一個vhd內。提取ZVOL卷頭部資訊,按照XenStore卷儲存結構進行分析後發現

這個vhd在ZVOL卷的尾部,透過計算得知該vhd的起始位置,從此位置開始提取資料。


6、完成資料提取後,驗證Vhd內部的壓縮包及圖片、影片等檔案,發現均可正常開啟。讓使用者親自對資料進行驗證,確定

檔案數量與系統自動記錄的檔案數量一致,全部檔案可正常開啟,伺服器資料恢復完成。


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

相關文章