磁盘阵列是啥?Raid1、Raid2、Raid5、Raid6、Raid10的区别
作者:弱电搬砖者 来源:品至搬砖 日期:2020-08-04 浏览 文章最下方有下载链接 ↓↓↓

什么是磁盘阵列?Raid1、Raid2、Raid5、Raid6、Raid10有什么不同?


我们在做监控项目存储时,经常会用到磁盘阵列,什么是磁盘阵列呢?那为什么要做磁盘阵列呢?raid1 raid2 raid5 raid6 raid10各有什么优势?本期我们来看下。


一、什么是Raid?它有什么作用?

RAID(Redundant Arrays of Independent Disks,一说Redundant Arrays of Inexpensive Disks),中文名称叫独立磁盘冗余阵列(廉价磁盘冗余阵列),简称磁盘阵列。它的作用呢,是在多块硬盘组成的阵列系统中,牺牲一块至多块硬盘的容量,来对数据的存储提供一定的容错能力。

我们先来简单假设一种使用情况:你拥有一些重要的数据,但是你并没有将这些数据进行备份,他们只存在于你台式机的单一硬盘中。那么一旦遇到台式机的硬盘损坏,你的这些数据只能去找数据恢复公司了;而如果你的台式机做了磁盘阵列,那么只需要替换阵列中坏掉的硬盘就可以重新恢复数据了。品至安防-弱电兼职网 pinzhitech.com

这正是RAID的魅力所在。如果你只组建一个相对廉价的阵列,甚至不需要额外的硬件成本,只要你的主板支持RAID功能,就可以体验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为磁盘数。品至安防-弱电兼职网 pinzhitech.com

安全性能方面,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 等级。 

如果不要求可用性,选择 RAID0 以获得高性能。

如果可用性和性能是重要的,而成本不是一个主要因素,则根据磁盘数量选择 RAID1 。

如果可用性,成本和性能都同样重要,则根据一般的数据传输和磁盘数量选择RAID5 。

如果可用性,安全性是非常重要的,而成本不是主要因素,则可以选择Raid10。

补充两点 一是raid6 写入速度非常感人 读取还好比r5慢一点 r1不是速度最慢的 r1的速度相当于阵列里最慢的盘的速度 二是r5e r5ee r6e 热备份这些可以增加安全性 但是情况也会更加复杂 另外我觉得更重要的是优化raid 应用场景不同选择更合适的raid方式 这才是最关键的 raid的百度就有 但是怎么用就不好去查了 建议多提提这个。

但raid磁盘阵列如何现有磁盘阵列基础上实现无损数据增减磁盘数量。每次增减都需要重组,而重组阵列就需要全盘格式化。

同时组建raid成本有点高,如何降低成本?raid矩阵有一个短板就是硬盘容量必须差不多,如果一大一小,大容量的就会被浪费掉,我一直在思考如何将普通不同容量的硬盘在无损数据和充分利用每个硬盘存储容量的条件下,组建新矩阵,且组建方法简单,至少要比raid阵列的部署更便捷,同时又保证可随时无损增减硬盘,又可以实现安全性和读写速度的提升,以最低成本实现数据矩阵组建。

目标是针对家用电脑精简化实现矩阵存储,并非做到raid专业的矩阵效果,但数据安全方面要达到最低raid1标准,速度要尽可能接近raid0标准或许我可以开发一个程序针对简化存储矩阵的程序,但思路上还是存在一些矛盾一直想不出来。