RAID5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 以四个硬盘组成的RAID 5为例,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。
当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。
同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。
A值
|
B值
|
Xor结果
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
创建raid 5
[root@mail ~]# mdadm -C /dev/md5 -a yes -l 5 -n 4 /dev/sd
sda sda2 sdb sdc sdd sde sdf sdg
sda1 sda3 sdb1 sdc1 sdd1 sde1 sdf1 sdg1
[root@mail ~]# mdadm -C /dev/md5 -a yes -l 5 -n 4 /dev/sd[b,c,d,e]1 --chunk 64
mdadm: /dev/sdb1 appears to contain an ext2fs file system
size=20964608K mtime=Thu Jun 13 14:32:01 2013
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid0 devices=2 ctime=Thu Jun 13 14:20:48 2013
mdadm: /dev/sdc1 appears to be part of a raid array:
level=raid0 devices=2 ctime=Thu Jun 13 14:20:48 2013
mdadm: /dev/sdd1 appears to contain an ext2fs file system
size=1044096K mtime=Thu Jun 13 15:15:45 2013
mdadm: /dev/sdd1 appears to be part of a raid array:
level=raid1 devices=2 ctime=Thu Jun 13 14:51:54 2013
mdadm: /dev/sde1 appears to contain an ext2fs file system
size=1044096K mtime=Thu Jun 13 15:15:45 2013
mdadm: /dev/sde1 appears to be part of a raid array:
level=raid1 devices=2 ctime=Thu Jun 13 14:51:54 2013
mdadm: largest drive (/dev/sdb1) exceed size (1044096K) by more than 1%
Continue creating array? yes
mdadm: array /dev/md5 started.
[root@mail ~]# mkfs.ext3 /dev/md5
[root@mail ~]# mdadm -C /dev/md5
RAID的保存原理是用Bit Striping及当前主流Block Striping的分割方式,将Data分散保存至各硬盘中,当硬盘有受损时则经由XOR运算,再将存在其他各硬盘内的Parity Blocks及Data Stripe磁区的Data Blocks进行计算而重建资料Rebuild。