美文网首页
RAID磁盘阵列简述

RAID磁盘阵列简述

作者: hubery_zhao | 来源:发表于2020-11-18 17:46 被阅读0次

    RAID磁盘阵列简述

    RAID概念

        磁盘冗余阵列(RAID, Redundant Array of Independent Disks):简称磁盘阵列。李勇虚拟化技术把多个磁盘组合在一起,成为一个或多个磁盘阵列组,目的为提升性能或资料冗余或者两者兼备。

        通俗描述RAID,RAID就是把多个硬盘组合成为一个逻辑硬盘,这时操作系统会把它当做一个实体硬盘。

    Raid常见组合

    常见RAID组合简介

    RAID 0

    RAID 0 ,它将两块以上的磁盘并联起来,成为一个大容量的磁盘,存放数据时,分段后分散存储在这些磁盘中,因此读写时是并行处理,所以速度很快 ,但是RAID 0 没有冗余功能,也不具备容错能力, 如果一个磁盘损坏 ,所有数据丢失

    读写顺序如图,分散读写,提升读写性能

    RAID 1

    两组以上的磁盘互为镜像,在以下多线程操作系统中有很好的读取能力,理论上读取速度约等于硬盘数量的倍数,与RAID 0 相同 。因为需要写入两份数据,所以写入速度有降低 ,可靠性高 ,最多可以损坏一般的磁盘。

    其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。

    RAID 1 组合之后磁盘size 为 最小磁盘size ,可用空间最大只有50%。

    size=min(s1,s2)

    RAID 5

    RAID 5 是一种存储性能、数据安全、存储成本兼顾的存储解决方案,它使用的是disk striping(硬盘分割)技术

    RAID 5 最少需要三块磁盘。基本原理是把数据和相对应的奇偶校验信息存储到组成RAID 5 的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储与不同的磁盘上 。当RAID 5 的一个磁盘发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复损坏的数据 。RAID 5 可以理解为RAID 0 和 RAID 1 额折中方案, RAID 5 可以为系统提供数据安全保障, 但保障程度将对于RAID 1 要低,而磁盘利用率相对于RAID 要高 ,并且RAID 5 用用与RAID 0 相近的数据读取速度,只是因为多了一个奇偶校验信息 ,写入速度相对于单独写入一块磁盘的速度稍慢 ,但是使用“回写缓存” 可以提高一些性能 。

    size=(N-1)*min(s1,s2......)

    RAID 6

    与RAID 5相比,RAID 6增加第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,任意两块磁盘同时失效时不会影响数据完整性。RAID 6需要分配给奇偶校验信息更大的磁盘空间和额外的校验计算,相对于RAID 5有更大的IO操作量和计算量,其“写性能”强烈取决于具体的实现方案,因此RAID 6通常不会通过软件方式来实现,而更可能通过硬件方式实现。

    同一数组中最多容许两个磁盘损坏。更换新磁盘后,资料将会重新算出并写入新的磁盘中。依照设计理论,RAID 6必须具备四个以上的磁盘才能生效。可使用的容量为硬盘总数减去2的差,乘以最小容量

    size=(N-2)*min(s1,s2......)

    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 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访问,因此性能较高。不过使用门槛高,而且容量利用率低是较大的问题。

    软、硬件磁盘阵列

    软件磁盘阵列(Software RAID)

    主要由CPU处理数组存储作业,缺点为耗损较多CPU资源运算RAID,优点则是价格偏低。分类有3种:

         1. 基于主板的磁盘阵列:只需要主板支持即可(通常是芯片组内置的RAID功能,如Intel Matrix RAID,Intel Rapid Storage Technology),不需要任何磁盘阵列卡。若主板损坏,可能难以购买同款主板重建RAID。

         2. 硬件辅助磁盘阵列(Hardware-Assisted RAID):需要一张基于Fake RAID的RAID卡,以及厂商所提供的驱动程序,但此类RAID卡仍然通过CPU进行运算。这款RAID较易迁移到其他电脑。RAID功能靠运行于操作系统的厂商驱动程序和CPU运算提供。

        3. 操作系统的RAID功能:如Linux、FreeBSD、Windows Server等操作系统内置RAID功能。

    硬件磁盘阵列(Hardware RAID)

    RAID 卡上内置处理器,不需要服务器的CPU运算,优点是读写性能最快,不占用服务器资源,可用于任何操作系统,通过备份电池模块(BBU, Backup Battery Unit)以及非易失性存储器(NVRAM)将硬盘读写日志(Journal)包含的剩余读写作业先记录在存储器中,等待电力供应撤销后,再由NVRAM取回日志资料,接着再完成读写作业,将剩余读写作业安全完成以确保读写完整性。备份电池模块通常会配合数组卡的Write-Back缓存模式,借由此存储器缓存读写作业以得到更高的读写性能;但是没有备份电池模块的硬件磁盘阵列卡,切勿使用Write-Back缓存模式以免遭遇断电情形导致读写资料流失。此外,因为硬件磁盘阵列卡搭载内置处理器,所以可以与操作系统分离出来,对硬盘进行各种作业,还原作业的速度也比软件磁盘阵列快。缺点是其售价很高。

    参考:https://zh.wikipedia.org/wiki/RAID#%E7%A3%81%E7%A2%9F%E9%99%A3%E5%88%97%E6%AF%94%E8%BC%83%E8%A1%A8

    相关文章

      网友评论

          本文标题:RAID磁盘阵列简述

          本文链接:https://www.haomeiwen.com/subject/oknciktx.html