RAID的理解

1.简介

1.什么是RAID

RAID ——Redundant Arrays of Inexpensive Disks,廉价冗余磁盘阵列,由数颗硬盘组成一个容错阵列系统。服务器或存储,硬盘都需要做RAID进行数据备份。

2.使用RAID的好处

1、提供硬盘串接,将所有的硬盘组成一个虚拟的大硬盘

2、可将资料切割成许多区块,当读取或写入资料时以并行的方式对多颗硬盘进行存取动作,当硬盘颗数愈多时,愈能增加存取速度。

3、通过镜像或异或校验提供硬盘容错功能。

3.RAID的实现方式

外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
软件RAID:通过OS实现

4.RAID的级别概率

RAID的实现分级别概念,用不同的数字代表,不同的RAID级别,实现不同的RAID特性。具体特性区别下面介绍。

 

2.RAID的级别(常见的级别)

1.RAID-0(生产中不常用)

 

 实现逻辑:用两块或以上相同容量(这里相同容量指的是几块盘的容量一样,不一样只会去相同部分,大概比方有两个盘,一个是20G,一个30G,它只会用那30G里的20G)的硬盘组成一个整体,读写数据的时候,他会把数据分成一条一条的,分别放到底层的几块磁盘里,如上图所示(一会把第一条数据放到Disk0,一会把第二条数据放到Disk1里面),所以RAID-0又被称为条带卷。

优点:1.充分利用I/O总线性能使其带宽翻倍,读/写速度翻倍。

2.磁盘利用率最高

缺点:(1)不提供数据冗余。
(2)无数据检验,不能保证数据的正确性。
(3)存在单点故障。

应用场景:
(1)对数据完整性要求不高的场景,如:日志存储,个人娱乐
(2)要求读写效率高,安全性能要求不高,如图像工作站

最少磁盘数2, 2+

 2.RAID-1

 

 

 实现逻辑:即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出,一旦工作盘发生故障立即转入镜像盘,从镜像盘中读出数据。当更换故障盘后,数据可以重构,恢复工作盘正确数据。所以RAID又叫镜像卷,这里还需要注意一点,RAID-1因为是实时同步的,所以他只能防物理性损坏,而不能防止人为删数据。

优点:数据安全性相对其它RAID级,是最好的。

缺点:磁盘利用率只有50%,是所有RAID上磁盘利用率最低的一个级别。

应用场景:

1、财务

2、金融

最少磁盘数:2,2N

3.RAID-4(一般不常用,是RAID-5的逻辑基础)

 

 实现原理:通过一个校验盘来记录另外几块硬盘的校验,当数据盘损坏一个的时候,可以通过异步校验算出坏掉硬盘的数据,那么什么是异步校验呢,数学上就相当于a+b=c,a和b任意一个值不知道了,我们都可以通过c-a或者c-b算出其值。

优点:有冗余性,不过冗余性较低,只能坏一个数据盘。

缺点:因为校验值,放在一个盘上,如果校验盘坏了,那他的作用就没了(在生产中,经常坏的就是校验盘,所以用的不多)

最少磁盘数:3,3+

4.RAID-5(RAID-4的优化版)

 

 实现原理:RAID-5是RAID-4的优化版,从图中我们看出,RAID-4的校验值,是都放在一块硬盘上,但是RAID-5的校验值是均匀的分配在每个盘上,图中的Ap,Bp,Cp,Dp都是校验值,这样就解决了RAID-4的问题。

优点:有冗余性,解决了RAID-4的问题,读写性能提升

缺点:从他的原理和我们看出,只能坏一块盘。异或较验影响存储性能

磁盘利用率:(n-1)/n

最少磁盘:3,3+

5.RAID-6 (生产中用的少)

 

 实现原理:这里的实现原理是基于二元一次方程,这里的逻辑比较复杂,是基于伽罗华域算法(比较高深),这其中的算法有兴趣可以进行了解,这里我们只要知道这里有两个校验位,可以实现最多两块磁盘的损坏。

优点:快速的读取性能,更高的容错能力。

缺点:很慢的写入速度,RAID控制器在设计上更加复杂,成本更高。

磁盘利用率:(n-2)/n

最少磁盘:4,4+

应用场景:在实际应用中RAID6的应用范围并没有其它的RAID模式那么广泛。因为实现这个功能一般需要设计更加复杂、造价更昂贵的RAID控制器,所以它一般也不会集成在主板上。

6.RAID-10

 

 实现原理:从图中我们看出Raid-10(这里读一零不读十),是在Raid1的基础上做了一层Raid0。这个实现原理理解起来应该不复杂。

优点:读写性能提升,有较好的冗余性,最多只能坏两块盘

缺点:磁盘利用率不高,只能用一半

最少磁盘:4,4+

7.RAID-01

 

 

 实现原理:从图中我们看出Raid-01,是在Raid0的基础上做了一层Raid1。这个实现原理理解起来应该不复杂。

优点:读写性能提升,有较好的冗余性,最多只能坏两块盘

缺点:磁盘利用率不高,只能用一半

最少磁盘:4,4+

 

8.RAID-10和RAID-01的区别

从上面两张图我们看出,他们除了底层的实现原理不同,什么磁盘利用率什么的都差不多,那他们到底有没有差别呢?有,就是容错性。

 

 RAID-10在坏掉Disk0盘的情况下,另外3块盘Disk1,2,3, 只怕在坏disk1,如果坏disk1整个系统就完了,所以有1/3系统崩溃的风险。

 

  RAID-01在坏掉Disk0盘的情况下,另外3块盘Disk1,2,3, 再怕坏disk2或者3,如果坏了一个整个系统就完了,所以有2/3系统崩溃的风险。

总结:所以生产中RAID-10的安全性比RAID-01的更高,推荐使用RAID-10.

9.RAID-50

 

 实现原理:先做RAID5,然后在RAID5的基础上做RAID0,所以他具有RAID5和RAID0的双重特性。

优点:拥有RAID0和RAID5的双重特性,高可靠性存储、高读取速度、高数据传输性能。磁盘的可允许损坏率唯一,为1/3。

缺点:上面讲的可损坏率1/3,具有局限性,列如上图所示RAID-50系统,底层有9块磁盘,那么损坏率1/3就代表可以接受3块物理盘损坏,这里的3块盘不是讲9块盘中任意3块盘,他只允许每个RAID5组内有一个磁盘出现故障,这个意思比较明确了吧,意思就是讲如果这3块盘中有两个盘出现在一个RAID5组内,那么整个RAID-50系统也就崩溃了

最少磁盘:6,6+3n

应用场景:它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。这些应用包括事务处理和有许多用户存取小文件的办公应用程序。RAID 50提供了接近RAID 10性能、可用性以及接近RAID 5成本的特性,具有较好的整体性价比优势,所以考虑使用RAID 50替换RAID 10吧

10.JBOD(其他RAID级别)

 

 实现原理将多块磁盘的空间合并一个大的连续空间使用 ,写入是一块一块的写,写满第一块,写第二块。

优点:底层磁盘可以大小不一致,可以充分利用磁盘空间

缺点:没有冗余性,坏了一块盘,数据也就丢失了。

应用场景:适合家庭环境使用,可以将买来大小不一致的盘整合到一块使用

 

posted @ 2020-06-28 23:09  清白之年980410  阅读(555)  评论(0编辑  收藏  举报