以下部分内容来自华为存储官方教材
具体教材内容请移步华为存储官网进行教材下载
------------------------------------重要说明------------------------------------
RAID0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。
RAID0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID0不能应用于数据安全性要求高的场合。
RAID1它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1可以提高读取性能。
RAID1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码(海明码)”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂,因此在商业环境中很少使用。
它同RAID2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID3使用简单的奇偶校验 ,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;
如果奇偶盘失效则不影响数据使用。RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。
XOR校验的算法:相同为假,相反为真
0⊕0=0;0⊕1=1;1⊕0=1;1⊕1=0;
RAID4同样也将数据条块化并分布于不同的磁盘上,但条带单位为块或记录。
RAID4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID4在商业环境中也很少使用。
RAID5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。
在RAID5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。
RAID5更适合于小数据块和随机读写的数据。
RAID3与RAID5相比,最主要的区别在于RAID3每进行一次数据传输就需涉及到所有的阵列盘;
而对于RAID5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。
RAID5适合顺序大IO,RAID5不适合OLTP数据库。
在RAID5 小写中有“写损失”,即每一次写操作将产生两个实际的读操作和两个实际的写操作,其中读旧的数据及读奇偶信息,写新的数据及写新的奇偶信息。RAID5的小写损失是4。
读改写(小写):要写入的分条单源数目不足磁盘数目的一半。
新的校验数据=老数据 XOR 新数据 XOR 老校验数据
在RAID5 大写中有“写损失”,即每一次写操作将产生一个实际的读操作和两个实际的写操作,其中读旧的数据,写新的数据及写新的奇偶信息。RAID5的大写损失是3。
重构写(大写):要写入的分条单元数目超过磁盘数目的一半。
新的校验数据=新数据 XOR 不需要修改的分条数据。
与RAID5相比,RAID6增加了第二个独立的奇偶校验信息块。
两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID6很少得到实际应用。
RAID5E(RAID5Enhencement): RAID5E是在RAID5级别基础上的改进,与RAID5类似,数据的校验信息均匀分布在各硬盘上,但是,在每个硬盘上都保留了一部分未使用的空间,这部分空间没有进行条带化,最多允许两块物理硬盘出现故障。
看起来,RAID5E和RAID5加一块热备盘好象差不多,其实由于RAID5E是把数据分布在所有的硬盘上,性能会比RAID5 加一块热备盘要好。
当一块硬盘出现故障时,有故障硬盘上的数据会被压缩到其它硬盘上未使用的空间,逻辑盘保持RAID5级别。
与RAID5E相比,RAID5EE的数据分布更有效率,每个硬盘的一部分空间被用作分布的热备盘,它们是阵列的一部分,当阵列中一个物理硬盘出现故障时,数据重建的速度会更快。
RAID50是RAID5与RAID0的结合。
此配置在RAID5的子磁盘组的每个磁盘上进行包括奇偶信息在内的数据的剥离。
每个RAID5子磁盘组要求三个硬盘。
RAID50具备更高的容错能力,因为它允许某个组内有一个磁盘出现故障,而不会造成数据丢失。
而且因为奇偶位分部于RAID5子磁盘组上,故重建速度有很大提高。
优势:更高的容错能力,具备更快数据读取速率的潜力。
需要注意的是:磁盘故障会影响吞吐量。
故障后重建信息的时间比镜像配置情况下要长。
可以两边RAID1中各坏一块硬盘,但不能同时坏掉单边的两个硬盘。
RAID1+0实际是没有“写损失”的,因为不需要进行校验数据;如果非要说有“写损失”,那么可以理解为2;
RAID0+1 不可以两边RAID0中各坏一块硬盘,但可以在单边同时坏掉单边的两块硬盘
原文地址:http://blog.51cto.com/hostman/2094621