分析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天,數據恢復成功。
相關文章
相關標籤/搜索