标签:
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。分为RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50,RAID-60。(以上摘自wiki中文)
所有硬盘并联,读写并行处理,在所有RAID中具有最快的读写速度。任何一块一盘离线,所有数据都无法恢复。
所有硬盘互为镜像,理论上读取速度与硬盘数线性相关,写入速度与单块硬盘速度相当。只要有一块硬盘在线就可以正常工作。在所有RAID中安全性最高。硬盘越多,存储空间越浪费,在所有RAID中空间利用率最低。
较少实际应用,主要用于研究领域。原理与RAID5类似,性能不如RAID5.
RAID5是一种储存性能、数据安全和存储成本兼顾的存储解决方案。每块硬盘有一个奇偶校验区,最少需要三块硬盘。对于阵列中的硬盘A、B、C,每个硬盘分三个区:A1、A2、A3、B1、B2、B3、C1、C2、C3,其中A3、B2、C1为奇偶校验区,A3=B3⊕C3,B2=A2⊕C2,C1=A1⊕B1,根据异或操作的特性,若a⊕b=c则a=b⊕c且b=a⊕c,当硬盘B故障时,只需计算B3=A3⊕C3、B1=A1⊕C1,B2=A2⊕C2即可完成数据恢复。可以理解为,当一块硬盘故障时,需要解n个一元一次异或方程进行数据恢复。

| 
 
  | 
 A  | 
 B  | 
 C  | 
| 
 1  | 
 A1(data)  | 
 B1(data)  | 
 C1(A1⊕B1)  | 
| 
 2  | 
 A2(data)  | 
 B2(A2⊕C2)  | 
 C2(data)  | 
| 
 3  | 
 A3(B3⊕C3)  | 
 B3(data)  | 
 C3(data)  | 
与RAID5类似,但每块硬盘有两个独立的校验区,最少需要四块硬盘。两个校验区PQ,P与RAID5类似,进行异或运算;Q需要应用场理论(Galois Filed伽罗华域,尝试去查询这方面的资料,但是要求数学专业知识,本人数学知识有限,文档读起来非常吃力,没有理解)。与RAID5类似,可以理解为当有两块硬盘故障时,需要解n个二元一次异或方程组进行数据恢复。

先做镜像再做分区,只要每个分区中至少有一块硬盘在线就可以正常工作,可靠性高。
先做分区再做镜像,相当于多个RAID0阵列做镜像,只要一个RAID0中有一块硬盘故障,整个RAID0就会失效,相对于RAID10可靠性低。
先做RAID5再做RAID0,每个RAID5分区都允许至少一块硬盘故障,当有一个RAID5分区中有至少两块硬盘故障时,整个RAID50将会失效。
先做RAID6再做RAID0,每个RAID6分区都允许至少两块硬盘故障,当有一个RAID6分区中有至少三块硬盘故障时,整个RAID60将会失效。
| 
 RAID等级  | 
 最少硬盘  | 
 空间效率  | 
 最大容错  | 
 阵列失效率  | 
 读取性能  | 
 写入性能  | 
 安全性  | 
 目的  | 
| 
 0  | 
 2  | 
 1  | 
 0  | 
 1-(1-r)n  | 
 n  | 
 n  | 
 无  | 
 追求最大容量,最快速度  | 
| 
 1  | 
 2  | 
 1/n  | 
 n-1  | 
 rn  | 
 n  | 
 1  | 
 最高,至少1块硬盘在线即可  | 
 追求最高数据安全  | 
| 
 1+0  | 
 4  | 
 n/2  | 
 n/2  | 
 
  | 
 n  | 
 n/2  | 
 每个分组至少1块硬盘在线  | 
 兼具10的优点,浪费存储空间  | 
| 
 5  | 
 3  | 
 1-1/n  | 
 1  | 
 1-nr(1-r)n-1-(1-r)n  | 
 n-1  | 
 n-1  | 
 允许1块硬盘离线  | 
 追求最大容量最小预算  | 
| 
 6  | 
 4  | 
 1-2/n  | 
 2  | 
 1-n(n-1)r2(1-r)n-2-(1-r)n  | 
 n-2  | 
 n-2  | 
 允许2块硬盘离线  | 
 同RAID5,更安全  | 
| 
 5+0  | 
 6  | 
 (1-1/n)/2  | 
 
  | 
 
  | 
 n-m  | 
 n/m-1  | 
 每个分组至多1块硬盘离线  | 
 比RAID5性能更高,但每个分组浪费1块硬盘  | 
| 
 6+0  | 
 8  | 
 (1-2/n)/2  | 
 
  | 
 
  | 
 n-2m  | 
 n/m-2  | 
 每个区块至多2块硬盘离线  | 
 同5+0,安全性更高,但每个分组浪费2块硬盘  | 
关于RAID之不成熟选择建议:
如果存储空间足够,选择RAID1+0
单独的数据库服务器其磁盘阵列最好选用RAID1+0
如选择RAID1+0空间不够,选择RAID 5
如果磁盘阵列包含的磁盘超过了8块,最好选择RAID 6
最后附上wiki上关于RAID的词条链接:
英文 https://en.wikipedia.org/wiki/Standard_RAID_levels
中文 https://zh.wikipedia.org/wiki/RAID
标签:
原文地址:http://www.cnblogs.com/wangnfhy/p/4769222.html