在一個由7塊硬盤組成的RAID5陣列中,出現(xiàn)了存儲故障。管理員在硬盤掉線后僅添加了新硬盤進(jìn)行重建(rebuild),未移除掉線的舊盤。最終導(dǎo)致存儲系統(tǒng)癱瘓,多個硬盤故障使得數(shù)據(jù)不可訪問。管理員初步判斷是RAID中某些硬盤掉線,導(dǎo)致存儲無法使用。
硬盤編號與取出:所有硬盤被編號并從存儲中取出。硬件工程師檢測發(fā)現(xiàn)硬盤無物理故障,推測問題為邏輯壞道或其他原因。
全盤鏡像:為避免對原始硬盤數(shù)據(jù)造成破壞,所有硬盤以只讀方式進(jìn)行了扇區(qū)級的全盤鏡像。后續(xù)所有恢復(fù)操作基于鏡像文件完成。
分析底層數(shù)據(jù):鏡像盤中每扇區(qū)包含512字節(jié)數(shù)據(jù)和8字節(jié)的校驗碼,因此每扇區(qū)實際大小為520字節(jié)。工程師編寫程序去除8字節(jié)校驗,以便后續(xù)恢復(fù)操作。
舊盤排除:由于存在3塊掉線的舊盤,首先需通過比較磁盤數(shù)據(jù)來識別并排除舊盤。通過分析,每對數(shù)據(jù)中有一塊盤的數(shù)據(jù)量較少,這些盤被識別為舊盤并排除。
識別RAID類型:該陣列為雙循環(huán)RAID5,而非普通RAID5,這使得常規(guī)恢復(fù)軟件(如winhax)無法重組陣列。經(jīng)過測試,UFS軟件能夠正確重組該RAID結(jié)構(gòu)。
數(shù)據(jù)完整性測試:初步恢復(fù)的RAID中數(shù)據(jù)并非最新版本。華軍科技工程師判斷,因管理員未及時處理掉線硬盤,導(dǎo)致兩塊硬盤掉線后數(shù)據(jù)更新不完整。
踢盤測試:通過嘗試踢掉每塊硬盤,反復(fù)重組RAID,測試最新數(shù)據(jù)的可用性。直到找出能夠生成最新數(shù)據(jù)的組合,恢復(fù)操作才告一段落。
數(shù)據(jù)導(dǎo)出與驗證:導(dǎo)出數(shù)據(jù)后,經(jīng)過多輪驗證,工程師確認(rèn)數(shù)據(jù)沒有問題,并交由用戶方檢測。
用戶方確認(rèn):用戶方對恢復(fù)數(shù)據(jù)進(jìn)行了仔細(xì)核對,確認(rèn)數(shù)據(jù)完整有效。
本次數(shù)據(jù)恢復(fù)過程中,關(guān)鍵在于:
精確排除舊盤,以確保RAID重組時使用的數(shù)據(jù)是最新的。
通過踢盤測試和多次RAID重組,找回最新且完整的數(shù)據(jù)版本。
最終,用戶確認(rèn)數(shù)據(jù)恢復(fù)完整有效,整個恢復(fù)工作圓滿完成。