磁盘阵列数据恢复 不小心将原来的raid删除了

一、准备知识
RAID-5是数据和奇偶校验间断分布在三个或更多物理磁盘上的、具有容错功能的阵列方式 。如果物理磁盘的某一部分失败,您可以用余下的数据和奇偶校验重新创建磁盘上失败的那一部分上的数据 。对于多数活动由读取数据构成的计算机环境中的数据冗余来说,RAID-5是一种很好的解决方案 。
有一些服务器或者磁盘阵列柜会将RAID信息存储在磁盘的某些地方,一般是阵列内每块磁盘的最前面的一些扇区或者位于磁盘最后的一些扇区内 。当RAID信息存储在每块磁盘的前面的扇区时,在分析与重组RAID的时候就需要人为的去掉这些信息,否则就会得到错误的结果 。
在做RAID5的数据恢复的时候,除了需要知道RAID内数据的起始扇区,还需要了解(数据)块大小(也称深度,depth)、数据与校验的方式等 。
在实际应用中,阵列控制器一般要先把磁盘分成很多条带(Stripe,如图1上绿色线框起来的部分就是一个条带),然后再对每组条带做校验 。每个条带上有且仅有一个磁盘上存放校验信息,其他的磁盘上均存放数据 。数据被控制器划分为相等的大小,分别写在每一块硬盘上面 。每一个数据块的长度或者说数据块的容量就被称为块大小或者叫(条带)深度 。在阵列内,条带大小一般是相同的,即在每个磁盘内的数据块的大小和校验块的大小是一致的 。

磁盘阵列数据恢复 不小心将原来的raid删除了

文章插图
图1
每一个条带内的校验盘上的内容是通过这个条带上其他磁盘上的数据做异或而来,如P1=D1 XOR D2 XOR D3(见图2) 。一般来说,在盘序是正确的情况下,校验块在RAID5内每块磁盘的写入顺序都是从第一块盘到最后一块盘或者从最后一块盘到第一块盘(如图2) 。从图上看,校验的排列总是从图的左上角到右下角,或者从图的有上角到左下角 。这就为我们判断磁盘的顺序提供了依据 。如果考虑上数据写入磁盘的顺序(这个就是所谓的校验旋转方式,以下简称旋转方式),我们便得到了如图2所示的4种数据与校验的排列形式:forward 123(右不对称)、forward dyn(右对称)、backward 321(左不对称)、backward dyn(左对称) 。其中forward dyn的方式比较不常见,在判断旋转方式的时候可以不考虑 。
磁盘阵列数据恢复 不小心将原来的raid删除了

文章插图
图2
最后,不论是单独使用的磁盘还是使用多块磁盘组合成RAID,MBR始终是这个单独磁盘或者RAID的0扇区 。
二、恢复过程1.一般思路
对于一般的RAID5数据恢复,我们需要了解以下参数:盘序、块大小、旋转方式和数据起始扇区等 。所以,对于RAID5的数据恢复也就是通过文件系统、文件格式、磁盘内其它相关数据等来确定这四个参数的过程 。当这四个参数确定后,便可以通过相关的工具将分散在每块磁盘上数据还原为RAID5内实际的数据,从而达到恢复RAID5内数据的目的 。
下面的是RAID5数据恢复的一般过程,之后将通过一个案例的分析过程来具体说明如何恢复RAID5的数据 。
通过工具找到MBR与DBR,并判断硬盘内的数据是否同步—〉通过MBR的位置判断起始扇区位置—〉通过DBR找到NTFS分区的MFT记录的位置—〉通过MFT记录判断块大小、盘序、旋转方式—〉数据重组、恢复RAID5内数据
2.恢复过程
环境及工具:windows2003 server、Raid reconstructor3.02(以下简称RR3)、Runtimes DiskExplorer for NTFS 3.01(以下简称DE3)
基本情况:这是一组由四块盘组成的RAID5,每块硬盘为100M,windows2003的操作系统,分了一个分区290M,分区格式为NTFS 。
首先,打开Raid reconstructor 。①在 #drives 后面的文本框中输入这个RAID5的盘数4 。②分别在Drive1、Drive2、Drive3、Drive4后输入每个磁盘或磁盘镜像的路径或单击右键进行选择 。③单击软件下面的Open drives 。