RAID5工作原理介绍
本文由LinuxProbe.Com团队成员烨子整理发布,原文来自:elecfans。
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高,存储成本相对较低。
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的保存原理是用Bit Striping及当前主流Block Striping的分割方式,将Data分散保存至各硬盘中,当硬盘有受损时则经由XOR运算,再将存在其他各硬盘内的Parity Blocks及Data Stripe磁区的Data Blocks进行计算而重建资料Rebuild。
一、RAID 5 Striping 架构:RAID-5 Striping Mode
二、RAID 5 受损运作模式:RAID-5 Degraded Mode
三、RAID 5 XOR 复原:RAID-5 XOR Data Recovery