我们在做监控项目存储时,经常会用到磁盘阵列,什么是磁盘阵列呢?那为什么要做磁盘阵列呢?raid1 raid2 raid5 raid6 raid10各有什么优势?
一、什么是Raid?它有什么作用?
1、什么是Raid
raid就是冗余磁盘阵列,把多个硬磁盘驱动器按照一定的要求使整个磁盘阵列由阵列控制器管理组成一个储存系统。最开始研制目的是为了利用多个廉价的小磁盘来替代昂贵的大磁盘,以此来降低成本。而随着硬盘技术的发展,如今的磁盘阵列采用了冗余信息的方式,使得其具有数据保护的功能。
2、那么服务器为啥要做磁盘阵列呢?主要有两个作用:
提供容错功能
普通的磁盘驱动器是无法提供容错功能的,而磁盘阵列可以通过数据校验提供容错功能,服务器会将数据写入多个磁盘,如果某个磁盘发生故障时,此时仍能保证信息的可用性,重要数据不会丢失,也不会耽误服务器的正常运转。
提高传输速率
磁盘阵列将多个磁盘组成一个阵列,当做一个单一的磁盘使用,把数据已分段的形式存储到不同的硬盘之中,发生数据存取变动时,阵列中的相关磁盘一起工作,这就可以大幅的降低数据存储的时间,同时还能拥有更佳的空间和使用率。
二、常用Raid的优缺点
Raid 0:一块硬盘或者以上就可做raid0
优势:数据读取写入最快,最大优势提高硬盘容量,比如3块80G的硬盘做raid0,可用总容量为240G,也就是利用率是100%,速度也比较快。缺点:无冗余能力,一块硬盘损坏,数据全无。
建议:做raid0 可以提供更好的容量以及性能,推荐对数据安全性要求不高的项目使用。
Raid 1:至少2块硬盘可做raid1优势:镜像,数据安全强,一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行。所以这种安全性比较性最高。缺点:性能提示不明显,做raid1之后硬盘使用率为50%,有些费硬盘。建议:对数据安全性要求比较高的项目。可以使用Raid1。
Raid5:至少需要3块硬盘raid5
优势:上面提到的Raid0与Raid1的优势,raid5都兼顾。RAID5最少需要三块硬盘,通用做法是用4块硬盘,其中有一块硬盘是用来做数据冗余的,如果做RAID5的服务器上有一块硬盘坏掉了,那么我们需要把坏的盘拨下来,然后换上一块新的硬盘,系统会自动进行数据同步。
可用容量:单块磁盘容量*(n-1),n为磁盘数。
安全性能方面,RAID1最高,RAID5次于RAID1。
缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加。
建议:盘不多,对数据安全性和性能提示都有要求,raid5是个不错选择,盘多可考虑riad10。
Raid6:至少需要4块硬盘做raid6优势:raid6是在raid5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘。 可用容量:C=(N-2)×D
C=可用容量 N=磁盘数量 D=单个磁盘容量。
比如4块1T硬盘做raid6可用容量是:(4-2)×1000GB=2000GB=2T
缺点:性能提升方面不明显建议:对数据安全性要求高,性能要求不高的可选择。
Raid10:至少需要4块硬盘。
Raid 10是一个Raid 1与Raid0的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。
是一种高成本、高可靠性、高存储性能的三高阵列技术。
优势:兼顾安全性和速度。基础4盘的情况下,raid10允许对硬盘2块故障,随着硬盘数量的提示,容错量也会相对应提升,这是raid5无法做到的。缺点:对盘的数量要求稍高,磁盘使用率为50%。
建议:硬盘数量足够的情况,建议riad10。
当然还有Raid50、Raid60这里就不一 一介绍了。
三、Raid5与Raid10那个好?
关于RAID5与raid10的讨论一直都有,那么Raid5与Raid10那个好呢?
1、安全性方面的比较
RAID10的安全性高于RAID5。通过简单的分析:当盘1损坏时,对于RAID10,只有当盘1对应的镜像盘也损坏,才会导致RAID失效。但是对于RAID5,剩下的3块盘中,任何一块盘出现故障,都将导致RAID失效。
2、空间利用率的比较
RAID10的利用率是50%,RAID5的利用率是75%。硬盘数量越多,RAID5的空间利用率越高。
3、读写性能方面的比较
读操作方面的性能差异:RAID10可供读取有效数据的磁盘个数为4,RAID5可供读取有效数据的磁盘个数也为4个(校验信息分布在所有的盘上),所以两者在读方面的性能应该是基本一致的。
4、特殊情况下:有坏盘,无热备radi5 CPU和IO性能狂跌。因为数据不完整,在某特殊软件下,实现即时重构数据进驻内存,保障业务运行,但此时raid5的性能已经烂到无以复加。raid10是条带化+镜像,坏盘影响读性能,不影响写性能,而且无需重构。此时的raid10完爆raid5。
四、Raid应用的选择
RAID 等级的选择主要有三个因素,即数据可用性、 I/O 性能和成本。 目前,在实际应用中常见的主流 RAID 等级是 RAID0 , RAID1 , RAID5 , RAID6 和 RAID10 ,它们之间的技术对比情况如下表所示。
RAID 等级技术对比
在实际应用中,应当根据用户的数据应用特点和具体情况,综合考虑可用性、性能和成本来选择合适的 RAID 等级。
如果不要求可用性,选择 RAID0 以获得高性能。
如果可用性和性能是重要的,而成本不是一个主要因素,则根据磁盘数量选择 RAID1 。
如果可用性,成本和性能都同样重要,则根据一般的数据传输和磁盘数量选择RAID5 。
如果可用性,安全性是非常重要的,而成本不是主要因素,则可以选择Raid10。