最全面的各类RAID详解

磁盘阵列(Redundant Arrays of Independent Disks,RAID),全称独立磁盘冗余阵列 。
磁盘阵列是由很多廉价的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能 。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上 。
利用同位检查(ParityCheck)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中 。
相同的数据存储在多个硬盘的不同的地方的方法 。通过把数据放在多个硬盘上(冗余),输入输出操作能以平衡的方式交叠,改良性能 。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错 。
分类:
一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件实现 。
RAID实现的方式:
RAID 0,RAID 1,RAID2,RAID 3,RAID 4,RAID 5,RAID 6,RAID 7,RAID 01,RAID 10,RAID50,RAID 53 。
常见的有:RAID 0,RAID 1,RAID 5,RAID 6,RAID 01,RAID 10 。
原理剖析:
RAID 0:
RAID 0又称为Stripe或Striping,中文称之为条带化存储,它代表了所有RAID级别中最高的存储性能 。
原理:
是把连续的数据分散到多个磁盘上存取,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求 。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能 。
磁盘空间 = 磁盘总量 = 100%
需要的磁盘数 ≥ 2
读写性能= 优秀 = 磁盘个数(n)*I/O速度 = n*100%
块大小 = 每次写入的块大小 = 2的n次方 = 一般为2~512KB
优点:
1、 充分利用I/O总线性能使其带宽翻倍,读/写速度翻倍 。
2、 充分利用磁盘空间,利用率为100% 。
缺点:
1、 不提供数据冗余 。
2、 无数据检验,不能保证数据的正确性 。
3、 存在单点故障 。
应用场景:
1、 对数据完整性要求不高的场景,如:日志存储,个人娱乐
2、 要求读写效率高,安全性能要求不高,如图像工作站
架构图:

最全面的各类RAID详解

文章插图
 
RAID 1:
RAID 1又称为Mirror或者Mirroring,中文称之为镜像存储 。RAID 1是磁盘阵列中单位成本最高的,磁盘利用率最低,但提供了很高的数据安全性和可用性 。
原理:
将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”通过镜像实现数据冗余,成对的独立磁盘上产生互为备份的数据 。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能 。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据 。最大允许互为镜像内的单个磁盘故障,如果出现互为镜像的两块磁盘故障则数据丢失 。

磁盘空间 = 磁盘总量/2 = 50%
需要的磁盘数(n) ≥ 2*n
读性能= 优秀 = I/O性能*n = 200%
写性能 = 正常 = I/O性能 = 100%
优点:
1、 提供数据冗余,数据双倍存储 。
2、 提供良好的读性能
缺点:
1、 无数据校验
2、 磁盘利用率低,成本高
应用场景:
1、 存放重要数据,如数据存储领域
架构图:
最全面的各类RAID详解

文章插图
 
RAID 2:
RAID 0 的优化版本
原理:
每次读写需要全组磁盘联动,,提供汉明码错误校验机制,将数据进行编码后分区为独立的位,并将数据分别写入硬盘中 。因为在数据中加入了错误修正码,输出数据的速率与驱动器组中速度最慢的相等 。
磁盘空间 ≤ 磁盘总量
需要的磁盘数 ≥ 3
数据单位 = 字节
优点:
1、 有数据校验机制
2、 磁盘的寻道时间减少
缺点:
1、 目前应用场景不多,基本被淘汰 。
2、 成本高
应用场景:
影像处理或者CAD/CAM的工作站
架构图:
最全面的各类RAID详解

文章插图
 
RAID 3:
类似于RAID 2 ,
原理:
采用Bit-interleaving(数据交错存储)技术,它需要通过编码再将数据位分区后分别存在硬盘中,而将同位检查后单独存在一个硬盘中,但由于数据内的位分散在不同的硬盘上,因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作,所以这种规格比较适于读取大量数据时使用 。


推荐阅读