下午好,我的网工朋友。
关于磁盘阵列的用法,总有朋友对其用途与功能一知半解,很容易弄混。
而我们在做监控项目存储时,经常会用到磁盘阵列。
什么是磁盘阵列?为什么要做磁盘阵列?用什么样的磁盘阵列合适?raid0、raid1、raid5、raid10各有什么特点?
今天我们就来一起总结下这些问题,看看有没有你回答不上来的知识点。
今日文章阅读福利:《 RAID技术详解白皮书 》
私信我,发送暗号“RAID”,即可获取最新版技术白皮书资源。
01 什么是Raid?为什么要做Raid?
01 什么是Raid?
raid就是冗余磁盘阵列,把多个硬磁盘驱动器按照一定的要求使整个磁盘阵列由阵列控制器管理组成一个储存系统,使得其具有数据保护的功能。
我们了解了Raid后,那么服务器为啥要做磁盘阵列呢?
主要有两个作用:
1.提供容错功能
普通的磁盘驱动器是无法提供容错功能的,而磁盘阵列可以通过数据校验提供容错功能,服务器会将数据写入多个磁盘。
如果某个磁盘发生故障时,此时仍能保证信息的可用性,重要数据不会丢失,也不会耽误服务器的正常运转。
2.提高传输速率
磁盘阵列将多个磁盘组成一个阵列,当做一个单一的磁盘使用,把数据已分段的形式存储到不同的硬盘之中。
发生数据存取变动时,阵列中的相关磁盘一起工作,这就可以大幅的降低数据存储的时间,同时还能拥有更佳的空间和使用率。
02 常用Raid有哪些?各有何特点?
01 Raid 0:一块硬盘或者以上就可做raid0
优势:
数据读取写入最快,最大优势提高硬盘容量,比如3块80G的硬盘做raid0,可用总容量为240G,也就是利用率是100%,速度也比较快。
缺点:
无冗余能力,一块硬盘损坏,数据全无。
建议:
做raid0 可以提供更好的容量以及性能,推荐对数据安全性要求不高的项目使用。
02 Raid 1:至少2块硬盘可做raid1
优势:
镜像,数据安全强,一块正常运行,另外一块镜像备份数据,保障数据的安全。
一块坏了,另外一块硬盘也有完整的数据,保障运行。所以这种安全性比较性最高。
缺点:
性能提示不明显,做raid1之后硬盘使用率为50%,有些费硬盘。
建议:对数据安全性要求比较高的项目。可以使用Raid1。
03 Raid5:至少需要3块硬盘raid5
优势:
上面提到的Raid0与Raid1的优势,raid5都兼顾。
RAID5最少需要三块硬盘,通用做法是用4块硬盘,其中有一块硬盘是用来做数据冗余的。
如果做RAID5的服务器上有一块硬盘坏掉了,那么我们需要把坏的盘拨下来,然后换上一块新的硬盘,系统会自动进行数据同步。
可用容量:
单块磁盘容量*(n-1),n为磁盘数,也就是4块硬盘,有3块是拿来存储。
安全性能方面,RAID1最高,RAID5次于RAID1。
缺点:
只允许单盘故障,一盘出现故障得尽快处理。有二盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加。
建议:盘不多,对数据安全性和性能提示都有要求,raid5是个不错选择,盘多可考虑riad10。
04 Raid10:至少需要4块硬盘
Raid 10是一个Raid 1与Raid0的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。
是一种高成本、高可靠性、高存储性能的三高阵列技术。
优势:
兼顾安全性和速度。基础4盘的情况下,raid10允许对硬盘2块故障,随着硬盘数量的提示,容错量也会相对应提升,这是raid5无法做到的。
缺点:
对盘的数量要求稍高,磁盘使用率为50%。
建议:
硬盘数量足够的情况,建议riad10。
当然还有Raid6、Raid50、Raid60这里就不一 一介绍了。
03 Raid5与Raid10哪个好?
关于RAID5与raid10的讨论一直都有,那么Raid5与Raid10那个好呢?
01 安全性方面的比较
RAID10的安全性高于RAID5。通过简单的分析:当盘1损坏时,对于RAID10,只有当盘1对应的镜像盘也损坏,才会导致RAID失效。
但是对于RAID5,剩下的3块盘中,任何一块盘出现故障,都将导致RAID失效。
02 空间利用率的比较
RAID10的利用率是50%,RAID5的利用率是75%。硬盘数量越多,RAID5的空间利用率越高。
RAID10除了在利用率方便稍逊RAID5之外,其它方面都高RAID5,在大型监控项目用Raid5的也比较多,不差钱的话也可以用RAID10。
04 总结
RAID 等级的选择主要有三个因素,即数据可用性、性能、成本。
目前,在实际应用中常见的主流 RAID 等级是 RAID0 , RAID1 , RAID5 , RAID6 和 RAID10 ,总结下来就是下面这张图。
01 RAID 等级技术对比
在实际应用中,应当根据用户的数据应用特点和具体情况,综合考虑可用性、性能和成本来选择合适的 RAID 等级。
02 那么如何选用RAID呢?
1、如果不要求可用性,选择 RAID0 以获得高性能。
2、如果可用性和性能是重要的,而成本不是一个主要因素,则根据磁盘数量选择 RAID1 。
3、如果可用性,成本和性能都同样重要,则根据一般的数据传输和磁盘数量选择RAID5 。(监控项目比较多)
4、如果可用性,安全性是非常重要的,而成本不是主要因素,则可以选择Raid10。
整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部