存储 频道

磁盘阵列(DiskArray)原理(三)

【IT168 资讯】

  RAID3

  RAID3的数据储存及存取方式都和RAID2一样,但在安全方面以奇偶校验(paritycheck)取代海明码做错误校正及检测,所以只需要一个额外的校检磁盘(paritydisk)。

  奇偶校验值的计算是以各个磁盘的相对应位作XOR的逻辑运算,然后将结果写入奇偶校验磁盘,任何数据的修改都要做奇偶校验计算, 如某一磁盘故障,换上新的磁盘后,整个磁盘阵列(包括奇偶校验磁盘)需重新计算一次,将故障磁盘的数据恢复并写入新磁盘中;如奇偶校验磁盘故障,则重新计算奇偶校验值,以达容错的要求.

  较之RAID1及RAID2,RAID3有85的磁盘空间利用率,其性能比RAID2稍差,因为要做奇偶校验计算;共轴同步的平行存取在读档案时有很好的性能,但在写入时较慢,需要重新计算及修改奇偶校验磁盘的内容。RAID3和RAID2有同样的应用方式,适用大档案及大量数据输出入的应用,并不适用于PC及网络服务器。


  RAID4

  RAID4也使用一个校验磁盘,但和RAID3不一样,

  RAID4是以扇区作数据分段,各磁盘相同位置的分段形成一个校验磁盘分段(parityblock),放在校验磁盘。这种方式可在不同的磁盘平行执行不同的读取命今,大幅提高磁盘阵列的读取性能;但写入数据时,因受限于校验磁盘,同一时间只能作一次,启动所有磁盘读取数据形成同一校验分段的所有数据分段,与要写入的数据做好校验计算再写入。即使如此,小型档案的写入仍然比RAID3要快,因其校验计算较简单而非作位(bitlevel)的计算;但校验磁盘形成RAID4的瓶颈,降低了性能,因有RAID5而使得RAID4较少使用。


    RAID5

  RAID5避免了RAID4的瓶颈,方法是不用校验磁盘而将校验数据以循环的方式放在每一个磁盘中,磁盘阵列的第一个磁盘分段是校验值,第二个磁盘至后一个磁盘再折回第一个磁盘的分段是数据,然后第二个磁盘的分段是校验值,从第三个磁盘再折回第二个磁盘的分段是数据,以此类推,直到放完为止。图中的第一个parityblock是由A0,A1...,B1,B2计算出来,第二个parityblock是由B3,B4,...,C4,D0计算出来,也就是校验值是由各磁盘同一位置的分段的数据所计算出来。这种方式能大幅增加小档案的存取性能,不但可同时读取,甚至有可能同时执行多个写入的动作,如可写入数据到磁盘1而其parity block在磁盘2,同时写入数据到磁盘4而其parityblock在磁盘1,这对联机交易处理(OLTP,On-LineTransactionProcessing)如银行系统、金融、股市等或大型数据库的处理提供了非常好的的解决方案(solution),因为这些应用的每一笔数据量小,磁盘输出入频繁而且必须容错。

  事实上RAID5的性能并无如此理想,因为任何数据的修改,都要把同一parityblock的所有数据读出来修改后,做完校验计算再写回去,也就是RMWcycle(Read-Modify-Write cycle,这个cycle没有包括校验计算);正因为牵一而动全身,所以:

  R:N(可同时读取所有磁盘)

  W:1(可同时写入磁盘数)

  S:N-1(利用率)

  RAID5的控制比较复杂,尤其是利用硬件对磁盘阵列的控制,因为这种方式的应用比其他的RAIDlevel要掌握更多的事情,有更多的输出入需求,既要速度快,又要处理数据, 计算校验值,做错误校正等,所以价格较高;其应用最好是OLTP,至于用于图像处理等,不见得有非常好的的性能。

0
相关文章