【北亞伺服器資料恢復】RAIDZ多塊磁碟離線導致伺服器崩潰的資料恢復案例

北亞資料恢復發表於2023-12-28

伺服器資料恢復環境:

伺服器中有32塊硬碟,組建了3組RAIDZ,部分磁碟作為熱備盤。zfs檔案系統。


伺服器故障:

伺服器執行中突然崩潰,排除斷電、進水、異常操作等外部因素。工作人員將伺服器重啟後發現無法進入作業系統。

將故障伺服器中所有硬碟編號後取出,經過硬體工程師檢測沒有發現有硬碟存在硬體故障。將所有磁碟以只讀方式進行扇區級映象,映象完成後將所有磁碟按照編號還原到故障伺服器。基於映象檔案分析底層資料,發現熱備盤全部啟用。

ZFS檔案系統中,池被稱為ZPOOL。ZPOOL的子裝置包括:塊裝置、檔案、磁碟等等,本案例中將3組RAIDZ作為子裝置。

經過分析發現,三組RAIDZ中的兩組RAIDZ分別啟用熱備盤個數為1和3。在啟用熱備盤後,一組RAIDZ仍出現一塊離線盤,另外一組RAIDZ內則出現兩塊。

故障現場模擬:三組RAIDZ中的兩組RAIDZ出現離線盤,熱備盤及時上線進行替換;熱備盤無冗餘狀態下一組RAIDZ又出現一塊離線盤,另外一組RAIDZ則又出現兩塊離線盤,ZPOOL進入高負荷狀態(每次讀取資料都需要進行校驗獲取正確資料);當另外一組RAIDZ出現第三塊離線盤時,RAIDZ崩潰、ZPOOL下線、伺服器崩潰。

ZFS管理的儲存池與常規儲存不同,所有磁碟都由ZFS進行管理。常規RAID儲存資料時按照特定的規則組建池,不關心檔案在子裝置上的位置。ZFS在儲存資料時會為每次寫入的資料分配適當大小的空間,並計算出指向子裝置的資料指標。ZFS的這個特性使得RAIDZ缺盤時無法直接透過校驗獲取資料,必須將整個ZPOOL作為一個整體進行解析。


伺服器資料恢復過程:

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

獲取檔案系統入口:

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

解析資料指標:

3、獲取到檔案系統入口點在各磁碟上的分佈情況後,北亞企安資料恢復工程師手工擷取&分析檔案系統內部結構。檔案系統入口點所在的磁碟組無缺失盤,可直接提取資訊。

4、根據ZFS檔案系統的資料儲存結構找到對映的LUN名稱,從而找到其節點。

5、根據ZFS版本編寫資料提取程式提取資料。

由於磁碟組內缺盤個數較多,每個IO流都需要透過校驗得到,提取速度緩慢。與使用者方溝通後得知ZVOL卷對映到XenServer作為儲存裝置,需要恢復的檔案在一個vhd內。

6、提取ZVOL卷頭部資訊,按照XenStore卷儲存結構進行分析,發現該vhd在整個卷的尾部,計算出其起始位置並從此位置開始提取資料。

7、Vhd提取完成後,驗證其內部的壓縮包、圖片、影片等檔案,均可正常開啟。

8、聯絡使用者方驗證資料,驗證後確認檔案數量與系統自動記錄的檔案個數完全一致,檔案可正常開啟。本次伺服器資料恢復工作完成。


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

相關文章