服务器数据恢复环境:
一台使用NTFS文件系统的服务器;
7块硬盘组成了一组raid5磁盘阵列。
服务器故障&初检:
raid5磁盘阵列磁盘故障离线导致服务器瘫痪。用户在处理掉线磁盘时只添加新的硬盘rebuild,并没有将掉线的3块硬盘从阵列中拔掉。
硬件工程师对故障服务器中所有硬盘进行了物理检测,没有发现硬盘物理故障,只好交由服务器数据恢复工程师对所有硬盘做全盘镜像&分析。
服务器数据恢复过程:
1、对所有硬盘镜像备份后,服务器数据恢复工程师分析服务器raid结构。故障服务器中的硬盘每512字节多加了一个8字节的校验,也就是说每扇区520字节。北亚数据恢复工程师编写了一个小程序将8字节的校验去掉,方便后续的数据恢复。
2、完成磁盘转换后开始分析RAID的结构。由于多了3块离线盘(故障离线后没有拔出),需要比较每块磁盘。因为其中会有两块磁盘前面的一部分相同,这两块前面部分相同的磁盘中有一个是旧盘,旧盘数据量没有新盘多,可以排除旧盘。
3、由于故障服务器使用的是NTFS文件系统,使用MFT就可以找到RAID结构。搞清楚RAID结构后发现这不是一个普通的RAID5,而是一个双循环,无法通过常规手段重组RAID。
4、通过其他方法重组RAID后发现数据不是新的。推测可能是RAID5掉线第一块硬盘时用户没有及时发现,没有及时添加新的硬盘做rebuild,服务器运行一段时间后又有一块硬盘掉线了,造成整个RAID不可用。
5、服务器数据恢复工程师使用穷举+校验的方法进行分析:假设某个磁盘掉线,踢掉该磁盘后重组RAID,不用生成全部的数据,只生成前面几个G的数据,然后通过查看这个索引表的位图信息是否正确就可以判断此RAID是否正确。如果索引表的位图信息正确,生成此RAID数据即可完成RAID的重组。
6、数据恢复完成后由用户亲自核检,数据完整可用,本次数据恢复完成。
Tips:
1、服务器发生故障后,切忌对服务器进行操作;也不要随意取出硬盘,以免弄乱盘序。
2、如果需要取出硬盘,标记好硬盘的顺序之后再取出。
3、服务器阵列瘫痪后应该立即断电,不要做同步或强制上线操作,防止数据进一步破坏。