什么是RAID?
独立磁盘冗余阵列(RAID,Redundant Arrary of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Arrary of Inexpensive Disks),简称磁盘阵列。基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。
根据选择的版本不同,RAID比但可硬盘由以下一个或多个方面的好处:
提高IO能力:
磁盘并行读写
提高耐用性:
磁盘冗余来实现
RAID常见的级别有哪些?
RAID 0
RAID 0也称为带区集。它将两个以上的磁盘并连起来,成为一个大容量的磁盘。存放数据时,分段后分散在这些磁盘中,因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0既没有冗余能力,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失,危险程度与JBOD相当。
特点总结:
读、写性能提升
可用空间:N*min(S1,S2,S3,…)
无容错能力
最少磁盘数:2,2+
RAID 1
RAID 1指两组以上的N组磁盘相互作镜像,在一些多线程操作系统有很好的读取速度,理论上读取速度等于硬盘数量的倍数,另外写入速度有微小的降低。主要一个磁盘正常即可维持运作,可靠性最高。其原理为在主硬盘上存放数据的同时也在镜像盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID 级别上来说是最好的。 但无论多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。
如果两个大小不同的磁盘做RAID 1 ,可用空间取决于磁盘空间小的那块儿盘,较大的磁盘多出来的空间也可以分区成一个区来使用,不至于浪费。
特点总结:
读性能提升、写性能略有下降
可用空间:1*min(S1,S2,…)
有冗余能力
最少磁盘数:2,2+
RAID 5
RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘技术)。RAID 5 至少需要三块儿硬盘,RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID 5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储与不同的磁盘上。当RAID 5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障成都要比镜像低而磁盘空间利用率要比镜像高。 RAID5具有和RAID 0相近似的读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块儿硬盘的速度略慢,若使用“回写缓存”可以让性能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。
特点总结:
读、写性能提升
可用空间:(N-1)*min(S1,S2,….)
有容错能力:1块磁盘
最少磁盘数:3,3+
RAID 6
与RAID 5相比,RAID 6增加第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,任意两块磁盘同时失效时不会影响数据完整性。RAID 6需要分配给奇偶校验信息更大的磁盘空间和额外的校验计算,相对于RAID 5有更大的IO操作量和计算量,其“写性能”强烈取决于具体的实现方案,因此RAID6通常不会通过软件方式来实现,而更可能通过硬件/固件方式实现。同一数组中最多容许两个磁盘损坏。更换新磁盘后,数据将会重新算出并写入新的磁盘中。依照设计理论,RAID 6必须具备四个以上的磁盘才能生效。
特点总结:
读、写性能提升
可用空间:(N-2)*min(S1,S2,…)
有容错能力:2块磁盘
最少磁盘数:4, 4+
混合类型:
RAID 10/01
RAID 10是先镜射再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。RAID 01则是跟RAID 10的程序相反,是先分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。当RAID 10有一个硬盘受损,其余硬盘会继续运作。RAID 01只要有一个硬盘受损,同组RAID 0的所有硬盘都会停止运作,只剩下其他组的硬盘运作,可靠性较低。如果以六个硬盘建RAID 01,镜射再用三个建RAID 0,那么坏一个硬盘便会有三个硬盘脱机。因此,RAID 10远较RAID 01常用,零售主板绝大部分支持RAID 0/1/5/10,但不支持RAID01。
特点总结:
RAID-10:
读、写性能提升
可用空间:N*min(S1,S2,…)/2
有容错能力:每组镜像最多只能坏一块;
最少磁盘数:4, 4+
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实现模式,分为软件和硬件两种
软件磁盘阵列(Software RAID)
主要由电脑主板CPU处理数组存储作业,缺点为耗损较多CPU资源运算RAID,优点则是价格偏低。分类有二种:
-
纯软件磁盘阵列(Pure Software RAID):只需要主板支持即可,不需要任何磁盘阵列卡。若主板损坏,可能难以购买同款主板重建RAID。
-
硬件辅助磁盘阵列(Hardware-Assisted RAID):需要一张RAID卡,以及厂商所提供的驱动程序。这款RAID较易迁移到其他电脑。
硬件磁盘阵列(Hardware RAID)
RAID卡上自带处理器,不需要服务器的CPU运算。优点是读写性能最快,不占用服务器资源,可用于任何操作系统,也能在系统断电后,通过备份电池模块(BBU, Backup Battery Unit)以及非易失性内存 (NVRAM)将硬盘读写日志档(Journal)包含的剩余读写作业先纪录在内存中,等待电力供应撤消后,再由NVRAM取回日志档数据,接着再完成读写作业,将剩余读写作业安全完成以确保读写完整性。备份电池模块通常会配合数组卡的Write-Back缓存模式,借由此内存缓存读写作业以得到更高的读写性能;但是没有备份电池模块的硬件磁盘阵列卡,切勿使用Write-Back缓存模式以免遭遇断电情形导致读写数据流失。此外,因为硬件磁盘阵列卡搭载CPU处理器,所以可以与系统分离出来,对硬盘进行各种作业,还原作业的速度也比软件磁盘阵列快。缺点是其售价很高,通常只用于RAID 5和RAID 6。
磁盘阵列客户类型
-
一般消费者备份数据之用、企业创建ERP系统或NAS系统时的重要数据备份。
-
影音多媒体数字内容创作公司、个人影音剪辑数字内容工作室。
-
数字监控系统(DVR)、网络监控系统(NVR)等等需要大量存储视频的监控系统业者,军方、赌场因为需要大量监控系统也是常见使用磁盘阵列的客户。
-
证券、银行等金融行业保管重要客户数据。
小白总结,不到之处还请各路大牛多多指教…..
原创文章,作者:Daniel-W,如若转载,请注明出处:http://www.178linux.com/16589