-4006-505-646

存储Linux 中RAID信息丢失恢复方法分享

本次北亚小编分享的案例为原存储为12块2T硬盘组成的Linux RAID6,文件系统均为EXT3,此存储上划有3个LUN,每个均为6TB大小。
某天在RAID失效后,维护人员为了抢救数据,对此失效的存储重进行分配RAID,并进行了初始化。初始化进行很长时间后,维护人员察觉到情况有异,便强制停止初始化,数据部分已被不可逆的破坏。

  北亚工程师对故障情况进行分析,发现故障的起因仅仅是RAID失效,维护人员随后的抢救数据过程中用11块硬盘进行重分配RAID5,并进行长时间的初始化,这对原始数据是不可逆的损坏,后经证明,仅第三个LUN可用普通RAID6方法恢复出数据,但第三个LUN并没有客户想要的要的重要数据,重要的数据主要集中在第一个LUN。



  恢复过程分成4步:

  1. 分析原始12块磁盘RAID6的RAID和磁盘的组织结构。
  2. 分析重分配RAID5时RAID和磁盘的组织结构。
  3. 判断可恢复性,以及怎么实现恢复程序的算法。
  4. 恢复及修复。
快速分析出原始RAID6的结构,但因为底层RAID6和RAID5大量的信息重合导致分析重分配RAID5的结构时比较困难。
第一步和第二步已完成,经分析,被初始化破坏的数据可用其它方法进行还原,制定出恢复算法,写程序及进行程序算法的校正,程序把12块磁盘中原始数据的第一和第二个LUN分别镜像到搭好的两个7TB 的存储上。
  经验证第二个LUN数据完全正常,但最重要的第一个LUN前有大约有10MB数据的破坏,这前 10MB数据很要命,EXT3的根目录和第一个块组的I节点全在这前10MB里面,然后使用数据恢复常用的软件恢复效果都相当不理想 ,可能是存储较大的原因。
  在这种情况下只得自行修复损坏的EXT3文件系统,自行写一个程序进行EXT3孤目录查找,找到了根目录下有3个了目录,重建根目录和I节点,用 文件系统解析程序打开已完全正常,但为了保证原始数据的一些权限和属性,在LINUX简单修复,LINUX已能正常挂载,然后在LINUX把文件用 cp 命令进行拷贝格式化好的EXT3 的单块磁盘的分区上。这样客户使用数据时,不再需要别的任何设置,直接 cp 后,文件目录结构和属性都和原来一模一样。
 
  数据恢复结论:
  用时3天,数据100%恢复成功。


【北京北亚数据恢复中心】

电话:4006-505-646
地址:北京市海淀区中关村创客小镇16号221

官方网址:www.frombyte.com