【伺服器資料恢復】ORACLE-SUN-ZFS檔案系統伺服器資料恢復案例

北亞資料恢復發表於2022-03-29

伺服器資料恢復環境:


ORACLE-SUN-ZFS儲存伺服器;

Windows作業系統;

zfs檔案系統;

4個組,每組8塊硬碟;

熱備盤全部啟用。



伺服器資料恢復故障:


伺服器正常執行時突發故障無法正常工作,伺服器管理員重啟伺服器無法進入系統,需要對伺服器內的資料進行資料恢復。


資料恢復工程師拿到伺服器後,和伺服器管理員溝通後,確定伺服器故障不是因為斷電、進水、異常操作或者其他外部

因素造成的。


伺服器資料恢復過程:


1、伺服器故障分析。


在ZFS檔案系統中,池被稱為ZPOOL。ZPOOL的子裝置可以有很多種類,包括塊裝置、檔案、磁碟等,故障伺服器中的ZFS

檔案系統採用的是三組RAIDZ作為子裝置。


經過分析發現,三組RAIDZ內有兩組啟用熱備盤,個數分別為1和3。在啟用熱備盤後,第一組內出現一塊離線盤,第二組內

出現兩塊離線盤。以此進行故障現場模擬:三組RAIDZ內第一二組分別出現離線盤,熱備盤及時進行替換;熱備盤無冗餘狀

態下第一組出現一塊離線盤,第二組出現兩塊離線盤,ZPOOL進入高負荷狀態(每次讀取資料都需要進行校驗得到正確資料)

;第二組內出現第三塊離線盤,RAIDZ崩潰、ZPOOL下線、伺服器崩潰。


2、重組ZPOOL,追蹤資料入口。


ZFS管理的儲存池與常規儲存不同,所有磁碟都由ZFS進行管理。常規RAID在儲存資料時,只按照特定的規則組建池,不關心

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

這種特性使得RAIDZ缺盤時無法直接進行校驗得到資料,必須將整個ZPOOL作為一個整體進行解析。


手工擷取事務塊資料,編寫程式獲取最大事務號入口:


獲取檔案系統入口


獲取到檔案系統入口後,北亞資料恢復工程師編寫資料指標解析程式進行地址解析:


解析資料指標


獲取到檔案系統入口點在各磁碟分佈情況後,資料恢復工程師手工擷取並分析檔案系統內部結構。由於入口分佈所在的

磁碟組無缺失盤,可直接提取資訊。根據ZFS檔案系統的資料儲存結構順利找到原伺服器對映的LUN名稱,進而找到其節點。


3、編寫資料提取程式並執行。


經過仔細分析,資料恢復工程師發現故障伺服器中的ZFS版本與開源版本有較大差別,無法使用資料恢復中心以前開

發的解析程式進行解析,所以重新編寫了資料提取程式。



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

XenServer作為儲存裝置,所需恢復的檔案在其中一個大小約為2T的vhd內。資料恢復工程師提取ZVOL卷頭部資訊,按

照XenStore卷儲存結構進行分析,發現2T vhd在整個卷的尾部,計算得到其起始位置後從此位置開始提取資料。


4、驗證恢復資料。


Vhd提取完畢後,資料恢復工程師對其內部的壓縮包及圖片、視訊等檔案進行驗證,檔案都可以正常開啟使用。

聯絡伺服器管理員驗證資料,確定檔案數量與系統自動記錄的檔案個數一致,檔案都可正常開啟,伺服器資料恢復成功。



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

相關文章