磁盘阵列(Redundant Arrays of Independent Disks,RAID),全称独立磁盘冗余阵列。

磁盘阵列是由很多廉价的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
利用同位检查(ParityCheck)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
相同的数据存储在多个硬盘的不同的地方的方法。通过把数据放在多个硬盘上(冗余),输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。
 
分类
一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件实现

RAID分为很多种类,常见的有一下六种,如下图所示

RAID级别 原理 磁盘空间 需要磁盘数 读写性能 块大小 优点 缺点 应用场景
RAID0 (条带化存储) 把连续的数据分散到多个磁盘上存取系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。 100% >=2 磁盘个数(n)I/O速度(n100%) 2的n次方( 一般为2~512KB) 充分利用I/O总线性能使其带宽翻倍,读写速度翻倍;充分利用磁盘空间,利用率为100% 无数据冗余,无数据校验,不能保证该数据的正确性,存在单点故障 对数据完整性不高,如:日志存储,个人娱乐;读写效率高,如图像工作站
RAID1(镜像存储) 将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”通过镜像实现数据冗余,成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1可以提高读取性能。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。最大允许互为镜像内的单个磁盘故障,如果出现互为镜像的两块磁盘故障则数据丢失 %50(磁盘总量/2) >=2*n 读性能:I/O性能*n(200%);写性能:I/O性能(100%) 提供数据冗余,数据双倍存储;提供良好的读性能 无数据校验,磁盘利用率低,成本高 存放重要的数据,如数据存储领域
RAID2(RAID0的优化版本) 每次读写需要全组磁盘联动,提供汉明码错误校验机制,将数据进行编码后分区为独立的位,并将数据分别写入硬盘中。因为在数据中加入了错误修正码,输出数据的速率与驱动器组中速度最慢的相等 <=磁盘总量 >=3 有数据校验机制 磁盘的寻道时间减少,成本高 影像处理或者CAD/CAM的工作站
RAID3(类似于RAID2。数据交错存储) 采用Bit-interleaving(数据交错存储)技术,它需要通过编码再将数据位分区后分别存在硬盘中,而将同位检查后单独存在一个硬盘中,但由于数据内的位分散在不同的硬盘上,因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作,所以这种规格比较适于读取大量数据时使用 n-1 >=n+1 写性能:一般;读性能:良好 有数据校验机制 校验盘很容易成为整个系统的瓶颈 写操作较少,读操作较多的应用环境,如:数据库、web服务器等;适合大文件类型且安全性要求较高的应用,如视频编辑、硬盘播出机、大型数据库等。
RAID5(奇偶存储,条带化存储) 据以块分段条带化存储。校验信息交叉地存储在所有的数据盘上。数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据 n-1 >=3 磁盘个数(n)I/O速度(n100%) 读写性能高,有校验机制,磁盘空间利用率高 磁盘越多安全性越差 安全性高,如金融、数据库、存储等
RAID01(RAID0和RAID1的组合形式) 先做RAID0,再将RAID0组合成RAID1,拥有两种RAID的特性 50%(n/2) 2*n~4 RAID0 较高的IO性能,有数据冗余,无单点故障 成本稍高,安全性能比RAID10差 适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等
RAID10(RAID0和RAID1的组合形式) 先做RAID1再将RAID1组合成RAID0,拥有两种RAID的特性 50% 2*n~4 RAID0 RAID10读性能优于RAID01,较高的IO性能,有数据冗余,无单点故障,安全性能高 成本稍高 适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等