独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks,旧称廉价磁盘冗余阵列,简称硬盘阵列。

其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。

常分为RAID-0RAID-1RAID-1ERAID-5RAID-6RAID-7RAID-10RAID-50RAID-60


RAID 0

wKioL1NgiK3R13ZGAAGdYvmU-rg829.jpg

RAID 0亦称为带区集,它是将多个磁盘并列起来,成为一个大磁盘,需要2块以上的磁盘。并行I/O,不具备冗余,速度最快,性能和容量与磁盘数成正比。

在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进磁盘中,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都会丢失,风险最高。



RAID 1

wKiom1NgigKjEJvIAAG9HDKcY8Y002.jpg

RAID1也即数据镜像,需要两块以上的磁盘。数据在两块磁盘中各保留一份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但利用率是最低的。

数据读取时从多块磁盘同时读取不同的分块,理论上读取速度等于硬盘数量的倍数,写入速度有微小的降低。

如果用两个不同大小的磁盘建RAID 1,可用空间为较小的那个磁盘,较大的磁盘多出来的空间也可以分区成一个区来使用,不会造成浪费。


RAID 5

wKioL1Ngie3ABq4HAANpMQlT2y0759.jpg

RAID5是一种储存性能、数据安全和存储成本兼顾的存储解决方案。因此,RAID2,RAID3,RAID4,RAID6很少被使用。

RAID5使用的是DiskStriping(硬盘分区)技术,至少需要三颗硬盘,允许一块磁盘故障。

RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当任意一块磁盘损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

RAID 5可以理解为是RAID0RAID 1的折衷方案。

RAID 5对数据的保障程度要比RAID1低,而磁盘利用率要比RAID1高。

RAID 5具有和RAID0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度比RAID0略慢,若使用回写高速缓存可以让性能改善不少。


RAID 10/01


wKiom1NgijGBbGKyAAKbOpG3nDo181.jpg

wKioL1NgigeCbjU6AAQr2hUvJos578.jpg

RAID 10RAID01是结合RAID1RAID0,至少需要4块硬盘。

RAID10是先做RAID1,再对两组及以上的RAID1RAID0。当一块磁盘损坏,当前RAID1仍然能提供服务,另一组RAID1也可以同时坏掉一块磁盘。

RAID01则刚好相反,先做RAID0,再对两组RAID0RAID1。当一块磁盘损坏时,当前RAID0受损,只有另一组RAID0提供服务,如果另一组RAID0也损坏一块磁盘,数据将会丢失。因此,可靠性较低。

因此,我们通常使用RAID10,而不用RAID01


RAID 50

wKiom1NgikajlmZtAAKY9geKK9Y705.jpg

RAID 5RAID0的组合,先作RAID 5,再作RAID 0,也就是对多组RAID 5彼此构成Stripe访问。至少需要6台硬盘

RAID 50在底层的任一组或多组RAID5中出现1台硬盘损坏时,仍能维持运作,不过如果任一组RAID5中出现2台或两台以上硬盘损毁,整组RAID 50就会失效。

RAID 50由于在上层把多组RAID5构成Stripe,性能比RAID 5高,容量利用率比RAID5要低。


常用磁盘陈列性能比较表

RAID

等级

最少硬盘数量

最大容错

可用容量

读取性能

写入性能

备注

RAID0

2

0

n

n

n

高速度和大容量,可靠性差

RAID1

2

n/2

n/2

2

1

最大安全性能,利用率最低

RAID5

3

1

n-1

n-1

n-1

性价比高

RAID10

4

n/2

n/2

n

n/2

综合RAID1/0的优点,适用于数据库,服务器

备注:RAID1的可用容量,维基百科中记载为n/2,但我认为从技术角度来讲应该是1.


RAID空间计算

假设都以6600G SAS硬盘

RAID等级

计算方法

可用容量

RAID0

6 * 600G

3600GB

RAID1

6/2 * 600G

1800GB

RAID5

(6-1) * 600G

3000GB

RAID10

6/2 * 600G

1800GB

RAID50

(6/2-1) * 2 * 600G

2400GB