【服務(wù)器數(shù)據(jù)恢復(fù)】EMC存儲(chǔ)ZFS文件系統(tǒng)下raid5數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境:
一臺(tái)EMC存儲(chǔ)中數(shù)塊磁盤組建了一組raid5磁盤陣列,陣列中有2塊熱備盤;上層采用ZFS文件系統(tǒng),劃分了一個(gè)lun,供sun小機(jī)使用。

服務(wù)器故障&檢測(cè):
存儲(chǔ)在正常運(yùn)行中突然崩潰無法使用,管理員檢查后發(fā)現(xiàn)raid5陣列中有兩塊磁盤離線,陣列中有兩塊熱備盤,其中的一塊熱備盤激活失敗,raid5陣列癱瘓,存儲(chǔ)不可用。
硬件工程師對(duì)raid5陣列中的兩塊離線的磁盤進(jìn)行物理故障檢測(cè),發(fā)現(xiàn)這2塊離線硬盤不存在物理故障和壞道。

1、將故障存儲(chǔ)中所有磁盤編號(hào)取出以只讀方式做全盤鏡像。鏡像完成后將所有磁盤按照編號(hào)還原到原存儲(chǔ)設(shè)備中。后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免對(duì)原始磁盤數(shù)據(jù)造成二次破壞。
2、鏡像完成后將鏡像數(shù)據(jù)的520字節(jié)扇區(qū)轉(zhuǎn)換為512字節(jié)扇區(qū),方便后續(xù)的數(shù)據(jù)恢復(fù)操作。
3、根據(jù)RAID5磁盤陣列的工作模式,LUN都是基于RAID的?;謴?fù)數(shù)據(jù)就需要先分析RAID的底層信息,根據(jù)這些信息重構(gòu)原始RAID陣列。數(shù)據(jù)恢復(fù)工程師基于鏡像對(duì)所有磁盤底層數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)陣列中2塊磁盤離線,1塊熱備盤成功激活,另1塊熱備盤卻沒有成功激活,數(shù)據(jù)未同步。
繼續(xù)分析數(shù)據(jù)在硬盤中分布的規(guī)律、RAID條帶的大小、每塊磁盤的順序等RAID相關(guān)信息。
4、繼續(xù)分析RAID信息,發(fā)現(xiàn)有一塊硬盤在同一個(gè)條帶上的數(shù)據(jù)和其他硬盤明顯不一樣,初步判斷此硬盤最先掉線。數(shù)據(jù)恢復(fù)工程師使用北亞自研RAID校驗(yàn)程序?qū)@個(gè)條帶進(jìn)行校驗(yàn)后,確定最先掉線的硬盤。
5、通過分析出來的RAID信息虛擬重構(gòu)RAID。通過重構(gòu)出來的RAID分析lun的分配情況和數(shù)據(jù)塊&導(dǎo)出lun所有數(shù)據(jù)。
6、對(duì)導(dǎo)出的lun做ZFS文件系統(tǒng)解析,但解析時(shí)報(bào)錯(cuò)。數(shù)據(jù)恢復(fù)工程師手動(dòng)檢查文件,發(fā)現(xiàn)部分元文件損壞。
7、北亞企安數(shù)據(jù)恢復(fù)工程師將這些損壞的文件系統(tǒng)元文件進(jìn)行修復(fù)。通過對(duì)損壞的元文件進(jìn)行分析發(fā)現(xiàn)ZFS正在進(jìn)行IO操作時(shí)存儲(chǔ)癱瘓,部分文件系統(tǒng)元文件沒有更新或者損壞。對(duì)這些損壞的元文件進(jìn)行人工修復(fù)后,ZFS文件系統(tǒng)就能夠正常解析。
8、對(duì)修復(fù)好的ZFS文件系統(tǒng)做解析,解析所有文件節(jié)點(diǎn)及目錄結(jié)構(gòu)&導(dǎo)出,本次數(shù)據(jù)恢復(fù)工作完成。
