本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、RAID简述
RAID全称为独立磁盘冗余阵列(Redundant Arrar of Independent Disks) 由于磁盘存储介质数据的可靠性容易受到环境影响,而发生数据错误的代价非常大,因此需要考虑存储的容灾与恢复 主要有以下两种方式解决:
- 大型、昂贵、抗干扰的单磁盘
- 多个便宜的普通磁盘组成可靠存储系统
其中,每个硬盘被称为块或磁盘阵列,结构上是竖向的,而每一层被称为带区,结构上是横向的
二、单RAID
RAID-0
RAID-0也被称为磁盘跨区(Disk Spanning),它是无差错控制的带区组,RAID-0用多个磁盘并行读写,把数据分成数据块宝存在不同的驱动器,它没有冗余备份,不提高可靠性,但可以提高读写的性能。如果某个磁盘驱动器发生了错误,即使其他数据正确依旧无用
RAID-1
RAID-1也称为磁盘镜像(Disk Mirroring),对数据盘进行完全备份,放在镜像盘,读写与单块磁盘无区别(本质上也只有一半在工作)。当系统需要极高的可靠性可以采用RAID-1,并且RAID-1支持热替换。当主硬盘损坏时,镜像盘可以代替主盘工作
RAID-2
RAID-2是一种理论RAID组成方式,它是基于海明码的校验存储,将硬盘分成两个集合:数据驱动器与校验驱动器,每次读写将数据驱动器的数据计算海明码存入教研寄存器。由于其需要多个磁盘存放校验、恢复数据,因此很少使用
RAID-3
RAID-3是基于带奇偶检验码的并行传送,它一次访问所有磁盘块的同一层带区,类似RAID-2,但是只能查错不能纠错,也分为数据驱动器与校验驱动器。RAID-3使用单块盘存放奇偶校验信息。
RAID-4
RAID-4也是一种理论上的组成方式,基于奇偶校验码的独立磁盘结构,它一次访问一个磁盘,是RAID-3的另一种访问方式,但是对于数据恢复时难度非常大,数据访问速度也很低
RAID-5
RAID-5基于分布式奇偶校验的独立磁盘结构,它的奇偶校验码存放在所有的磁盘上,而没有独立的校验驱动器,这样可以避免对奇偶校验驱动器的竞争。与RAID-3相比,RAID-3每进行一次数据传输需要涉及所有阵列盘,而RAID-5的大部分数据传输只需要对一块磁盘操作,是使用最广的RAID
RAID-6
RAID-6采用分布式奇偶校验码和里德所罗门校验码的独立磁盘结构,上述的RAID只能处理一个磁盘出错的情况,而RAID-6支持两个硬盘出错。由于开销很大,几乎不使用
三、混合RAID
混合RAID主要采用RAID-10与RAID-01,即先采用一种RAID再采用另一种RAID,被称为高可靠性与高效的磁盘结构。因为两种结构各有优缺,混合可以达到互补
下图中:a)为RAID-10,b)为RAID-01
四、各RAID性能
| RAID | 最小硬盘数 | 组成 | 利用率 | 描述 |
|---|---|---|---|---|
| RAID-0 | 2 | 2存储 | 只并行存储 | |
| RAID-1 | 2 | 1存储+1镜像 | 50%,最低 | 镜像、完全备份 |
| RAID-2 | 2 | 1存储+1校验 | 海明码校验 | |
| RAID-3 | 3 | 2存储+1校验 | 奇偶校验、横向访问 | |
| RAID-4 | 3 | 2存储+1校验 | 奇偶校验、纵向访问 | |
| RAID-5 | 3 | 3存储&校验 | 分布式奇偶校验 | |
| RAID-6 | 4 | 4存储&校验 | 分布式奇偶+里德-所罗门校验 |