raid各级别简介

一. raid 是什么

      RAID:(Redundant Array of indenpensive Disk) 独立磁盘冗余阵列: 磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。磁盘阵列利用的不同的技术,称为RAID level,不同的level针对不同的系统及应用,以解决数据安全的问题。简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。
   
  一般高性能的磁盘阵列都是以硬件的形式来达成,进一步的把磁盘存取控制及磁盘阵列结合在一个控制器(RAID controler)或控制卡上,针对不同的用户解决人们对磁盘输输入输出系统的四大要求:
  (1)增加存取速度,
  (2)容错(fault tolerance),即安全性
  (3)有效的利用磁盘利用率;
  (4)尽量的平衡CPU,内存及磁盘的性能差异,提高主机的整体工作性能。

二.可提供的功能:

   1.冗余(容错) 

   2.性能提升

RAID分类:
 1. 硬件RAID:用RAId接口卡来实现;需要内核支持其驱动,并且该类设备设备显示为SCSI设备,代号为/dev/sd*
 2. 软件RAID:用内核中的MD(multiple devices)模块实现,该类设备在/etc/下表示为:md*;在现在的RH 5版本中使用mdadm工具管理软RAID;(虽然来说可以用软件模拟实现raid,但是相对对磁盘控制的功能及性能不如硬件实现的好,生产环境中最好使用硬件raid

     设置软件RAID,首先需要查看linux系统中是否有raid软件工具包。可以用

    rpm -qil raidtools   或 rpm -qifl /sbin/mdadm

    命令查看相关raid命令。如果没有,可以从http://people.redhat.com/mingo/raidtools/ 中下载,然后解压安装:

     #tar –zxvf raidtools-1.00.3.tar.gz
    #cd raidtools-1.00.3
    #./configure
    # make
    # make install

    这样raidtools-1.00.3就安装好了,从而可以随时安装使用RAID

三.常见的raid level

     1. RAID-0 :striping(条带模式),至少需要两块磁盘,做RAID分区的大小最好是相同的(可以充分发挥并优势);而数据分散存储于不同的磁盘上,在读写的时候可以实现并发,所以相对其读写性能最好;但是没有容错功能,任何一个磁盘的损坏将损坏全部数据;

     2. RAID-1:mirroring(镜像卷),至少需要两块硬盘,raid大小等于两个raid分区中最小的容量(最好将分区大小分为一样),可增加热备盘提供一定的备份能力;数据有冗余,在存储时同时写入两块硬盘,实现了数据备份;但相对降低了写入性能,但是读取数据时可以并发,几乎类似于raid-0的读取效率;

     3. RAID-2:RAID 2是RAID 0的改良版,以汉明码(Hamming Code)的方式将数据进行编码后分割为独立的位元,并将数据分别写入硬盘中。因为在数据中加入了错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些。

        在写入时,RAID 2在写入数据位同时还要计算出它们的汉明码并写入校验阵列,读取时也要对数据即时地进行校验,最后再发向系统。汉明码只能纠正一个位的错误,所以RAID 2也只能允许一个硬盘出问题,如果两个或以上的硬盘出问题,RAID 2的数据就将受到破坏。但由于数据是以位为单位并行传输,所以传输率也相当快。RAID 2是早期为了能进行即时的数据校验而研制的一种技术,主要为了即时校验以保证数据安全,如果数据位宽越大,用于校验阵列的相对投资就会越小,成本昂贵。

    4. RAID-3:RAID3的数据存取方式和RAID2一样,把数据以位为单位来分割并且存储到各个硬盘上,并且在数据安全方面以奇偶校验取代海明码做错误校正及检测,所以只需要一个额外的校验盘。奇偶校验值的计算是以各个硬盘的相对应位进行异或的逻辑运算,然后将结果写入奇偶校验硬盘。

       RAID 3是在RAID 2基础上发展而来的,主要的变化是用相对简单的异或逻辑运算(XOR,eXclusive OR)校验代替了相对复杂的汉明码校验,从而也大幅降低了成本。RAID3具有容错能力,但是系统会受到影响。当一块硬盘失效时,该硬盘上的所以数据块必须使用校验信息重新建立。如果是从好盘中读取数据块,不会有任何变化;但是如果要读取的数据块正好位于已经损坏的硬盘上,则必须同时读取同一带区中的所有其它数据块,并根据校验值重建丢失的数据。

    5. RAID-4:RAID4和RAID3很象,数据都是依次存储在多个硬盘之上,奇偶校验码存放在独立的奇偶校验盘上,唯一不同的是,在数据分割上RAID3对数据的访问是按位进行的,RAID4是以数据块为单位。即RAID 4是按数据块为单位存储的,那么数据块应该怎么理解呢?简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。当然,对于硬盘的读取,一个数据块并不是一个文件,而是由操作系统所决定的,这就是我们熟悉的簇(Cluster)。RAID 4这样按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时,数据就完了)。

       不过,在不同硬盘上的同级数据块也都通过XOR进行校验,结果保存在单独的校验盘。所谓同级的概念就是指在每个硬盘中同一柱面同一扇区位置的数据算是同级。在写入时,RAID就是按这个方法把各硬盘上同级数据的校验统一写入校验盘,等读取时再即时进行校验。因此即使是当前硬盘上的数据块损坏,也可以通过XOR校验值和其他硬盘上的同级数据进行恢复。由于RAID 4在写入时要等一个硬盘写完后才能写一下个,并且还要写入校验数据所以写入效率比较差,读取时也是一个硬盘一个硬盘的读,但校验迅速,所以相对速度更快。

   6. RAID-5:至少需要3块硬盘,RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。

①空间利用率:1 – 1/n

②性能:读性能接近RAID0,写性能相比RAID0要弱一些

