数据恢复故障描述 :
原存储为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/,如需转载,请注明出处,否则将追究法律责任。