RAID磁盘冗余探究

RAID磁盘冗余探究

RAID的全称是Redundant Arrays of Inexpensive Disk,可以翻译为廉价的磁盘冗余阵列。由加利福尼亚大学伯克利分校的一位教授在1988年提出,是一种磁盘管理方式。其产生的初衷是为了降低成本,但是为了达到RAID的功能,其造价并不便宜,所以后来改为Redundant Arrays of Independent Disks(独立磁盘冗余阵列)

其工作原理是:多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供

RAID的实现方式:操作系统(如windows, linux)称为软RAID

硬件卡实现(但价格昂贵)称为硬RAID

如果是软RAID,假如有几块大小不一的磁盘,每个磁盘都取100G来组合成RAID,这时系统就会产生对应的RAID设备,如/dev/sm0,/dev/sm1,/dev/sm2… 如果再将RAID挂载,假如挂载的是/mnt/raid目录下,对应的就是几块磁盘而非一块磁盘的大小,这里不同于分区。

RAID级别:

 

RAID-0: 条带卷,strip

如果是RAID-0,假设有一个非常大的名为file的文件存在于挂载的设备中,如/dev/sm0,挂载在/mnt/raid0下。RAID-0会将file切割成叫做chunk的单位,这样文件就可以跨磁盘存储。那么RAID-0到底是怎么存储的呢?先看看下面的图和解释吧!

RAID磁盘冗余探究

解释:如图,代表RAID-0的存储方式,即如果有四个盘,其写入顺序为(11、(22、(33、(44、(15、(26…….。这样,不论你是写入数据还是读取数据,都不是一块磁盘在工作,而是四块磁盘同时在读取写入,这就大大加快了读取写入时间。但是,有优点也有缺点。其缺点是如果四个磁盘同时写入,没有重复备份的磁盘的话,一旦有一块磁盘损坏,就会导致所有数据丢失。

补充:RAID在生产环境中至少要有二块磁盘,其磁盘利用率是100%

 

RAID-1: 镜像卷,mirror,其数据存放方式如下:

RAID磁盘冗余探究

解释:如图可知,(1)和(2)存放的是一样的数据。这样存取,有利于数据的保存,只要有一块磁盘存在,数据就不会丢失。但是其造价也高。数据与造价相比,道消彼长,如果是存放比较重要的数据,建议还是将造价放在次要位置。至少要有二块磁盘,利用率为1/n

 

RAID-4:与RAID-0相似,将文件分割成chunk。但是其写入与读取方式有所不同,详细如图所示:

RAID磁盘冗余探究

解释:同样是四个磁盘,但是前三个磁盘同RAID-0一样按照(11、(22、(33、(14、(25……的方式存储,至于第四个磁盘则存放通过异或校验得出的数据。这样如果损坏一块磁盘,可以加入一个新的,通过校验信息得出损坏的盘的数据。但是如果坏了第二块,就没办法恢复了,所以RAID-4只允许损坏一块磁盘。但是RAID4在实际中用到的并不多,因为事实证明,通常放校验数据的磁盘最容易坏。磁盘至少要有三块,磁盘利用率为n-1/n                                                                                                                                                                                                                                                                                                                                                                                                                                                                补充:什么是异或校验,如下

原理:相同为假,相异为真,假为0,真为1,如

1000110

0011011

1011101     ①和②按照其原理得出这个结果

 

RAID-5:也是同RAID-4相似,但存放校验数据的盘不是固定的。如下图:

RAID磁盘冗余探究

解释:这样每个磁盘都承担相同的压力,有效的解决了磁盘的冗余性,所以在实际中用到的比较多。允许坏一块磁盘,所以适用于保存不太重要的数据。但想要保持数据的百分之百安全,仍是不行。磁盘至少要有三块,磁盘利用率为n-1/n

 

RAID-6:虽然与RAID-0,RAID-4,RAID-5相似,但是更复杂,成本也更高了。

RAID磁盘冗余探究

解释:RAID-6允放损坏两块磁盘,所以适用于存放比较重要的数据。磁盘至少要有四块,磁盘利用率为n-2/n

 

RAID-10

RAID磁盘冗余探究

解释:如图可知,先使用RAID-1的存储方式,再使用RAID-0的方式,RAID-10相比RAID-01,在性能和使用率上没有多大区别,但RAID-10更好的是允许损坏的磁盘更多。

 

RAID-01RAID-01,是RAID-0RAID-1的组合,其工作方式如下:

RAID磁盘冗余探究

解释:方框内的数据采用RAID-0的方式存取下来,同时再用RAID-1的方式,备份一份,使两个方框内的内容相同。这样,如果一个或多个方框内的磁盘,仍然可以利用另一个方块内的数据恢复。但是如果两边各坏一个,那数据仍然也恢复不了。

 

 

原创文章,作者:xxcj,如若转载,请注明出处:http://www.178linux.com/85492

(0)
上一篇 2017-08-26 21:03
下一篇 2017-08-26 21:47

相关推荐

  • MAN手册各章节功能介绍及快捷键位详细说明

    MAN手册各章节功能介绍及快捷键位详细说明 M21-陆东贵 Man命令的作用:获取外部命令的使用帮助信息; 使用方法:]#  man  COMMAND        选项:        -M /PATH/TO/SOME…

    Linux干货 2016-10-18
  • 8月3日作业

    课堂练习: 当用户xiaoming对/testdir 目录无执行权限时,意味着无法 做哪些操作? 不能进入目录,不能创建目录、文件 当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做 哪些操作?  不能查看目录、文件 当用户wangcai 对/testdir 目录无写权限时,该目录下的只 读文件file1是否可修改和删除?&n…

    Linux干货 2016-08-07
  • Linux终端类型

    希望可以通过本文让网友们对linux的终端类型有一个清晰的认识!

    Linux干货 2016-10-14
  • 学会在命令行中获取帮助

    在命令行中获取帮助是学习Linux必须get的一项技能,学会之后受益多多。  Linux中的命令有内部命令和外部命令之分,通常使用 type 命令来区分 除此之外还可以使用 enable 命令来查看内部命令 enable命令后的许多option可以对这些内部命令了解更多,比如: 想要知道内部命令有多少个 enable -a |wc -l 禁用某个内…

    2017-07-15
  • 8-2 用户组和权限管理

    用户组和权限管理     本节主要是:su、passwd、chage、chown、chgrp、chmod、umask等命令及文件的三种普通权限和三种特殊权限     切换用户或以其他用户身份执行命令:su su [options…] [-] [user[args…]] 切换用…

    Linux干货 2016-08-07
  • CentOS下命令基础练习

    马哥教育网络班23期+第五周课堂作业 CentOS下命令基础练习 1、显示当前系统上root、fdeora或user1用户的默认shell 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello() 3、使用echo命令输出一个绝对路径 使用grep取出其基名 扩展:取出其路径名 (…

    Linux干货 2016-10-24