服務(wù)器存儲(chǔ)數(shù)據(jù)恢復(fù)環(huán)境:
ZFS Storage 7320存儲(chǔ)陣列中有32塊硬盤。32塊硬盤分為4組,每組8塊硬盤,共組建了3組RAIDZ,每組raid都配置了熱備盤。
服務(wù)器存儲(chǔ)故障:
服務(wù)器存儲(chǔ)運(yùn)行過程中突然崩潰,排除人為誤操作、斷電、進(jìn)水和其他機(jī)房不穩(wěn)定因素。管理員重啟服務(wù)器存儲(chǔ),系統(tǒng)無法進(jìn)入,需要恢復(fù)服務(wù)器存儲(chǔ)中的數(shù)據(jù)。
服務(wù)器存儲(chǔ)數(shù)據(jù)恢復(fù)過程:
1、將故障服務(wù)器存儲(chǔ)中所有硬盤標(biāo)記后取出,以只讀方式進(jìn)行扇區(qū)級(jí)完整鏡像,鏡像完成后將所有磁盤按照原樣還原到原存儲(chǔ)中,后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免對(duì)原始磁盤數(shù)據(jù)造成二次破壞。
2、基于鏡像文件分析所有硬盤中的底層數(shù)據(jù),發(fā)現(xiàn)服務(wù)器存儲(chǔ)中的熱備盤全部啟用,上層采用ZFS文件系統(tǒng)。
Tips:
在ZFS文件系統(tǒng)中,存儲(chǔ)池被稱為ZPOOL。ZPOOL可以有各種類別的子設(shè)備:塊設(shè)備、文件、磁盤等等。本案例中ZPOOL的子設(shè)備是三組RAIDZ作為子設(shè)備。
經(jīng)過對(duì)底層數(shù)據(jù)的分析發(fā)現(xiàn),三組RAIDZ中的兩組RAIDZ啟用的熱備盤的個(gè)數(shù)分別為1和3。啟用熱備盤后,第一組RAIDZ中又有一塊盤離線,第二組RAIDZ中則又有兩塊硬盤離線。
根據(jù)上述分析結(jié)果模擬故障現(xiàn)場:三組RAIDZ中的兩組RAIDZ出現(xiàn)硬盤離線的情況,熱備盤自動(dòng)上線替換離線盤。在熱備盤無冗余的情況下第一組RAIDZ中又有一塊盤離線,第二組RAIDZ中則有兩塊盤離線,ZPOOL進(jìn)入高負(fù)荷狀態(tài)(每次讀取數(shù)據(jù)都需要校驗(yàn));當(dāng)?shù)诙MRAIDZ中出現(xiàn)第三塊離線盤的時(shí)候,該組RAIDZ崩潰,ZPOOL下線,服務(wù)器存儲(chǔ)崩潰。
3、ZFS管理的存儲(chǔ)池與常規(guī)存儲(chǔ)池不同。在ZFS文件系統(tǒng)下,ZFS管理所有磁盤。常規(guī)RAID在存儲(chǔ)數(shù)據(jù)時(shí)會(huì)按照特定的規(guī)則組建池,并不關(guān)心文件在子設(shè)備上的位置。在ZFS下,存儲(chǔ)數(shù)據(jù)時(shí)會(huì)為每次寫入的數(shù)據(jù)分配適當(dāng)大小的空間,并計(jì)算出指向子設(shè)備的數(shù)據(jù)指針。所以RAIDZ缺盤時(shí)無法直接通過校驗(yàn)得到數(shù)據(jù),必須將整個(gè)ZPOOL作為一個(gè)整體進(jìn)行解析。
4、北亞企安數(shù)據(jù)恢復(fù)工程師手工截取事務(wù)塊數(shù)據(jù),并編寫程序獲取最大事務(wù)號(hào)入口。
獲取文件系統(tǒng)入口:
北亞企安數(shù)據(jù)恢復(fù)—ZFS文件系統(tǒng)數(shù)據(jù)恢復(fù)
5、獲取到文件系統(tǒng)入口后,北亞企安數(shù)據(jù)恢復(fù)工程師編寫數(shù)據(jù)指針解析程序進(jìn)行地址解析。
解析數(shù)據(jù)指針:
北亞企安數(shù)據(jù)恢復(fù)—ZFS文件系統(tǒng)數(shù)據(jù)恢復(fù)
6、獲取到文件系統(tǒng)入口點(diǎn)在各磁盤上的分布情況后,北亞企安數(shù)據(jù)恢復(fù)工程師開始手工截取并分析文件系統(tǒng)內(nèi)部結(jié)構(gòu)。入口點(diǎn)所在的磁盤組無缺失盤,可直接提取信息。根據(jù)ZFS文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)順利找到映射的LUN的名稱,進(jìn)而找到其節(jié)點(diǎn)。
7、經(jīng)過分析發(fā)現(xiàn)此存儲(chǔ)中的ZFS版本與開源版本有較大差別,無法使用之前開發(fā)的解析程序進(jìn)行解析,所以北亞企安數(shù)據(jù)恢復(fù)工程師重新編寫程序進(jìn)行解析。
北亞企安數(shù)據(jù)恢復(fù)—ZFS文件系統(tǒng)數(shù)據(jù)恢復(fù)
8、由于缺盤個(gè)數(shù)較多,每個(gè)IO流都需要通過校驗(yàn)得到,進(jìn)度極為緩慢。與用戶方溝通后得知此ZVOL卷映射到XenServer作為存儲(chǔ)設(shè)備,所需要的文件在一個(gè)vhd內(nèi)。提取ZVOL卷頭部信息,按照XenStore卷存儲(chǔ)結(jié)構(gòu)進(jìn)行分析,發(fā)現(xiàn)該vhd在整個(gè)卷的尾部。計(jì)算出其起始位置后從此位置開始提取數(shù)據(jù)。
9、Vhd提取完畢后,驗(yàn)證其內(nèi)部的壓縮包、圖片、視頻等文件,均可正常打開。
10、交由用戶方驗(yàn)證恢復(fù)出來的數(shù)據(jù)。經(jīng)過驗(yàn)證,發(fā)現(xiàn)恢復(fù)出來的文件數(shù)量與系統(tǒng)自動(dòng)記錄的文件數(shù)量差不多,稍微有點(diǎn)出入。丟失的極少量文件應(yīng)該是因?yàn)檫@些文件是新生成的還未存儲(chǔ)到磁盤。隨機(jī)驗(yàn)證恢復(fù)出來的文件,全部可正常打開。用戶方認(rèn)可數(shù)據(jù)恢復(fù)結(jié)果。
審核編輯 黃宇
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85322 -
RAID
+關(guān)注
關(guān)注
0文章
277瀏覽量
35084 -
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
568瀏覽量
17432 -
zfs
+關(guān)注
關(guān)注
0文章
6瀏覽量
2623
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論