RAID5磁盘阵列常见的故障主要为RAID信息丢失、RAID卡损坏、分区信息丢失、MBR损坏、DBR损坏、磁盘单(多)块坏道,当RAID阵列出现故障时,一般的方法只能重新初始化或者REBUILD,这样数据就会无法挽回。那么能否使用虚拟机技术将这些丢失的数据找回呢?我认为当然可以。我们根据磁盘的基本原理,使用虚拟机技术可以在虚拟机上添加一个虚拟硬盘,然后设置虚拟硬盘的参数信息和使用损坏磁盘同样的分区,就可以恢复丢失的数据信息。
三、利用虚拟机建立虚拟磁盘阵列进行数据恢复
(一)建立虚拟磁盘
我们以一个3块硬盘的raid5阵列为例,选用的虚拟机软件为VMware Workstation 6.5,并安装raid reconstructor绿色版用以读取磁盘的参数。
运行raid reconstructor自动分析损坏的raid 5阵列的raid磁盘次序、块大小和旋转方向等参数。根据raid5冗余性原理,若阵列里的磁盘数为x ,raid recon structor 通过x-1个磁盘就可以计算出原来的数据。输入原始raid 5阵列的硬盘数3,然后输入raid的每个物理硬盘,挂在我们的计算机上作为独立的物理硬盘hd130、hd131、hd132。单击“open drives”选择的每个硬盘,则获取到raid每个磁盘及总容量。单击 “next”将自动分析硬盘个数、组合数和扇区数,分析完成后生成硬盘次序 (drive order)、块长度(block size)、旋转方向(parity rotations to probe)。
启动虚拟机,使用“添加硬件向导”创建一个新的虚拟磁盘,用raid reconstructor获取的相关信息对虚拟磁盘进行设置。点Edit virtual machine settings>Add>选中Hard Disk>Next >选择Use a physical disk>Next>Use individual partitions选择要加入的虚拟硬盘,并进行参数设置。
(二)重构raid5阵列
在虚拟机上安装并运行raid reconstructor,在目的“target”框中输入要拷贝得文件名和路径,直接输入物理驱动器名(hd130、hd131、hd132),在选项奇偶校验检查(verify by parity)、增加额外扇区(append extra sectors)进行相应设置。单击拷贝“copy”,虚拟机就开始重构raid阵列。
至此我们已经建立了同原raid 5阵列完全相同的虚拟磁盘阵列。
(三)从虚拟磁盘阵列上恢复数据
直接通过操作系统存取虚拟设备上的文件,这样RAID数据就恢复成功了。
四、结语
造成磁盘数据丢失的原因十分复杂,每种情况都有着不同的表现。一般情况下,只要数据区的数据没有被覆盖,通过有针对性的方法都是可以恢复的。利用虚拟技术进行数据恢复是我们在数据恢复鉴定工作中的一个新的尝试,这一技术的成功应用为数据恢复鉴定提供了新的工作思路。