一、什么是RAID
RAID(Redundant Arrays of Independent Disks,独立冗余磁盘阵列)是通过磁盘阵列与数据条带化方法相结合,以提高数据可用性的一种结构。RAID技术是1987年由Patterson、 Gibson和Katz在加州大学伯克利分校的一篇文章中提出的,当时为的RAID是“Redundant Array of Inexpensive Disks(廉价冗余磁盘阵列)”的缩写,但在技术上基本一致。RAID技术从其概念提出到现在,已经发展了多个级别,这些级别包括0、1、2、3、4、 5、6、10、30、50等,其中最常用的是0、1、5三个级别,它们都可以通过硬件或软件的方式来实现。
二、Raid类型简介
1、RAID 0
RAID 0是一种最简单且实现成本最低的一种RAID级别,它连续地分割数据,然后并行地读/写于多个磁盘上,具有很高的数据传输率。但RAID 0 并不是真正的RAID结构,没有数据冗余。它在提高性能的同时,并没有提供数据可靠性。如果一个磁盘失效,将会造成数据的丢失。因此,RAID 0不能应用于对数据可用性要求高的环境。
2、RAID 1
RAID 1通过数据镜像实现数据冗余,在两对独立的磁盘上产生互为备份的数据。 RAID 1可以提高读的性能,当原始数据繁忙时,可直接从镜像拷贝中读取数据。RAID 1是磁盘阵列中费用最高的,但提供了最高的数据可用性。当一个磁盘失效,系统可以自动切换到镜像磁盘上,而不需要重组失效的数据。
3、RAID 2
RAID 2将数据条带化分布于不同的硬盘上,条带单位为比特或字节。RAID 2使用称为“加重平均纠错码(又称为汉明码)”的编码技术来提供错误检查及恢复,这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施非常复杂,并且冗余信息的开销很大。因此,在商业环境中很少使用,基本上已被淘汰。
4、RAID 3
RAID 3同RAID 2类似,也是将数据条带化分布于不同的硬盘上,条带单位为比特或字节。但与RAID 2不同的是,RAID 3使用单块磁盘存放校验信息。如果一块磁盘失效,校验盘与其他数据盘可以重新产生数据;如果校验盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据,校验盘会成为写操作的瓶颈。
5、RAID 4
同RAID 2, RAID 3一样,RAID 4也同样将数据条带化并分布于不同的磁盘上,但条带单位为块或记录。RAID 4使用一块磁盘作为校验盘,每次写操作都需要访问校验盘,成为写操作的瓶颈,在商业中很少使用。
6、RAID 5
RAID 5同RAID 4相同,也是将数据条带化并分布于不同的磁盘上,条带单位为块或记录。但不同的时,RAID 5没有单独指定的校验盘,而是将数据及奇偶校验信息交叉地存取于所有磁盘上。在RAID5 上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块、随机读写的数据。与RAID 3相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘;对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
7、RAID 6
RAID 6 在RAID 5的基础上增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,使得数据的可靠性非常高。即使两块磁盘同时失效,也不会影响数据的使用。但需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5会有更大的“写损失”,RAID 6的写性能非常差。较差的性能和复杂的实施使得RAID 6在实际中很少使用。
8、RAID 10
RAID 10(镜象阵列条带)结合了RAID 0和RAID 1的特点,也被称为RAID (0+1),它需要4块、6块或8块硬盘,每两块硬盘作RAID 1,然后将形成的低级阵列重新组合作RAID 0。RAID 10既可以像RAID 0一样,数据条带化地跨磁盘存取,又可以像RAID-1一样,每个磁盘都有一个镜象磁盘。RAID 10提供了100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余性而不必考虑价格的应用来说,RAID 10提供最好的性能。使用RAID 10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。