Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11590910
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-09-18 11:44:04

   RAID-3 等级

  Parallel transfer with parity (并行传输及校验)

  RAID 2 等级的缺点相信大家已经很明白了,虽然能进行即时的ECC,但成本极为昂贵。为此,一种更为先进的即时ECC 的RAID 等级诞生,这就是RAID 3。

  RAID 3 是在RAID 2 基础上发展而来的,主要的变化是用相对简单的异或逻辑运算(XOR, eXclusive OR )校验代替了相对复杂的汉明码校验,从而也大幅降低了成本。XOR 的校验原理如下图1-9:

图 1-9 XOR 的校验原理

  这里的A 与B 值就代表了两个位,从中可以发现,A 与B 一样时,XOR 结果为0,A 与B 不一样时,XOR 结果就是1,而且知道XOR 结果和A 与B 中的任何一个数值,就可以反推出另一个数值。比如A 为1,XOR 结果为1,那么B 肯定为0,如果XOR 结果为0,那么B 肯定为1。这就是XOR 编码与校验的基本原理。

  RAID 3 的结构图如下:

  图 1-10 RAID-3 结构图解

  从图中可以发现,校验盘只有一个,而数据与RAID 0 一样是分成条带(Stripe )存入数据阵列中,这个条带的深度的单位为字节而不再是bit 了。在数据存入时,数据阵列中处于同一等级的条带的XOR 校验编码被即时写在校验盘相应的位置,所以彼此不会干扰混乱。读取时,则在调出条带的同时检查校验盘中相应的XOR 编码,进行即时的ECC。由于在读写时与RAID 0 很相似,所以RAID 3 具有很高的数据传输效率。

  RAID 3 在RAID 2 基础上成功地进行结构与运算的简化,曾受到广泛的欢迎,并大量应用。直到更为先进高效的RAID 5 出现后,RAID 3 才开始慢慢退出市场。下面让存储工程师总结一下RAID 3 的特点:

  

  注:主轴同步是指阵列中所有硬盘的主轴马达同步
  图1-11 RAID 3 的特点

  RAID-4 等级

  Independent Data disks with shared Parity disk (独立的数据硬盘与共享的校验硬盘)

  RAID 3 英文定义是Parallel transfer with parity ,即并行传输及校验。与之相比,RAID 4 则是一种相对独立的形式,这也是它与RAID 3 的最大不同。

  图 1-12  RAID-4 图解

  与RAID 3 相比,存储工程师发现关键之处是把条带改成了“块”。即RAID 4 是按数据块为单位存储的,那么数据块应该怎么理解呢?简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。RAID 4 这样按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时,数据就完了)。

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

  图 1-13 RAID-4 特点4

  RAID5 等级

  RAID5 和RAID4 相似但避免了RAID4 的瓶颈,方法是不用校验磁盘而将校验数据以循环的方式放在每一个磁盘中,RAID5 的控制比较复杂,尤其是利用硬件对磁盘阵列的控制,因为这种方式的应用比其他的RAID level 要掌握更多的事情,有更多的输出/入需求,既要速度快,又要处理数据,计算校验值,做错误校正等,所以价格较高,其应用最好是OLTP ,至于用于大型文件,不见得有最佳的性能。

  RAID5 在不停机及容错的表现都很好,但如有磁盘故障,对性能的影响较大,大容量的快取内存有助于维持性能,但在OLTP 的应用上,因为每一笔数据或记录(record )都很小,对磁盘的存取频繁,故有一定程度的影响。某一磁盘故障时,读取该磁盘的数据需把共用同一校验值分段的所有数据及校验值读出来,再把故障磁盘的数据计算出来;写入时,除了要重覆读取的程序外,还要再做校验值的计算,然后写入更新的数据及校验值;等换上新的磁盘,系统要计算整个磁盘阵列的数据以回复故障磁盘的数据,时间要很长,如系统的工作负载很重的话,有很多输出/入的需求在排队等候时,会把系统的性能拉下来。但如使用硬件磁盘阵列的话,其性能就可以得到大幅度的改进,因为硬件磁盘阵列如Arena 系列本身有内置的CPU 与主机系统并行运作,所有存取磁盘的输出入工作都在磁盘阵列本身完成,不花费主机的时间,配合磁盘阵列的快取内存的使用,可以提高系统的整体性能,而优越的SCSI 控制更能增加数据的传输速率,即使在磁盘故障的情况下,主机系统的性能也不会有明显的降低。RAID5 要做的事情太多,所以价格较贵,不适于小系统,但如果是大系统使用大的磁盘阵列的话,RAID5 却是最便宜的方案.

阅读(1099) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~