RAID,全称Redundant Array of Independent Disks,中文名称独立磁盘冗余阵列,简称磁盘阵列。利用虚拟化存储技能把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。
在运作中,取决于RAID 层级不同,数据会以多种模式分散于各个硬盘,RAID 层级的命名会以 RAID 开头并带数字,例如:RAID 0、RAID 1、RAID 5、RAID 6、RAID 7、RAID 01、RAID 10、RAID 50、RAID 60。每种等级都有其理论上的优缺陷,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器(群)读写性能。
大略来说,RAID把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。RAID常被用在做事器电脑上,并且常利用完备相同的硬盘作为组合。由于硬盘价格的不断低落与RAID功能更加有效地与主板集成,它也成为普通用户的一个选择,特殊是须要大容量存储空间的事情,如:视频与音频制作。

我们一样平常称RAID 0、RAID 1、RAID 2、RAID 3、RAID 4、RAID 5、RAID 6为标准RAID,称JBOD、RAID 7、RAID 01、RAID 10、RAID 50、RAID 53、RAID 60为稠浊RAID。
标准RAID
RAID 0
RAID 0亦称为带区集。它将两个以上的磁盘并联起来,成为一个大容量的磁盘。在存放数据时,分段后分散存储在这些磁盘中,由于读写时都可以并行处理,以是在所有的级别中,RAID 0的速率是最快的。但是RAID 0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)破坏,所有数据都会丢失,危险程度与#JBOD相称。
RAID 1
两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速率,理论上读取速率即是硬盘数量的倍数,与RAID 0相同。其余写入速率有眇小的降落。只要一个磁盘正常即可坚持运作,可靠性最高。其事理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)破坏时,镜像硬盘则代替主硬盘的事情。由于有镜像硬盘做数据备份,以是RAID 1的数据安全性在所有的RAID级别上来说是最好的。但无论用多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。
如果用两个不同大小的磁盘建RAID 1,可用空间为较小的那个磁盘,较大的磁盘多出来的空间也可以分割成一个区来利用,不会造成摧残浪费蹂躏。
RAID 2
这是RAID 0的改良版,以汉明码(Hamming Code)的办法将数据进行编码后分割为独立的比特,并将数据分别写入硬盘中。由于在数据中加入缺点改动码(ECC,Error Correction Code),以是数据整体的容量会比原始数据大一些。
RAID 2最少要三台磁盘驱动器方能运作。
RAID 3
采取Bit-interleaving(数据交错存储)技能,它须要通过编码再将数据比特分割后分别存在硬盘中,而将同比特检讨后单独存在一个硬盘中,但由于数据内的比特分散在不同的硬盘上,因此就算要读取一小段数据资料都可能须要所有的硬盘进行事情,以是这种规格比较适于读取大量数据时利用。
RAID 4
它与RAID 3不同的是它在分割时因此区块为单位分别存在硬盘中,但每次的数据访问都必须从同比特检讨的那个硬盘中取出对应的同比特数据进行核对,由于过于频繁的利用,以是对硬盘的损耗可能会提高。(块交织技能,Block interleaving)
RAID 5
RAID Level 5是一种储存性能、数据安全和存储本钱兼顾的存储办理方案。它利用的是Disk Striping(硬盘分割)技能。
RAID 5至少须要三个硬盘,RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生破坏后,可以利用剩下的数据和相应的奇偶校验信息去规复被破坏的数据。RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统供应数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0附近似的数据读取速率,只是由于多了一个奇偶校验信息,写入数据的速率相对单独写入一块硬盘的速率略慢,若利用“回写缓存”可以让性能改进不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。
RAID 6
与RAID 5比较,RAID 6增加第二个独立的奇偶校验信息块。两个独立的奇偶系统利用不同的算法,数据的可靠性非常高,任意两块磁盘同时失落效时不会影响数据完全性。RAID 6须要分配给奇偶校验信息更大的磁盘空间和额外的校验打算,相对付RAID 5有更大的IO操作量和打算量,其“写性能”强烈取决于详细的实现方案,因此RAID 6常日不会通过软件办法来实现,而更可能通过硬件办法实现。
同一数组中最多容许两个磁盘破坏。改换新磁盘后,数据将会重新算出并写入新的磁盘中。
稠浊RAID
JBOD
JBOD( Just a Bunch Of Disks)在分类上,JBOD并不是RAID的等级。由于并没有规范,市场上有两类主流的做法
利用单独的链接端口如SATA、USB或1394同时掌握多个各别独立的硬盘,利用这种模式常日是较高真个设备,还具备有RAID的功能,不须要依赖JBOD达到合并逻辑扇区的目的。
只是将多个硬盘空间合并成一个大的逻辑硬盘,没有缺点备援机制。
数据的存放机制是由第一颗硬盘开始依序今后存放,即操作系统看到的是一个大硬盘(由许多小硬盘组成的)。但如果硬盘损毁,则该颗硬盘上的所有数据将无法救回。若第一颗硬盘破坏,常日无法作接济(由于大部分文件系统将磁盘分割表(partition table)存在磁盘前端,即第一颗),失落去磁盘分割表即失落去统统数据,若遭遇磁盘阵列数据或硬盘出错的状况,危险程度较RAID 0更剧。它的好处是不会像RAID 0,每次访问都要读写全部硬盘。但在部分的JBOD数据规复实践中,可以规复未损毁之硬盘上的数据。同时,由于每次读写操作只浸染于单一硬盘,JBOD的传输速率与I/O表现均与单颗硬盘无异。
RAID 7
RAID 7并非公开的RAID标准,而是Storage Computer Corporation的专利硬件产品名称,RAID 7因此RAID 3及RAID 4为根本所发展,但是经由强化以办理原来的一些限定。其余,在实现中利用大量的缓冲存储器以及用以实现异步数组管理的专用即时处理器,使得RAID 7可以同时处理大量的IO哀求,以是性能乃至超越了许多其他RAID标准的实做产品。但也由于如此,在价格方面非常的高昂。
RAID 10/01
RAID 10是先分割数据再镜像,再将所有硬盘分为两组,视为以RAID 1作为最低组合,然后将每组RAID 1视为一个“硬盘”组合为RAID 0运作。
RAID 01则是跟RAID 10的程序相反,是先镜像再将数据到分割两组硬盘。它将所有的硬盘分为两组,每组各自构成为RAID 0作为最低组合,而将两组硬盘组合为RAID 1运作。
当RAID 10有一个硬盘受损,别的硬盘会连续运作。RAID 01只要有一个硬盘受损,同组RAID 0的所有硬盘都会停滞运作,只剩下其他组的硬盘运作,可靠性较低。如果以六个硬盘建RAID 01,镜像再用三个建RAID 0,那么坏一个硬盘便会有三个硬盘离线。因此,RAID 10远较RAID 01常用,零售主板绝大部分支持RAID 0/1/5/10,但不支持RAID 01。
RAID 50
RAID 5与RAID 0的组合,先作RAID 5,再作RAID 0,也便是对多组RAID 5彼此构成Stripe访问。由于RAID 50因此RAID 5为根本,而RAID 5至少须要3颗硬盘,因此要以多组RAID 5构成RAID 50,至少须要6颗硬盘。以RAID 50最小的6颗硬盘配置为例,先把6颗硬盘分为2组,每组3颗构成RAID 5,如此就得到两组RAID 5,然后再把两组RAID 5构成RAID 0。
RAID 50在底层的任一组或多组RAID 5中涌现1颗硬盘破坏时,仍能坚持运作,不过如果任一组RAID 5中涌现2颗或2颗以上硬盘损毁,整组RAID 50就会失落效。
RAID 50由于在上层把多组RAID 5构成Stripe,性能比起纯挚的RAID 5高,容量利用率比RAID5要低。比如同样利用9颗硬盘,由各3颗RAID 5再组成RAID 0的RAID 50,每组RAID 5摧残浪费蹂躏一颗硬盘,利用率为(1-3/9),RAID 5则为(1-1/9)。
RAID 53
它拥有一个镜像条带数组,硬盘里个中一个条带便是一个是由3组以上的RAID 5组成RAID 3硬盘阵列。
RAID 60
RAID 6与RAID 0的组合:先作RAID 6,再作RAID 0。换句话说,便是对两组以上的RAID 6作Stripe访问。RAID 6至少需具备4颗硬盘,以是RAID 60的最小需求是8颗硬盘。
由于底层因此RAID 6组成,以是RAID 60可以容许任一组RAID 6中损毁最多2颗硬盘,而系统仍能坚持运作;不过只要底层任一组RAID 6中损毁3颗硬盘,整组RAID 60就会失落效,当然这种情形的概率相称低。
比起纯挚的RAID 6,RAID 60的上层透过结合多组RAID 6构成Stripe访问,因此性能较高。不过利用门槛高,而且容量利用率低是较大的问题。
软RAID和硬RAID
根据实现模式,RAID又分为软RAID和硬RAID。
软件磁盘阵列(Software RAID)
紧张由CPU处理数组存储作业,缺陷为消耗较多CPU资源运算RAID,优点则是价格偏低。分类有3种:
基于主板的磁盘阵列:只须要主板支持即可(常日是芯片组内置的RAID功能,如Intel Matrix RAID,Intel Rapid Storage Technology),不须要任何磁盘阵列卡。若主板破坏,可能难以购买同款主板重修RAID。
硬件赞助磁盘阵列(Hardware-Assisted RAID):须要一张基于Fake RAID的RAID卡,以及厂商所供应的驱动程序,但此类RAID卡仍旧通过CPU进走运算。这款RAID较易迁移到其他电脑。RAID功能靠运行于操作系统的厂商驱动程序和CPU运算供应。
操作系统的RAID功能:如Linux、FreeBSD、Windows Server等操作系统内置RAID功能。
硬件磁盘阵列(Hardware RAID)
RAID卡上内置处理器,不须要做事器的CPU运算。优点是读写性能最快,不占用做事器资源,可用于任何操作系统,也能在系统断电后,透过备份电池模块(BBU, Backup Battery Unit)以及非易失落性存储器 (NVRAM)将硬盘读写日志档(Journal)包含的剩余读写作业先记录在存储器中,等待电力供应撤销后,再由NVRAM取回日志档数据,接着再完成读写作业,将剩余读写作业安全完成以确保读写完全性。备份电池模块常日汇合营数组卡的Write-Back缓存模式,借由此存储器缓存读写作业以得到更高的读写性能;但是没有备份电池模块的硬件磁盘阵列卡,切勿利用Write-Back缓存模式以免遭遇断电环境导致读写数据流失落。此外,由于硬件磁盘阵列卡搭载内置处理器,以是可以与操作系统分离出来,对硬盘进行各种作业,还原作业的速率也比软件磁盘阵列快。缺陷是其售价很高。
#磁盘阵列#