本文由LinuxProbe.Com团队成员烨子整理发布,原文来自:。

导读 在《Linux就该这么学》书籍的第6章第7节磁盘冗余阵列讲到了RAID 5,此文仅作为对RAID 5的兴趣阅读,供读者了解其工作原理。

RAID5_01
RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。以四个硬盘组成的RAID 5为例,其数据存储方式如图4所示:图中,P0为D0,D1和D2的奇偶校验信息,P1为D3,D4,D5的奇偶校验信息,以此类推。由图中可以看出,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID 5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID 5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。

RAID 5奇偶校验信息——异或运算

1.异或的逻辑符号:^

2.异或的逻辑定义
同则假,异则真(0^0=0,1^1=0, 0^1=1 ,1^0=1)

3.计算机中的逻辑运算用1表示真,0表示假。

4.两个字节按位异或的例子:
01111001
11100111 :异或运 ^
-------------------
10011110

5.假设一个3个数字的异或运算模型
例:3块硬盘HD1,HD2,HD3的数据信息全通过校验盘HD4存放校验信息

hd1 hd2 hd3 --hd4
0 0 0 --0
0 0 1 --1
0 1 0 --1
0 1 1 --0
1 0 0 --1
1 0 1 --0
1 1 0 --0
1 1 1 --1

从这个模型理解异或运算的概念:偶数个1的结果为0,奇数个1的结果为1;

图解RAID 5

RAID的保存原理是用Bit Striping及当前主流Block Striping的分割方式,将Data分散保存至各硬盘中,当硬盘有受损时则经由XOR运算,再将存在其他各硬盘内的Parity Blocks及Data Stripe磁区的Data Blocks进行计算而重建资料Rebuild。
一、RAID 5 Striping 架构:RAID-5 Striping Mode
RAID5_02

二、RAID 5 受损运作模式:RAID-5 Degraded Mode
RAID5_03

三、RAID 5 XOR 复原:RAID-5 XOR Data Recovery
RAID5_04

原文来自:

本文地址://gulass.cn/raid5-working-principle.html编辑:烨子,审核员:逄增宝

本文原创地址://gulass.cn/raid5-working-principle.html编辑:逄增宝,审核员:暂无