首页 > 代码库 > RAID各级别特性
RAID各级别特性
1. 简述RAID及其功能
独立磁盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks).RAID最初的基本思想是把多块相对便宜的硬盘组织结合起来,成为硬盘阵列组,使组合成的这个阵列组的性能超过一块价格昂贵、容量巨大的硬盘。但随着RAID的发展,人们发现组成磁盘阵列事实上非常昂贵,于是折衷把"Inexpensive"改为"Independent"。
对于磁盘性能来说,增强性能意味着提高IO能力,即单位时间内的数据处理量更大,说白了就是提高处理速度。对于数据可靠性来说,增强可靠性意味着提高容错能力及磁盘冗余能力,这样磁盘损坏了数据还能正常存储。除此之外,RAID相比单块磁盘还有增加磁盘容量、增强数据集成度的好处。
总结来说,独立磁盘冗余阵列(RAID, Redundant Array of Independent Disks)就是通过把多块磁盘组织起来,以实现增强磁盘读/写性能(即增大处理量)、增强容错功能及磁盘冗余能力、增强数据集成度、增大容量的功能,这是相比于单块磁盘而言的。操作系统将磁盘阵列逻辑为一个硬盘,因此对于用户来说只需知道这是可存储的一块硬盘即可。
2. RAID的应用
磁盘阵列广泛应用于服务器主机上,通常使用多块完全相同的多块磁盘组合起来。随着磁盘价格的下降以及集成技术的发展(RAID能够更加有效地与主板集成),磁盘阵列越来越被广泛应用于个人电脑上。
3. RAID各级别特性
磁盘阵列RAID有标准RAID及混合RAID。以下介绍不同版本的RAID.**
3.1. 标准RAID
3.1.1. RAID-0
RAID-0又称条带卷(strip),RAID-0是将多块硬盘(两块以上)平行组织起来当做一块硬盘使用,将数据用RAID的控制器分割成chunk后条带化地存储进多块硬盘中。在所有级别的RAID中,RAID-0的读、写性能最佳。理论上,RAID-0的读写性能是单块硬盘的N倍,事实上受到controller分割或组合chunk在时间上的限制。但是,RAID-0是用降低数据存储可靠性换来存储器读、写性能的提升,因此RAID-0既不具备容错能力,也没有冗余能力,只要有一块硬盘损坏,则整个系统上的数据都会丢失。所以在对数据安全性要求不高的场合下才会使用RAID-0。
RAID-0特点总结如下:
(1) 读、写性能提升 (2) 可用空间:N*min(S1,S2,...) (3) 无容错/无冗余能力 (4) 最少磁盘数:2, 2+
3.1.2. RAID-1
RAID-1又称镜像卷,将多块硬盘(两块以上)组织起来,将要存储的数据复制成多份分别存储进不同的硬盘上。RAID-1的读性能提升,但写性能略有下降,数据可靠性最佳。
RAID-1特性总结如下:
(1) 读性能提升、写性能略有下降; (2) 可用空间:1*min(S1,S2,...) (3) 有冗余能力 (4) 最少磁盘数:2, 2+
3.1.3. RAID-2
RAID-2是RAID-0的改良版,其以汉明码(Hamming Code)的方式对数据进行线性编码并存储至不同硬盘中,并加入了错误修正码(ECC,Error Correction Code),因此存储的数据量比原始数据量大一些。RAID-2至少需要3块硬盘,虽然提高了数据可靠性,但使读、写性能大大下降,而且RAID-2具体实施技术复杂,因此在商业环境中很少使用。
3.1.4. RAID-3
RAID-3采用Bit-interleaving(数据交错存储)技术,将数据进行编码后,检查这些数据的同位置比特,并将同位置的比特存储分别独立存储在一块硬盘上。缺点是读取一小段数据可能需要对所有硬盘进行访问,导致读、写性能大大下降,因此一般RAID-3适于需要读取大量数据时使用。
3.1.5. RAID-4
RAID-4采用Block interleaving(块交织技术),用专门的一块硬盘当做校验盘存储校验码(例如数据异或的结果),每次访问数据时都需要从校验盘取出对应的同比特数据进行核对,因此对校验盘来说有IO性能瓶颈。当有一块硬盘损坏时,工作状态为降级模式。
RAID-4总结如下:
(1) 除校验盘外,读、写性能提升 (2) 可用空间:(N-1)*min(S1,S2,...) (3) 有容错能力:1块硬盘 (4) 最少磁盘数:3,3+
3.1.6. RAID-5
RAID-5采用循环存放校验码的机制,力求兼顾磁盘存储读、写性能及数据可靠性,可视为RAID-0、RAID-1的折衷方案。校验码有左对称和右对称两种布局,一般采用左对称布局。RAID-5至少需要3块硬盘。但RAID-5和RAID-4一样,最多只允许1块硬盘损坏,依然不够安全,因此就有了RAID-6。当有一块硬盘损坏时,工作状态为降级模式。
RAID-5特性总结如下:
(1) 读、写性能提升 (2) 可用空间:(N-1)*min(S1,S2,...) (3) 有容错能力:1块磁盘 (4) 最少磁盘数:3,3+
3.1.7. RAID-6
相对于RAID-5来讲,RAID-6用两块校验盘存储校验码,数据可靠性非常高,任意两块硬盘损坏不会影响数据的完整性。
RAID-6特性总结如下:
(1) 读、写性能提升 (2) 可用空间:(N-2)*min(S1,S2,...) (3) 有容错能力:2块硬盘 (4) 最少磁盘数:4, 4+
3.2. 混合RAID
3.2.1. RAID-10
RAID-10先将多块硬盘两两一组做成RAID-1(即镜像卷),再把所有的RAID-1做成RAID-0(即条带卷)。这种存储方式比较可靠。
RAID-10特性总结如下:
(1) 读、写性能提升 (2) 可用空间:N*min(S1,S2,...)/2 (3) 有容错能力:每组镜像最多只能坏一块; (4) 最少磁盘数:4, 4+
3.2.2. RAID-01
先把硬盘分成两组做成RAID-0(即条带卷),再把这两组做成RAID-1(即镜像卷)。RAID-01只要有一个硬盘损坏,同组RAID-0的其他硬盘将停止工作,只剩下其他组的硬盘工作。如下图所示,即使第一组RAID-0中的Disk0和跌入组RAID-0的Disk3同时损坏,因为每组RAID-0的控制器分割成chunk的机制不同,所以同样无法恢复数据,数据可靠性很低。
RAID-01特性总结如下:(m代表RAID-0的组数)
(1) 读性能提升,写性能略有下降 (2) 可用空间:N*min(S1,S2,...)/m (3) 有容错能力:最多只允许(m-1)组硬盘损坏 (4) 最少磁盘数:4, 4+
3.2.3. RAID-50
RAID-50是先把硬盘做成RAID-5,再把各RAID-5组做成RAID-0。每组RAID-5至少需要3块硬盘,因此构成多组RAID-5至少需要6块硬盘。例如:有6块硬盘,每3块硬盘构成一个RAID-5组,再把两组RAID-5组成RAID-0。
3.2.4. RAID-60
RAID-60是先把硬盘做成RAID-6,再把各RAID-6组做成RAID-0。每组RAID-6至少需要4块硬盘,因此构成多组RAID-6至少需要8块硬盘。例如:有12块硬盘,每4块硬盘构成一个RAID-6组,再把两组RAID-6组成RAID-0。
3.2.5. JBOD
JBOD(Just a Bunch Of Disks)只是将多块硬盘的空间合并为一个大的连续逻辑的硬盘空间,其可用空间为组合成JBOD的各个硬盘空间之和。不具备容错、冗余能力,数据可靠性和RAID-0相当。
3.2.6. RAID-7
RAID-7是Storage Computer Corporation的专利硬件产品名称,并非公开的标准。RAID-7是RAID-3、RAID-4的强化版,存储性能极为强大。
需要注意的是,RAID2、3、4较少实际应用,因为RAID5已经涵盖了所需的功能,因此RAID2、3、4大多只在研究领域有实现,而实际应用上则以RAID5为主。
本文出自 “Tab” 博客,请务必保留此出处http://xuweitao.blog.51cto.com/11761672/1900397
RAID各级别特性