③冗余能力:可以接受1块硬盘的损坏

(做raid 5阵列所有磁盘容量必须一样大,当容量不同时,会以最小的容量为准。 最好硬盘转速一样,否则会影响性能,而且可用空间=磁盘数n-1,其中有一块是专门用来校验的,在存储数据的时候,校验盘里面是不会被存入数据的)

(Raid 5 没有独立的奇偶校验盘,所有校验信息分散放在所有磁盘上,只是在存储空间上为N-1)

    7. RAID-6:RAID6至少需要4块硬盘,RAID6与RAID5相类似,读写数据的时候会将数据分布的读写到所有硬盘上。在写数据的时候RAID5会对数据进行奇偶校验运算,并将校验信息也保存在了硬盘上,但是RAID6会比RAID5多保存一份校验信息,所以RAID6的冗余性比RAID5就有所提升,可以允许2块硬盘发生损坏。

①空间利用率:1 – 2/n

②性能:读性能接近RAID5,写性能相比RAID5还要弱一些

③冗余能力:可以接受2块硬盘的损坏

    8. RAID-10:RAID10又称为RAID1+0,先进行镜像(RAID1),再进行条带存放(RAID0)。Raid 10是一个Raid 0与Raid1的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。我们知道,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。由于利用了RAID 0极高的读写效率和RAID 1较高的数据保护、恢复能力,使RAID 10成为了一种性价比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。但是,RAID 10对存储容量的利用率和RAID 1一样低,只有50%。因此,RAID10高可靠性与高效磁盘结构是一个带区结构加一个镜象结构,可以达到既高效又高速的目的,RAID 10能提供比RAID 5更好的性能。

     9. RAID-01:RAID 01是将条带(RAID 0)进行镜像(RAID 1)。Raid 0+需要的驱动器数量(至少):4(要求驱动器的数量为偶数)优点:RAID 0+1阵列从理论上来说,能够经受住RAID 0阵列中任何一块硬盘的故障,因为该硬盘上所有的数据都被备份在RAID 1阵列中。在绝大部分情况下,如果两块硬盘出现故障就会影响整个阵列,因为很多RAID控制器会在RAID阵列中的某一块硬盘出现故障之后让RAID 0镜像离线(毕竟,RAID 0阵列不提供任何冗余),因此只有剩下的RAID 0阵列在工作,这样系统就没有冗余了。简而言之,如果每个RAID 0阵列中都有一块磁盘出现故障,那么整个磁盘阵列就不能工作了。这种模式提供了非常好的顺序或任意读写的性能。
  缺点:只能使用磁盘阵列总体存储容量的50%。容错性不如RAID 1。对于绝大部分控制器来说,这种模式能够应对一块磁盘出现故障的情况。扩展方面受到限制,而且扩展的费用很高。

        

        4个常用的RAID级别各自的优缺点:

  RAID级别           速度   冗余性     磁盘利用率  
  RAID 0       读写速度均有提升   0   所有磁盘之和
  RAID 1     读速度有提升   n   一个磁盘大小
  RAID 5     读写速度均有提升       1   1-1/n
  RAID 6     读写速度均有提升   2   1-2/n

原创文章,作者:血刀老祖,如若转载,请注明出处:http://www.178linux.com/11411

赞 (0)
血刀老祖血刀老祖
上一篇 2016-02-14 09:54
下一篇 2016-02-14 09:55

相关推荐

  • Python的模块及详解(1)

    psuitil模块 filecmp模块 pycurl模块 一、系统性能信息模块psuitil psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,…

    2018-01-15
  • 18页PPT带你深度解读运维自动化

    一、概述    在前面的文章中,提到【运维的本质—可视化】,在其中着重强调是自动化的可视化和数据化的可视化。在这个文章中,全面解码看看自动化的极致状态为什么是可视化?在前面的另外一篇文章【运维平台全体系介绍】中,也讲到运维平台体系的构成,提出“**及服务”的理念,其中有几部分和自动化密切相关,比如说资源及服务、配置及服务、架构…

    2015-04-03
  • CA,DNS,LAMP实现wordpress

    拓扑图见编译实现LAMP,bind,CA.jpg test3配置:     yum -y install bind     修改named.conf配置文件:     //      listen-on por…

    2017-04-23
  • 马哥linux0803作业内容

    1. 创建sysadmins组 将用户user1,user2,user3加入sysadmins组中 将user3设置为sysadmins的管理员 用user3登录,将user2从组中移除 设置sysadmins的密码centos 设置user1 在创建新文件时,文件的所属组为sysadmins 删除user1…3 删除sysadmins 2、三种权限rwx对…

    Linux干货 2016-08-05
  • 国际标准OSI七层模型和事实标准TCP/IP四层模型

    我们知道,标准分为三种:国际标准、国家标准和事实标准。那我们学习的两个重要模型:OSI和TCP/IP模型分别属于国际标准和事实标准,接下来我们来总结一下两种模型的分层及功能还有异同: 一:国际标准OSI模型 OSI:(Open System Interconnect) 开放系统互连,总共分为七层,从下到上顺序为:物理层(physical)、数据链路层(dat…

    2017-09-02
  • xen虚拟化基础篇

    Xen介绍:  xen是一个开放的源代码虚拟机监视器,有剑桥大学研发。它打算在单个计算机上运行多达128个满足特征的操作系统,操作系统必须进行显示地修改("移植")以在Xen上运行(但是提供对用户应用的兼容性)。这使得无需特殊硬件支持,就能达到高性能的虚拟化。 Xen由三部分组成:     第一部分…

    Linux干货 2015-08-26

评论列表(1条)

  • stanley
    stanley 2016-02-14 09:54

    有图更显丰满