1 RAID?作用?
1.1 RAID
RAID就是冗余磁盘阵列,通常称作「磁盘阵列」的RAID (Redundant Array of Independent Disks)功能,多半是应用在NAS这类肩负资料储存的设备上,它能依据NAS里硬盘数量、容量的不同,提供不同的RAID模式让使用者选用后,再依据所选用的RAID模式,把一颗以上的硬盘合并成一个可用的单一储存空间,或者是配置成一个可用的储存空间和一个用于资料保护的储存空间。透过RAID功能,NAS可以把使用者的资料利用特殊的演算法分散储存在不同的硬盘里。如此一来,除了可以提高资料存取的效能外,还能够借由资料分散、储存的「资料容错」方式,一旦发生其中一颗硬盘故障时,就可以在装入新硬盘后,利用分散在其它硬盘的资料还原出正确、完整的资料,来确保使用者所储存的资料完整度和可靠性。把多个硬磁盘驱动器按照一定的要求使整个磁盘阵列由阵列控制器管理组成一个储存系统。最开始研制目的是为了利用多个廉价的小磁盘来替代昂贵的大磁盘,以此来降低成本。而随着硬盘技术的发展,如今的磁盘阵列采用了冗余信息的方式,使得其具有数据保护的功能。
1.2 RAID对于服务器的作用
- 提供容错功能
普通的磁盘驱动器是无法提供容错功能的,而磁盘阵列可以通过数据校验提供容错功能,服务器会将数据写入多个磁盘,如果某个磁盘发生故障时,此时仍能保证信息的可用性,重要数据不会丢失,也不会耽误服务器的正常运转。 - 提高传输速率
磁盘阵列将多个磁盘组成一个阵列,当作一个单一的磁盘使用,把数据已分段的形式存储到不同的硬盘之中,发生数据存取变动时,阵列中的相关磁盘一起工作,这就可以大幅的降低数据存储的时间,同时还能拥有更佳的空间和使用率。
2 RAID1 RAID2 RAID5 RAID6 RAID10这5种RAID冗余磁盘阵列的优缺点
2.1 RAID 0:一块硬盘或者以上就可做RAID0
优势:数据读取写入最快,最大优势提高硬盘容量,比如3块80G的硬盘做RAID0,可用总容量为240G,也就是利用率是100%,速度也比较快。
缺点:无冗余能力,一块硬盘损坏,数据全无。
建议: 做RAID0 可以提供更好的容量以及性能,推荐对数据安全性要求不高的项目使用。
2.2 RAID 1:至少2块硬盘可做RAID1
优势:镜像,数据安全强,一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行。所以这种安全性比较性最高。
缺点:性能提示不明显,做RAID1之后硬盘使用率为50%,有些费硬盘。
建议:对数据安全性要求比较高的项目,可以使用RAID1。
2.3 RAID5:至少需要3块硬盘RAID5
优势:上面提到的RAID0与RAID1的优势,RAID5都兼顾。RAID5最少需要三块硬盘,通用做法是用4块硬盘,其中有一块硬盘是用来做数据冗余的,如果做RAID5的服务器上有一块硬盘坏掉了,那么我们需要把坏的盘剥下来,然后换上一块新的硬盘,系统会自动进行数据同步。
可用容量:单块磁盘容量*(n-1),n为磁盘数。
安全性: RAID1最高,RAID5次于RAID1。
缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,RAID5 IO/CPU性能狂跌,此时性能烂到无以复加。
建议:盘不多,对数据安全性和性能提示都有要求,RAID5是个不错选择,盘多可考虑Riad10。
如果想要拥有RAID 0模式的资料存取效能、RAID 1模式的资料储存安全性,以及提高 储存空间利用率的话,那么,最少需要三个或以上的硬盘才能使用的RAID 5模式,无疑是能够三者兼顾的最佳选择。
2.4 RAID6:至少需要4块硬盘做RAID6
优势:RAID6是在RAID5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘。
可用容量:
C=(N-2)×D
C=可用容量 N=磁盘数量 D=单个磁盘容量。
比如4块1T硬盘做RAID6可用容量是:(4-2)×1000GB=2000GB=2T
缺点:性能提升方面不明显;
建议:对数据安全性要求高,性能要求不高的可选择。网易企业邮箱就是用的RAID6模式。
最少需要四颗或以上的硬盘才能使用的RAID6模式,可以说是RAID5模式的加强版。RAID6模式除了最少硬盘使用数与RAID5模式不同外,在资料储存上,它会针对每一个要储存的档案来产生「两份」相对应的奇偶校 验信息,因此它可以在两颗硬盘同时故障时,在替换的两颗新硬盘里分别还原出原有的资料,来提供比RAID5模式更高的资料储存安全性。
2.5 RAID10:至少需要4块硬盘
RAID 10是一个RAID 1与RAID0的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了RAID0的快速和RAID1的安全。是一种高成本、高可靠性、高存储性能的三高阵列技术。
优势:兼顾安全性和速度。基础4盘的情况下,RAID10允许对硬盘2块故障,随着硬盘数量的提示,容错量也会相对应提升,这是RAID5无法做到的。
缺点:对盘的数量要求稍高,磁盘使用率为50%。
建议:硬盘数量足够的情况,建议riad10。
3 RAID5 VS RAID10
关于RAID5与RAID10的讨论一直都有,那么RAID5与RAID10哪个好呢?
3.1 安全性
RAID10的安全性高于RAID5。通过简单的分析:当盘1损坏时,对于RAID10,只有当盘1对应的镜像盘也损坏,才会导致RAID失效。但是对于RAID5,剩下的3块盘中,任何一块盘出现故障,都将导致RAID失效。
3.2 空间利用率的比较
RAID10的利用率是50%,RAID5的利用率是75%。硬盘数量越多,RAID5的空间利用率越高。
3.3 读写性能
读操作方面的性能差异:RAID10可供读取有效数据的磁盘个数为4,RAID5可供读取有效数据的磁盘个数也为4个(校验信息分布在所有的盘上),所以两者在读方面的性能应该是基本一致的。
3.4 特殊情况下:有坏盘,无热备
RAID5 CPU和IO性能狂跌。因为数据不完整,在某些特殊软件下,实现即时重构数据进驻内存,保障业务运行,但此时RAID5的性能已经烂到无以复加。
RAID10是条带化+镜像,坏盘影响读性能,不影响写性能,而且无需重构。此时的RAID10完爆RAID5。
4 RAID应用的选择
RAID 等级的选择主要有三个因素,即数据可用性、 I/O 性能和成本。 目前,在实际应用中常见的主流 RAID 等级是 RAID0 , RAID1 , RAID5 , RAID6 和 RAID10 ,它们之间的技术对比情况如下表所示。
在实际应用中,应当根据用户的数据应用特点和具体情况,综合考虑可用性、性能和成本来选择合适的 RAID 等级。
4.1 如果不要求可用性,选择 RAID0 以获得高性能。
4.2 如果可用性和性能是重要的,而成本不是一个主要因素,则根据磁盘数量选择 RAID1。
4.3 如果可用性,成本和性能都同样重要,则根据一般的数据传输和磁盘数量选择RAID5。
4.4 如果可用性,安全性是非常重要的,而成本不是主要因素,则可以选择RAID10。