RAID学习笔记

来源:互联网 发布:sql截断特定字符 编辑:程序博客网 时间:2024/05/16 15:46

RAID

RAID(Redundant Arrays of independent Disks 独立冗余磁盘阵列)是一项能提升外部存储解决方案性能的技术。它能让您根据自己的需要选择最佳的设备使用方式。简单的讲,RAID技术是把相同的数据存储在多个硬盘的不同地方的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能,同时增加了平均故障间隔时间。您可以通过设定设备的RAID模式来决定设备以何种方式处理数据。

RAID 0是速度最快的一种RAID模式。它需要至少两个驱动器,并且会将数据分到每个磁盘。所有磁盘的可用容量合在一起,成为计算机上的一个逻辑卷。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。一旦阵列中有一个物理磁盘发生故障,所有磁盘的数据都将不可访问,因为有部分数据已被写入所有磁盘。


 

 

 

RAID 1是一种安全的RAID模式,它至少需要两个驱动器,并且驱动器成对工作。计算机上将安装一个逻辑卷,两个驱动器合并后的可用容量限制为不超过最小磁盘的容量。当数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,如果其中一个物理磁盘出现故障,可以立即从第二块磁盘上获取数据。RAID 1具备很好的磁盘冗余能力,虽然这样对数据来讲很安全,但是成本也会明显增加,磁盘利用率为50%。



 

RAID 2是一种比较特殊的RAID模式,它是早期为了能进行即时的数据校验而研制的一种技术,从设计上看也是主要为了即时校验以保证数据安全,针对了当时对数据即时安全性非常敏感的领域,如银行、金融服务等。RAID 2在写入数据位同时还要计算出它们的汉明码并写入校验阵列,读取时也要对数据即时进行校验,最后再发向系统。因为汉明码只能纠正一个位的错误,所以RAID 2也只能允许一个硬盘出问题,如果两个或两个以上的硬盘出问题,RAID 2的数据就将受到破坏。由于RAID 2成本昂贵,性能受限,现在早已被淘汰,这里不过多进行介绍。

RAID 3使用字节级别的条带化技术,并采用专用的奇偶校验磁盘(图中的磁盘4),因此计算机上会安装一个卷。RAID 3阵列能在一个磁盘出现故障的情况下确保数据不丢失。如果一个物理磁盘出现故障,该磁盘上的数据可以重建到更换磁盘上。如果数据尚未重建到更换驱动器上,而此时又有一个磁盘出现故障,那么阵列中所有数据都将丢失。

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

XOR的校验原理如下表:

A值 B值        XOR结果

0       0         0

1       0         1

0       1         1

1       1         0

这里的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 4与 RAID 3相比,我们发现关键之处是把条带改成了“块”。即RAID 4是按数据块为单位存储的,那么数据块应该怎么理解呢?简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。当然,对于硬盘的读取,一个数据块并不是一个文件,而是由操作系统所决定的,这就是我们熟悉的簇(Cluster)。RAID 4这样按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时,数据就完了)。

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

RAID 5与RAID 4相对照,我们可以发现它仍采用了数据块的存储方式,但没有独立的校验硬盘,这是因为它在每个独立的数据盘中都开辟了单独的区域用于存储同级数据的XOR校验数据,至于什么是同级数据,在上一期中已经讲过了。在写入时,同级校验数据将即时生成并写入,在读取时,同级校验数据也将被即时读出并检查源数据的正确性。从图中可以发现,RAID 5的硬盘利用率较高,数据吞吐量比较容易得到发挥。

RAID 5是目前最常用的高级RAID等级,是RAID 3、4的理想替代者,许多高档RAID控制器都提供了对RAID5的支持,并以此做为高档RAID系统的标志。



RAID 6是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的。这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID 6的数据冗余性能相当好,最多允许两个磁盘出故障而不丢失数据。但是,由于增加了一个校验,所以写入的效率较RAID 5还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。

                           



0 0