分析Linux raid6同步成raid5導致資料丟失的情況

北亞資料恢復發表於2019-10-28

資料恢復故障描述

原儲存為12塊2T硬碟組成的Linux RAID6,檔案系統均為EXT3,此儲存上劃有3個LUN,每個均為6TB大小,某天在RAID失效後,維護人員為了搶救資料,對此失效的儲存重進行分配RAID,並進行了初始化。

初始化進行很長時間後,維護人員 察覺到 情況 有異 ,便強制停止初始化,但初始化已達到 50%以上。資料部分 不可逆的破壞。

資料恢復故障分析

故障的起因僅 僅是RAID失效,維護人員 隨後的 搶救資料過程中用11塊硬碟進行重分配RAID5,並進行長時間的初始化,這對原始資料是不可逆的損壞,後經證明,僅第三個LUN可用普通RAID6方法恢復出資料,但第三個LUN 客戶 想要的 要的重要資料,重要的資料主要集中在第一個LUN。

由於此案例的故障極其複雜 我公司接到客戶送修時已經 在國內 資料恢復公司之間 轉手多次, 包括 多家知名資料恢復公司,仍 解決  

資料恢復過程

恢復過程分成4步:

1. 分析原始12塊磁碟RAID6的RAID和磁碟的組織結構。

2. 分析重分配RAID5時RAID和磁碟的組織結構。

3. 判斷可恢復性,以及怎麼實現恢復程式的演算法。

4. 恢復及修復。

快速 分析出原始RAID6的結構,但因為底層RAID6和RAID5大量的資訊重合 導致 分析重分配RAID5的結構時 比較困難,整整 花費了 1天時間。

第一步和第二步已完成,經分析,被初始化破壞的資料可用其它方法進行還原,制定出恢復演算法,花費一天寫程式及進行程式演算法的校正,程式把12塊磁碟中原始資料的第一和第二個LUN分別映象到搭好的兩個7TB 的儲存上。

經驗證第二個LUN資料完全正常,但最重要的第一個LUN前有大約有10MB資料的破壞,這前 10MB資料很要命,EXT 3 的根目錄和第一個塊組的I節點全在這前10MB裡面,然後使用資料恢復常用的軟體UFS Explorer 和 R-Studio 的恢復效果都相當不理想 ,可能是儲存較大的原因。

在這種情況下 只得自行修復損壞的EXT3檔案系統,自行寫一個程式進行EXT 3 孤目錄查詢,找到了根目錄下有3個了目錄,重建根目錄和I節點,用 檔案系統解析程式 開啟已完全正常,但為了保證原始資料的一些許可權和屬性,在LINUX簡單修復,LINUX已能正常掛載,然後在LINUX把檔案用 cp 命令進行複製格式化好的EXT3 的單塊磁碟的分割槽上。這樣客戶使用資料時,不再需要別的任何設定,直接 cp 後,檔案目錄結構和屬性都和原來一模一樣。

資料恢復結論

用時6天,資料恢復成功。


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

相關文章