RAID的原理和区别

1. 什么是RAID
2. RAID原理
3. 查看RAID0
4. 查看RAID1
5. 查看RAID5
6. 查看RAID10

什么是RAID
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由多个磁盘组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。

RAID原理
磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。
和当时PC用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。
在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。然后由缓存再慢慢写入磁盘。

RIAD0:无差错控制的带区组
RAID0硬盘组由至少一块硬盘组成,容量=单块硬盘空量(较小的)xRAID0组硬盘数量。读写速率=单块硬盘读写速率xRAID0组硬盘数量。
优点:数据吞吐量大,读写速率快,性能高
缺点:没有数据差错控制,一旦RAID组内有一块磁盘损坏,所有数据都无法使用
详细介绍:要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。它不需要计算校验码,实现容易。它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。如果用户进行图象(包括动画)编辑和其它要求传输比较大的场合使用RAID0比较合适。同时,RAID可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。那么原来读取同样文件的时间被缩短为1/2。在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

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

RAID5:分布式奇偶校验的独立磁盘结构
RAID5由至少三块硬盘组成,容量=单块硬盘容量(较小的)x(RAID5组硬盘数量-1),读写速率=单块硬盘的读写速率x(RAID5组硬盘数量-1)。
优点:数据可靠性高、读写速度快,空间利用率高
缺点:RAID5组的其中一块硬盘发生故障,整个系统的性能将大大降低
详细介绍:从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。 但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。 RAID-5的话,优点是提供了冗余性(支持一块盘掉线后仍然正常运行),磁盘空间利用率较高(N-1/N),读写速度较快(N-1倍)。RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,相对于RAID0必须每一块盘都正常才可以正常工作的状况容错性能好多了。因此RAID5是RAID级别中最常见的一个类型。RAID5校验位即P位是通过其它条带数据做异或(xor)求得的。计算公式为P=D0xorD1xorD2…xorDn,其中p代表校验块,Dn代表相应的数据块,xor是数学运算符号异或。

RAID5校验位算法详解
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)XOR(Exclusive OR)的校验原理如下表:

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编码与校验的基本原理。

RAID10:高可靠性与高效磁盘结构
RAID10是RAID1和RAID0结合体,由至少4块硬盘组成,容量=单块硬盘容量(较小的)x(RAID10组硬盘数量/2),读写速率=单块硬盘的读写速率x(RAID10组硬盘数量/2)
优点:数据保障性高,读写速率快
缺点:空间利用率低,读写性能不及RAID0
详细介绍:这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速还可以互为镜像的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于容量不大,但要求速度和差错控制的数据库中。

其他有关RAID的详细信息请见百度百科《磁盘阵列》

你可能感兴趣的:(raid,冗余,热备,磁盘阵列)