服务器存储数据恢复环境:
EMC CX4-480存储,该存储中有10块硬盘,其中有3块磁盘为掉线磁盘,另外7块磁盘组成一组RAID5磁盘阵列。运维人员在处理掉线磁盘时只添加新的硬盘做rebuild,并没有将掉线的硬盘拔掉,所以存储中有3块掉线的磁盘。
服务器存储故障:
硬盘出现故障离线导致存储中raid5阵列瘫痪。运维人员联系我们数据恢复中心寻求帮助。
服务器数据恢复过程:
1、经过和运维人员沟通,服务器数据恢复工程师初步推测阵列瘫痪的原因是硬盘出现硬件故障。将故障存储中所有磁盘编号后取出,由硬件工程师对所有磁盘进行物理故障检测。经过逐一排查并没有发现有硬盘存在物理故障。于是数据恢复工程师将所有硬盘以只读方式做全盘镜像,镜像完成后按照编号将所有磁盘还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析raid结构。经过分析发现该服务器存储中的硬盘每512字节多加了一个8字节的校验,也就是每扇区520字节。这种情况下分析raid结构十分不方便,于是北亚企安数据恢复工程师编写了一个小程序将8字节的校验去掉以方便后面的工作。
3、将所有磁盘转换完成后,数据恢复工程师重新开始分析RAID结构。由于存储中有3块掉线的旧盘,需将这3块盘分别与其他盘进行比较。经过比较,会发现这3块磁盘中每一块盘都会和另外7块盘中的一块盘前面的一部分相同,而这两块盘中会有一个是旧的(旧的数据量没有新盘多),这样的磁盘会有3对。通过这种方式排除旧的磁盘。
4、由于上层采用的NTFS文件系统,使用MFT就可以很容易找到RAID结构。找到raid结构后发现这不是一个普通的RAID5阵列,而是一个双循环。重组RAID后发现数据不是最新的。服务器数据恢复工程师推测RAID5阵列中一块硬盘掉线时,运维人员没有及时发现,没有及时添加新的硬盘做rebuild。一段时间后又有一
块硬盘掉线了,于是整个RAID不可用。所以还需要找出一块旧的磁盘才能生成最新的数据。
5、北亚企安数据恢复工程师采用穷举+校验的方法进行分析:假设某个磁盘是掉线的,踢掉该磁盘后重组RAID,生成前面5GB的数据,然后只需要查看这个索引表的位图的信息是否正确就可以判断此RAID是否正确。如果正确那么生成此RAID的数据即可完成RAID的重组。
6、经过多次尝试,最终找到正确的RAID并完成RAID的重组。经过用户仔细验证,确认数据有效,认可本次数据恢复结果。