服务器存储数据恢复环境:
存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统+EXT3文件系统,该存储划分3个LUN。
服务器存储故障&分析:
存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分硬盘重新组建RAID并进行了初始化。
初始化开始一段时间后,运维人员察觉到情况有异后强制终止初始化,这个时候初始化已经完成一半以上。数据部分已被不可逆的破坏。
原始RAID6阵列失效,运维人员使用原始raid6阵列中的11块硬盘重新组建RAID5阵列,并进行了初始化。上述操作对原始数据造成了不可逆的破坏。
此案例故障较为复杂,我们数据恢复中心接到这个案子之前,该案子已经在多家数据恢复服务商做过恢复,但是问题仍未解决。
服务器存储数据恢复过程:
1、分析原始12块磁盘RAID6阵列的组织结构情况。
2、分析重新组建的RAID5阵列的组织结构情况。在底层发现RAID6和RAID5的信息重合,导致分析新组建的RAID5的结构耗费很多时间。
3、北亚企安数据恢复工程师根据上述获取到的信息分析恢复程序的算法。
4、利用分析出来的算法编写&校正数据恢复程序,通过数据恢复程序将12块磁盘原始数据中的第一个和第二个LUN分别镜像到两个准备好的存储上。
5、经过验证第二个LUN数据完全正常,但第一个LUN的前十几MB的数据被破坏。EXT3文件系统的根目录和第一个块组的I节点全在这前十几MB的数据中,使用市面上主流的数据恢复软件进行恢复,效果都不理想。
6、数据恢复工程师尝试对损坏的EXT3文件系统进行修复。北亚企安数据恢复工程师编写程序查找EXT3目录&重建根目录和I节点,这时用文件系统解析程序打开完全正常。为了保证原始数据的权限和属性,在LINUX环境下进行修复,文件系统已能正常挂载,在LINUX下将文件用cp命令拷贝到格式化为EXT3 文件系统的单块磁盘的分区上。用户方在使用数据时,不需要其他任何设置,直接cp,文件目录结构和属性都和原始状态一致。