虽然复杂的RAID 系统有着特定的结构保护你的数据,但由于误操作和硬件故障引起的数据丢失还是频繁地发 生。大多数RAID用户看重的就是 RAID的容错功能, 然而很多误导宣传也使用户误以为RAID是不轻易出故障或出 现故障时RAID本身有处理容错的应变机制,所以没有认真地作备份, 因而忽视了RAID潜在危险,所以每当RAID故障时都是一场大的灾难。
RAID系统在出现故障是假如处理得当,在大多数情况下数据都是可以恢复的。在这里向大家介绍一种RAID的数据恢复方法。为此我先介绍两个非常好用的工具软件,它们是 Runtime Software公司的Getdataback 和Raid ReconstrUCtor, 其中 Getdataback 用于恢复数据,Raid Reconstructor 用于恢复 Raid 5的磁盘阵列。
下面我就向大家介绍一种恢复 Raid 5 磁盘阵列的数据的方法。我们以一个只有3 块硬盘的 Raid 5阵列为例。下面是Raid Reconstructor 的用户界面:
Runtime 的 RAID Reconstructor 帮助我们从损坏的RAID 5 阵列中恢复数据. 即使我们不知道 RAID 参数,比如磁盘次序, 块大小和旋转方向, RAID Reconstructor 能自动分析和确定正确的值,然后使我们能够重新构造一个RAID 镜像文件或物理驱动器的拷贝。一旦我们建立了一个镜像文件, 就可以使用 Runtime 的GetDataBack或其它数据恢复软件进行处理. 假如我们把这个镜像建立在一个物理驱动器上, 我们既可以用数据恢复软件处理它,也有可能直接从它上面启动系统。
因为 RAID 5 冗余性, 假如原阵列里的磁盘数为N ,RAID Reconstructor 通过N-1 个磁盘也能重新计算出原来的数据。
使用Raid Reconstructor的三个简单的步骤:
规定 RAID 阵列的组合输入原始 RAID 5 阵列的硬盘数.然后我们输入RAID的每个物理硬盘或硬盘镜像文件。假如你使用物理硬盘名,这些硬盘必须是可以访问的。我们可以使用镜像文件代替物理硬盘(这个镜像文件可以Runtime的 GetDataBack 或DiskEXPlorer建立。
注重:假如在物理驱动器上有坏扇区, 建立磁盘的镜像文件将是我们的首选方法。
假如我们不知道RAID 参数, 保留这个值, 不改变块长度和奇偶校验的旋转方向。
例如 RAID 5阵列由3块硬盘组成, 挂在我们的计算机上作为独立的物理硬盘HD130:, HD131:, HD132:
又例如: RAID 5阵列由3个镜像文件组成, 它预先建立在我们的逻辑驱动器 E 上: DRIVE1.IMG, DRIVE2.IMG,
DRIVE3.IMG.
我们也可以混合选择物理硬盘和镜像文件.
单击 "Open drives" 选择的每个硬盘或镜像的容量会显示在右边,同时RAID 的总容量将显示在下面:
注重: 我们输入的硬盘个数可以小于阵列的长度. 在这个例子中 #drives 仍然是 3 ,但可以保留一个空的驱动器
分析 RAID 结构,确定正确的磁盘次序、块大小和旋转方向.
假如我们知道正确的参数, 则把它们直接填写在输入框里就可以了, 并可以跳过分析. 否则单击 "Analyze".
这时屏幕上会弹出一个窗口,让我们选择一些测试组合。我们可以参考RAID 控制器的设置手动改变某些选项。大多数值已经用缺省方式选择了。假如需要,我们可以输入多个定制的块长度. 但块的长度必须 2 的幂数如: (16, 32, 64,...). "Number of sectors to PRobe" 确定动态测试多少扇区,缺省是100000, 但假如需要的话你可以根据块的大小增加这个值,例如, 500000 或 1000000.
单击 "Next". 根据硬盘个数、检查条件组合数和测试的扇区数,测试分析时间可能从几秒钟到数小时。当分析完成后将生成下面的列表:
最有可能的参数组合列在该表的前端,通常我们都选择推荐的第一项.在上述例子里我们看见每种可能的排列都有3 行显示数据, 它们代表的意思如下:
硬盘次序 (Drive order)
可能的情况是 (1-2-3), (1-3-2), (2-1-3), (2-3-1), (3-1-2) 或 (3-2-1), 共有 6 种可能的组合.
块长度 (Block size)选择了 4 种可能的组合16, 32, 64 或 128.奇偶校验块的旋转方向(Parity rotations to probe):有向前(forward)、向后(backward) 2种情况。所以在列表上一共列出了48 (6*4*2) 种可能的组合。假如结果数据有意义, 每个组合都将被检测. 每个检测都有一个平均值,这个值叫 "entropy"(平均值). 着个值越小表示越接近正确的 RAID 参数值。
"OS:" 的值在 0—5 之间, 1到4 代表的意义如下:
OS:1) 扇区 63 有一个 boot 记录标记 (xAA55).
OS:2) 扇区 63 是一个合法的 NTFS、 FAT32 或 FAT16 boot 扇区.
OS:3) NTFS: 第一个 MFT 项被成功装入, FAT: 找到FAT1.
OS:4) NTFS: 前16 个MFT项被成功装入, FAT: 发现FAT2 , 并且 FAT2 的第一个扇区和 FAT1 的第一个扇区相同.选择上面描述的项(最有可能的是第一项)并单击 完成“Finish”. 这样就把我们选择的参数拷贝到主屏幕。
拷贝 RAID现在我们就预备把RAID 拷贝到另一个镜像文件或另一个驱动器上,当然目标设备必须有足够的空间来容纳这个RAID。
在目的 "Target" 框中输入要拷贝得文件名和路径. 它可以是物理驱动器名(如"HD132:"), 也可以是镜像文件名(如E:\raid.img").在缺省的情况下普通镜像文件的扩展名是".img",压缩镜像文件的扩展名是".imc". 假如我们在 "Multi file" 选择框中打勾, 则镜像文件就会被分割成若干个文件, 每个650 MB. 这对某些系统(例如 Windows 98/95)来说是必要的, 因为它们不支持超大文件。
其它选项:
奇偶校验检查(Verify by parity): 拷贝时用奇偶校验块对RAID的每个带区块进行完整性检查。增加额外扇区(Append extra sectors):当物理驱动器的容量大于镜像文件的长度时, 有可能要选择此项, 这时会把物理驱动器的所有柱面填布满。这是要模拟整个驱动器,便于以后某些数据恢复软件能够对它进行处理(如GetDataBack).
单击 拷贝 "Copy". 现在开始重构RAID:
下一步是什么?假如我们运气好的话,把这个RAID镜像拷贝到另一个硬盘或阵列上,就能直接通过操作系统存取这个设备上的文件,这样数据恢复就成功了。否则, 你还要用 Runtime 的GetDataBack 或其它数据恢复工具试试,能否成功就要取决于数据的损坏程度了。