分析Linux raid6同步成raid5導致數據丟失的情況

數據恢復故障描述:
原存儲爲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. 判斷可恢復性,以及怎麼實現恢復程序的算法。

  1. 恢復及修復。
    快速分析出原始RAID6的結構,但因爲底層RAID6和RAID5大量的信息重合導致分析重分配RAID5的結構時比較困難,整整花費了 1天時間。
    第一步和第二步已完成,經分析,被初始化破壞的數據可用其它方法進行還原,制定出恢復算法,花費一天寫程序及進行程序算法的校正,程序把12塊磁盤中原始數據的第一和第二個LUN分別鏡像到搭好的兩個7TB 的存儲上。
    經驗證第二個LUN數據完全正常,但最重要的第一個LUN前有大約有10MB數據的破壞,這前 10MB數據很要命,EXT3的根目錄和第一個塊組的I節點全在這前10MB裏面,然後使用數據恢復常用的軟件UFS Explorer 和 R-Studio 的恢復效果都相當不理想 ,可能是存儲較大的原因。
    在這種情況下只得自行修復損壞的EXT3文件系統,自行寫一個程序進行EXT3孤目錄查找,找到了根目錄下有3個了目錄,重建根目錄和I節點,用 文件系統解析程序打開已完全正常,但爲了保證原始數據的一些權限和屬性,在LINUX簡單修復,LINUX已能正常掛載,然後在LINUX把文件用 cp 命令進行拷貝格式化好的EXT3 的單塊磁盤的分區上。這樣客戶使用數據時,不再需要別的任何設置,直接 cp 後,文件目錄結構和屬性都和原來一模一樣。
    分析Linux raid6同步成raid5導致數據丟失的情況
    分析Linux raid6同步成raid5導致數據丟失的情況
    分析Linux raid6同步成raid5導致數據丟失的情況
    數據恢復結論:
    用時6天,數據恢復成功。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章