下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

关于raid技术的介绍

作者:课课家教育     来源: http://www.kokojia.com点击数:845发布时间: 2016-07-13 16:10:50

标签: raid技术磁盘阵列数据库

  一、raid简介

  RAID是一个常见的名词,但因为很少能在实际环境中体验,所以很难对其原理能有很清楚的认识和掌握。

  RAID全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。RAID通常用于服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。RAID分为不同的等级,各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。在实际应用中,可以依据自己的实际需求选择不同的RAID方案。

关于raid技术的介绍_raid技术_磁盘阵列_课课家

  二、标准RAID

  1.RAID0

  RAID0称为条带化(Striping)存储,将数据分段存储于各个磁盘中,读写均可以并行处理。因此其读写速率为单个磁盘的N倍(N为组成RAID0的磁盘个数),却没有数据冗余,单个磁盘的损坏会导致数据的不可修复。

  大多数striping的实现允许管理者通过调节两个关键的参数来定义数据分段及写入磁盘的方式,这两个参数对RAID0的性能有很重要的影响。

  stripe width是指可被并行写入的stripe个数,即等于磁盘阵列中磁盘的个数。

  stripe size也称block size(chunk size,stripe length,granularity),指写入每个磁盘的数据块大小。以块分段的RAID通常可允许选择的块大小从2KB到512KB不等,也有更高的,但一定要是2的指数倍。以字节分段的(比如RAID3)一般的stripe size为1字节或者512字节,并且用户不能调整。stripe size对性能的影响是很难简单估量的,最好在实际应用中依自己需求多多调整并观察其影响。通常,减少stripe size,文件会被分成更小的块,传输数据会更快,却需要更多的磁盘来保存,增加positioning performance,反之则相反。应该说,没有一个理论上的最优的值。很多时候,也要考虑磁盘控制器的策略,比如有的磁盘控制器会等到一定数据量才开始写入磁盘。

  2.RAID1

  镜像存储(mirroring),没有数据校验。数据被同等地写入两个或多个磁盘中,可想而知,写入速度会比较慢,但读取速度会比较快。读取速度可以接近所有磁盘吞吐量的总和,写入速度受限于最慢的磁盘。RAID1也是磁盘利用率最低的一个。如果用两个不同大小的磁盘建立RAID1,可以用空间较小的那一个,较大的磁盘多余部分可以作他用,不会浪费。

  3.RAID2

  海明码校验,从概念上讲,RAID2与RAID3相似,两者都是将数据条块化分布于不同的硬盘上,条块单位为位或字节。而RAID2使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂。因此,在商业环境中很少使用。左边的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到较理想的速度,最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3、RAID4或RAID5要简单。要利用海明码,必须要付出数据冗余的代价。输出数据的速率与驱动器组中速度最慢的相等。

  4.RAID3

  与RAID2不同,带奇偶校验码的并行传送这种校验码,只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对较少。用软件实现RAID控制是十分困难的,控制器的实现也不容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。不同于RAID2、RAID3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。如果奇偶盘失效,则不影响数据使用。RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。

  5.RAID4

  带奇偶校验码的独立磁盘结构RAID4和RAID3很相似,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点和RAID3也很像,不过在失败恢复时,它的难度比RAID3大得多,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。

  6.RAID5

  分布式奇偶校验的独立磁盘结构从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率也高。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID5,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

  7.RAID6

  带有两种分布存储的奇偶校验码的独立磁盘结构名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。

  8.RAID7

  优化的高速数据传送磁盘结构RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。也可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是,它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此要和UPS一起工作。当然,这么快的东西,价格也非常昂贵。

  9.RAID10

  高可靠性与高效磁盘结构这种结构无非是一个带区结构加一个镜象结构,这两种结构各有优缺点,可以相互补充,达到既高效又高速的目的。结合这两种结构的优点和缺点可以理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于数据容量不大,但要求速度和差错控制的数据库中。

  10.RAID53

  高效数据传送磁盘结构越到后面的结构就是对前面结构的一种重复和再利用,这种结构就是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。因为所有的数据必须经过带区和按位存储两种方法,在考虑到效率的情况下,要求这些磁盘同步真是不容易。

  三、RAID的原理

  磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。

  和当时PC用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。

  在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作,然后由缓存再慢慢写入磁盘。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程