在上一篇中我们介绍了判断RAID数据新鲜度的方法。如果经过测试发现RAID数据不新鲜,该如何挑出数据不新鲜的成员盘呢?

这就需要从RAID成员盘入手进行实际分析了。因为先离线的成员盘只是部分数据不新鲜,并不是所有数据都不新鲜,所以用RAID Reconstructor做完异或测试后,只会有某些区域无法通过异或测试,显示红色,可以从红色区域所在的扇区入手,对所有成员盘的这些扇区进行比较分析,再结合文件系统结构,从数据的时间戳信息、数据的多寡等方面进行比较,就能够判断哪块成员盘的数据不新鲜了。

举例来说,一个3块成员盘组成的RAID-5,因两块成员盘先后离线而崩溃,在恢复数据时如果用3块成员盘进行恢复,发现有些数据是损坏的,需要挑出不新鲜的成员盘再进行恢复。

先用RAID Reconstructor做完异或测试,发现在22499136号扇区附近有大量无法通过异或测试的扇区,这时用WinHex同时打开3块成员盘,并用WinHex的“同步窗口”功能,把3块成员盘都跳转到22499136号扇区,其中的数据如图16-20所示。

挑出不新鲜的RAID成员盘-数据恢复迷

图16-20 三块成员盘22499136号扇区的数据

从图16-20中明显可以看出“硬盘1”和“硬盘3”的22499136号扇区内有数据,并且数据不相同,从RAID-5的数据组织方式上考虑,剩下的一块成员盘即“硬盘2”的22499136号扇区内的数据绝对不会全部为0,而事实上现在“硬盘2”的22499136号扇区内的数据全部都是0,这就可以断定“硬盘2”先离线了,所以后来更新的数据没有写进去。

从上面的分析可以得出“硬盘2”是数据不新鲜的成员盘,将“硬盘2”剔除,用“硬盘1”和“硬盘3”进行数据恢复,结果文件全部正常。