磁盘阵列的原理及相关知识( 四 )


RAID 0 1完全做到了容错包括不停机(non-stop),当某一磁盘发生故障,可将此磁盘拆下来而不影响其他磁盘的操作 。等新的磁盘换上去之后,系统即时做镜像,将数据重新复制上去,RAID 0 1在容错及存取的性能上为所有RAID level之冠 。
在磁盘阵列的技术上,从RAID 1到RAID 5,不停机的意思表示在工作时如发生磁盘故障,系统能持续工作而不停顿,仍然可作磁盘的存取,正常地读写数据;而容错则表示即使磁盘故障,数据仍能保持完整,可让系统存取到正确的数据,而SCSI的磁盘阵列更可在工作中抽换磁盘,并可自动重建故障磁盘的数据 。磁盘阵列之所以能做到容错及不停机,是因为它有冗余的磁盘空间可以利用,这也就是Redundant的意义 。
RAID 2
RAID 2是把数据分散为位元/位元组(bit/byte)或块(block),加入海明码Hamming Code, 在磁盘阵列中作间隔写入(interleaving)到每个磁盘中,而且地址都一样,也就是在各个磁盘中,其数据都在相同的磁道(clinder or track)及扇区中 。RAID 2又称为并行阵列(parallel array)其设计是使用共轴同步(spindle synchronize)的技术,存取数据时,整个磁盘阵列一起动作,在各个磁盘的相同位置作平行存取,所以有最好的存取时间,其总线是特别的设计,以大带宽(band wide)并传输所存取数据,所以有最好的传输时间 。在大型档案的存取应用,RAID 2有最好的性能,但如果档案太小,会将其性能拉下来,因为磁盘的存取是以扇区为单位,而RAID 2的存取是所有磁盘平行动作,而且是作单位元或位元组的存取,故小于一个扇区的数据量会使其性能大打折扣 。RAID 2是设计给需要连续且大量数据的电脑使用的,如大型电脑(mainframe to supercomputer),作影像处理或CAD/CAM的工作站等,并不适用于一般的多用户环境、网络服务器,小型机或PC 。
RAID 2的安全采用内存阵列(memory array)的技术,使用多个额外的磁盘作单位错误校正(single-bit correction)及双位错误检测(double-bit detection);至于需要多少个额外的磁盘,则视其所采用的方法及结构而定,例如八个数据磁盘的阵列可能需要三个额外的磁盘,有三十二数据磁盘的高档阵列可能需要七个额外的磁盘 。
RAID 3
RAID 3的数据储存及存取方式都和RAID 2一样,查在安全方面以奇偶校验取代海明码做错误校正及检测,所以只需要一个额外的校检磁盘(parity disk) 。奇偶校验值的计算是以各个磁盘的相对应位作XOR的逻辑运算,然后将结果写入奇偶校验磁盘,任何数据的修改都要做奇偶校验计算,如下图:
在上图中,磁盘0~4是数据盘,磁盘5是校验盘,校验盘的数据是由数据盘0~4的同一位置的数据作XOR的运算计算出来的 。
我们可以看出其数据这种分段的方式是要配合共轴同步的并行操作,譬如每个磁盘的传输率为10MB/sec,则4个数据盘的并行传输速率是40MB,所以RAID 3较诸单硬盘,其性能有很大的提升 。
如某一磁盘故障,换上新的磁盘后,整个磁盘阵列(包括奇偶校验磁盘)需重新计算一次,将故障磁盘的数据恢复并写入新磁盘中;如奇偶校验磁盘故障,则重新计算奇偶校验值,以达容错的要求 。
较之RAID 1及RAID 2,RAID 3有较高的磁盘空间利用率,其性能比RAID 2稍差,因为要做奇偶校验计算;共轴同步的平行存取在读档案时有很好的性能,但在写入时较慢,需要重新计算及修改奇偶校验磁盘的内容 。RAID 3和RAID 2有同样的应用方式,适用大档案及大量数据输入输出的应用,并不适用于PC及网络服务器 。
RAID 3因为采用共轴同步的并行操作,要把每个盘的数据同时送出,所以需有很大的总线频宽(band width)以达到并行的目的,在硬件结构上的差异,RAID 3和RAID 5是不会出现在同一控制器上的,有很多厂商号称提供RAID 0,1,3,5,其实3是假的,并无共轴同步并行操作能力,有厂商说明是Pseudo 3(假的3)并不欺骗客户 。

推荐阅读