作者:admin 日期:2023-10-10 瀏覽: 次
「北亞服務器數據恢復」ORACLE
服務器數據恢復環境:
ORACLE-SUN-ZFS存儲服務器;
Windows操作系統;
zfs文件系統;
4個組,每組8塊硬盤;
熱備盤全部啟用。
北亞數據恢復——ZFS文件系統數據恢復
服務器數據恢復故障:
服務器正常運行時突發故障無法正常工作,服務器管理員重啟服務器無法進入系統,聯系北亞數據恢復中心對服務器內的數據進行數據恢復。
北亞數據恢復工程師拿到服務器后,和服務器管理員溝通后,確定服務器故障不是因為斷電、進水、異常操作或者其他外部因素造成的。
服務器數據恢復過程:
1、服務器故障分析。
在ZFS文件系統中,池被稱為ZPOOL。ZPOOL的子設備可以有很多種類,包括塊設備、文件、磁盤等,故障服務器中的ZFS文件系統采用的是三組RAIDZ作為子設備。
經過分析發現,三組RAIDZ內有兩組啟用熱備盤,個數分別為1和3。在啟用熱備盤后,第一組內出現一塊離線盤,第二組內出現兩塊離線盤。以此進行故障現場模擬:三組RAIDZ內第一二組分別出現離線盤,熱備盤及時進行替換;熱備盤無冗余狀態下第一組出現一塊離線盤,第二組出現兩塊離線盤,ZPOOL進入高負荷狀態(每次讀取數據都需要進行校驗得到正確數據);第二組內出現第三塊離線盤,RAIDZ崩潰、ZPOOL下線、服務器崩潰。
宿遷數據恢復2、重組ZPOOL,追蹤數據入口。
ZFS管理的存儲池與常規存儲不同,所有磁盤都由ZFS進行管理。常規RAID在存儲數據時,只按照特定的規則組建池,不關心文件在子設備上的位置。而ZFS在數據存儲時會為每次寫入的數據分配適當大小的空間,并計算得到指向子設備的數據指針。這種特性使得RAIDZ缺盤時無法直接進行校驗得到數據,必須將整個ZPOOL作為一個整體進行解析。
北亞數據恢復工程師手工截取事務塊數據,編寫程序獲取最大事務號入口:
北亞數據恢復——ZFS文件系統數據恢復
獲取文件系統入口
獲取到文件系統入口后,北亞數據恢復工程師編寫數據指針解析程序進行地址解析:
北亞數據恢復——ZFS文件系統數據恢復
解析數據指針
獲取到文件系統入口點在各磁盤分布情況后,北亞數據恢復工程師手工截取并分析文件系統內部結構。由于入口分布所在的磁盤組無缺失盤,可直接提取信息。根據ZFS文件系統的數據存儲結構順利找到原服務器映射的LUN名稱,進而找到其節點。
3、編寫數據提取程序并運行。
經過仔細分析,北亞數據恢復工程師發現故障服務器中的ZFS版本與開源版本有較大差別,無法使用北亞數據恢復中心以前開發的解析程序進行解析,所以重新編寫了數據提取程序。
北亞數據恢復——ZFS文件系統數據恢復
由于磁盤組內缺盤個數較多,每個IO流都需要通過校驗得到,提取進度極為緩慢。與服務器管理員溝通后得知ZVOL卷映射到XenServer作為存儲設備,所需恢復的文件在其中一個大小約為2T的vhd內。北亞數據恢復工程師提取ZVOL卷頭部信息,按照XenStore卷存儲結構進行分析,發現2T vhd在整個卷的尾部,計算得到其起始位置后從此位置開始提取數據。
4、驗證恢復數據。
Vhd提取完畢后,北亞數據恢復工程師對其內部的壓縮包及圖片、視頻等文件進行驗證,文件都可以正常打開使用。
聯系服務器管理員驗證數據,確定文件數量與系統自動記錄的文件個數一致,文件都可正常打開,服務器數據恢復成功。