您所在的位置: 主页 > 关于我们 > 技术专题 > 行业技术 >

RAID的产生原因及分类

来源:作者点击数:更新时间:2015-03-14

RAID的产生原因

三个原因
a存取(access)速度,I/O速度
b防止数据因磁盘的故障而失落(容错,可靠性)
  容错:raid 1 2 3 4 5
  可靠性:磁盘阵列受欢迎的主要原因;
MTTF: 平均故障前工作时间,
MTTR: 平均维修时间
MTBF: 平均故障间隔时间
平均故障间隔时间=平均故障前工作时间+平均维修时间c及如何有效的利用磁盘空间,而大容量磁盘的价格非常昂贵,利用率的问题N-1/N等

AID的分类

RAID0级

要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。它不需要计算校验码,实现容易。它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。如果用户进行图象(包括动画)编辑和其它要求传输比较大的场合使用RAID0比较合适。同时,RAID可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。那么原来读取同样文件的时间被缩短为1/2。
我们在使用RAID 0或“串行集合”时,还必须注意以下要点:
a. 阵列容量大小永远等于阵列硬盘数乘以阵列中最小硬盘的容量;
b. 阵列的数据传输速率永远等于阵列硬盘数乘以阵列中最低速硬盘的数据传输速率;
c. RAID 0阵列的存取时间和最低速硬盘的存取时间相同,如果使用完全相同的硬盘,则会等于或稍高于阵列中的硬盘的存取时间;
d. 如果该阵列中有任何一块硬盘损坏,则所有数据都将损坏,一般用在对数据安全要求不高,但对速度要求很高的场合。

RAID1级

对于使用这种RAID1结构的设备来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。通过下面的结构图您也可以看到必须有两个驱动器。因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。当您的系统需要极高的可靠性时,如进行数据统计,那么使用RAID1比较合适。而且RAID1技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,但带来的后果是硬盘容量利用率很低,只有50%,是所有RAID级别中最低的。

RAID Level 0+1

这是一种Dual Level RAID,也有人称之为RAID Level 10,它是“零加一”,即两组按一定的分割区域,连贯成不同的两块大容量的阵列硬盘,互相为“镜像”。在每次写入数据时,磁盘阵列控制器会将数据同时写入两组“大容量阵列硬盘组”内。就像是由RAID O和RAID l组合而成。其原理如下图6-3所示。同RAID Level 1一样,虽然其硬盘使用率只有50%,但它却是具有最高效率的划分方式。不过它需要4个一样的硬盘,所以说真正的“安全性”和“速度”是建立在成本之上的。
RAID 0+1特别适用于既有大量数据需要存取,同时又对数据安全性要求十分严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。

RAID2级

从概念上讲,RAID 2 同RAID 3类似, 两者都是将数据条块化分布于不同的硬盘上, 条块单位为位或字节。然而RAID 2 使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂。因此,在商业环境中很少使用。下图左边的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上,具体情况请见下图。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。没有免费的午餐,这里也一样,要利用海明码,必须要付出数据冗余的代价。输出数据的速率与驱动器组中速度最慢的相等。
海明码编码:0010――101   A6A5A4A3----A2A1A0
            A2=A6+A5+A4
            A1=A6+A5+A3
            A0=A6+A4+A3

RAID 3

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

RAID4

     RAID4和RAID3很象,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。它的特点的RAID3也挺象,控制器的设计难度要大许多,而且访问数据的效率不怎么好。

RAID-30

RAID-30也称专用奇偶位阵列条带。象RAID 0一样,跨磁盘抽取数据;象RAID-3一样,使用专用奇偶位。RAID-30提供容错能力,并支持更大的卷尺寸。象RAID-10一样,RAID-30也提供高可靠性,因为即使有两个物理磁盘驱动器失效(每个阵列中一个),数据仍然可用。
RAID-30最小要求有6个驱动器,而且只能由HP NetRaid磁盘阵列控制器实现。它最适合非交互的应用程序,如视频流、图形和图象处理等。这些应用程序顺序处理大型文件,
而且要求高可用性和高速度。

RAID 5:分布式奇偶校验的独立磁盘结构

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

RAID 50

RAID 50也被称为分布奇偶位阵列条带,RAID 50其实就是RAID O与RAID 5的组合。
它像RAID 0一样,跨磁盘存取数据;又像RAID 5一样,使用分布式奇偶位。RAID 50可提供较高的数据可靠性,优秀的整体性能,并支持更大的卷尺寸。像RAID 10和RAID-30一样,即使两个物理磁盘发生故障(每个阵列中一个),也不会有数据丢失。RAID 50最少需要六个驱动器,而且只能通过HPNetRaid磁盘阵列控制器实现。它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。这些应用包括事务处理和有许多用户存取小文件的办公应用程序。

RAID6: 带有两种分布存储的奇偶校验码的独立磁盘结构

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

RAID 7: 优化的高速数据传送磁盘结构

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

RAID10:高可靠性与高效磁盘结构

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

RAID53:高效数据传送磁盘结构

 越到后面的结构就是对前面结构的一种重复和再利用,这种结构就是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。这是因为所有的数据必须经过带区和按位存储两种方法,在考虑到效率的情况下,要求这些磁盘同步真是不容易。
我们能够用得上的IDE RAID
  上面是对RAID原理的叙述,而我们Pcfans最关心的是RAID的应用。我们日常使用IDE硬盘,而且很容易买到IDE RAID卡和集成RAID芯片的主板。所以跟我们最贴近的是IDE RAID。限于应用级别很低,IDE RAID多数只支持RAID 0,RAID 1,RAID 0+1,JBOD模式。
通过对各种RAID模型的比较,可以看出:使用哪种RAID实现方式,要综合考虑读写性能、数据传输率、可靠性以及造价等多种因素,没有哪一种模型是十全十美的。例如:RAIDO的数据传输率和读写性能都是最高的,同时造价也很低,但由于它仅使用了数据划分的思想,而没有数据冗余,因此不具备数据恢复能力,因而可靠性差。RAID I数据传输率、读写性能和可靠性都较高,但其实现造价却是非常昂贵。RAID5和RAID5以可以接受的造价,在获得较高的可靠性的同时,又保持了令人满意的数据传输率和读写性能,因此得到了广泛的应用。RAID5使用一个单独的磁盘来存储校验信息,校验盘容易成为系统的瓶颈。RAID5主要适用于对数据传输率要求较高的应用程序。而RAID5的数据和校验都是分布存储在各个盘上,克服了校验盘成为瓶颈的缺点。RAID5适用于事务处理或其它I/0请求频繁的应用程序。

分享到:QQ空间新浪微博腾讯微博人人网微信