RAID磁盘阵列分级与结构
RAID的分级与结构
磁盘整列整体结构图:
RAID0
- 即Data Stripping(数据分块,数据条带化)。将整个逻辑盘的数据分块地分布在多个物理磁盘上,可以进行并行读写,提供最快速度,但是没有冗余能力。
- 优点:
(1)读写时数据分块,并行操作;
(2)当每个磁盘控制器只连接一个磁盘时,数据能分块到多个磁盘控制器,取得最佳性能;
(3)不需要计算校验和;
(4)设计简单,计算容易; - 缺点:
(1)不能容错,不算真正的RAID;
(2)一块磁盘失效,可能丢失所有数据;
(3)不能用在可靠性要求高的应用中;
RAID1
RAID1又称镜像模式(Mirror或Mirroring),目标是最大限度地保证用户数据的可用性和可修复性。把用户写入硬盘的数据百分之百地自动复制到另一个硬盘上。与RAID0相比,RAID1首要考虑安全性,容量减半,速度不变。
- 优点:
(1)对每个磁盘对只需要一次写操作;
(2)写性能与单块磁盘相同,读性能优于单块磁盘;
(3)100%的数据冗余,一块磁盘失效时,只需要把数据拷贝到替换的磁盘上;
(4)特定系统下,RAID1系统可在多块磁盘同时失效的情况下继续工作;
(5)存储子系统设计简单;
- 缺点:
(1)所有RAID中有者最高的磁盘开销;
(2)如果使用软件实现RAID1的功能,CPU开销太大;
推荐财务系统,金融证券,需要非常高可用性的场景使用。
RAID2
RAID把磁盘分成数据盘(Disk0-3和校验盘Disk4-6),用户数据按位或字节分散存放于数据盘上,不是以数据块为单位,校验盘上存放相应的Hamming纠错码。
- 优点:
(1)及时纠错;
(2)可以达到很高的数据传输率;
(3)所需的数据传输率越高,数据磁盘与纠错磁盘的比例越高;
(4)与RAID3-5相比,控制器设计较为简单;
- 缺点:
(1)需要多个纠错磁盘,空间利用率低;
(2)处理速率在最好的情况下只相当于单块磁盘;
(3)没有商业化产品;
RAID3
仅用一块磁盘存放校验数据,带来了校验数据存放时的读写瓶颈;RAID3采用字节交叉方式(即以字节为存储单位),采用奇偶校验算法。
其中
- 优点:
(1)磁盘读性能,写性能很高;
(2)有磁盘失效时,对吞吐率没多大影响;
(3)需要的校验盘少,空间利用率高;
- 缺点:
(1)控制器设计相当复杂;
(2)数据以字节划分,粒度太细,占用计算资源较多,难以软件实现;
适用场景:视频处理,图像编辑,需要高吞吐率的场景;
RAID4
将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。商业环境很少使用。
RAID5(使用最多)
克服了RAID3、4中用一块固定磁盘存放校验数据的不足,将各个磁盘生成的校验数据分成块,分散存放在组成阵列的各个磁盘中,缓解校验数据存取时所产生的瓶颈问题。但是数据分块及存取控制需要软硬件支持以及性能代价。
- 优点:
(1)读性能高;
(2)写性能一般;
(3)所需要的校验盘比较少,磁盘空间利用率高;
- 缺点:
(1)磁盘失效影响吞吐率;
(2)控制器设计最复杂;
(3)与RAID1相比,磁盘失效时重建非常困难;
RAID5是最常用的RAID类型,推荐使用场景包括:文件服务器、应用服务器、WWW、E-mail、新闻服务器等。
RAID6
采用分块交叉技术和分布在不同驱动器上的奇偶方案。与RAID5相比,RAID6增加了第二个独立地奇偶校验快,两个独立的奇偶系统使用不同的算法。允许两个磁盘同时出现故障RAID6磁盘阵列最少需要4块硬盘。
如下图,P0和PG是由D01~D04采用不同的奇偶校验算法分别产生的校验位,通过增加一个冗余盘,可以恢复两个数据出错。
- 优点:
(1)使用二维校验,纠错能力强;
(2)高可靠;
- 缺点:
(1)控制器设计复杂;
(2)校验和计算的开销很高;
(3)写性能差;
(4)使用二维校验,至少需要N+2块硬盘;
适用于对可靠性要求很高的场景。