什么是RAID 5呢?它是如何进行数据恢复的呢?下面我们来看一下什么是RAID5,RAID5的数据恢复原理。
RAID 5 的定义:
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。
RAID5数据恢复原理:
要想明白RAID5原理,必须明白由XOR运算产生的RAID5校验码原理。两个数字之间的XOR运算定义是:
XOR 1 = 0
1 XOR 0 = 1
0 XOR 1 = 1
0 XOR 0 = 0
多个数字XOR的时候,有两个特点:
A)结果与运算顺序无关。也就是 (a XOR b) XOR c = a XOR (b XOR c)。
B)各个参与运算的数字与结果循环对称。如果 a XOR b XOR c = d,那么a = b XOR c XOR d;b = a XOR c XOR d;c = a XOR b XOR d。
磁盘阵列中的RAID5之所以能够容错,就是利用了XOR运算的这些特点。上面例子中的a、b、c、d就可以看作是四颗磁盘上的数据,其中三个是应用数据,剩下一个是校验。碰到故障的时候,甭管哪个找不到了,都可以用剩下的三个数字XOR一下算出来。在实际应用中,阵列控制器一般要先把磁盘分成很多条带(英文叫Stripe,注意不是Stripper),然后再对每组条带做XOR。
明白了RAID5原理,RAID5数据恢复原理也就不难理解了。在阵列丢失后,数据恢复工程师查看硬盘现有信息,通过计算,找出原盘盘顺,块大小等相关信息后,人工模拟出原始创建阵列状态,从而读出所有数据。因此,RAID5数据丢失后如果进行了Rebuild重组操作,那么原有的阵列信息将不复存在,也就无法计算出原有参数,从而数据也将无法恢复;反之,如果未进行Rebuild重组等相关操作,RAID5数据恢复几乎可以达到100%成功率。