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的存储方式,即如果有四个盘,其写入顺序为(1)1、(2)2、(3)3、(4)4、(1)5、(2)6…….。这样,不论你是写入数据还是读取数据,都不是一块磁盘在工作,而是四块磁盘同时在读取写入,这就大大加快了读取写入时间。但是,有优点也有缺点。其缺点是如果四个磁盘同时写入,没有重复备份的磁盘的话,一旦有一块磁盘损坏,就会导致所有数据丢失。

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

 

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

RAID磁盘冗余探究

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

 

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

RAID磁盘冗余探究

解释:同样是四个磁盘,但是前三个磁盘同RAID-0一样按照(1)1、(2)2、(3)3、(1)4、(2)5……的方式存储,至于第四个磁盘则存放通过异或校验得出的数据。这样如果损坏一块磁盘,可以加入一个新的,通过校验信息得出损坏的盘的数据。但是如果坏了第二块,就没办法恢复了,所以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-01:RAID-01,是RAID-0和RAID-1的组合,其工作方式如下:

RAID磁盘冗余探究

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

 

 

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

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

相关推荐

  • CentOS6删除/etc/fstab和/boot后恢复

    CentOS6删除/etc/fstab和/boot后恢复 背景: Linux CentOS系统和启动相关的文件都在/boot目录下,如果我们将/boot目录下所有的文件都删除,然后在恢复系统,那以后在遇到系统启动问题时就都可以解决了。在这基础上,在将/etc/fstab文件删除,这样更加大了修复的难度,不过这都是可以修复的,这里就将介绍如何修复。 实验环境:…

    2017-09-01
  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加samba用户gentoo,centos和u…

    Linux干货 2016-10-24
  • 06文本工具简单介绍

    在Linux系统中,一个核心理念就是:一切皆文件。正确的对系统中文本的编辑配置与管理是Linux系统得以稳定运行的一个重要大前提。 因此Linux系统中的文件与管理特别重要,下面简单说一下在对文件处理过程中经常用到的一些命令工具。 文本查看命令:cat,tac,rev,more,less cat [option]…[file]… -E…

    Linux干货 2016-10-31
  • vim编辑器

    vim编辑器 vi:Vistual Interface,是一种文本编辑器,所谓文本编辑器就是基于字符编码的文件,常见的编码有ASCLL编码,UNICODE编码。 vim:即vi IMproved:vi的增强版,可以使用颜色或者底线等方式来显示一些特殊信息,是模式化的编辑。 文本编辑器的种类 行编辑器:所谓行编辑器就是一行一行来编辑处理的工具,如sed 全屏编…

    Linux干货 2016-08-15
  • N22-第一周练习作业-冥界之王

    1.描述计算机系统的组成及功能硬件组成(输入设备,输出设备,存储器,运算器,控制器) 输入设备:鼠标,键盘,麦克,声卡(输入声音),扫描仪,手写板等输出设备:显示器,声卡(输出声音),音箱,投影仪等存储器:内存,硬盘,磁带,CPU内部还可以分1,2,3级缓存运算器:主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。在某些CP…

    Linux干货 2016-08-15
  • 十个让你变成糟糕的程序员的行为

    之前本站发表过《优秀程序员的十个习惯》以及《程序员需要具备的基本技能》,那是我们需要去学习和培养的。这里,我们主要讨论十个糟糕程序员的特征,主要是需要让我们去避免和小心的。 1) 情绪化的思维 如果你开始使用不同颜色的眼光来看待这个世界的话,那么你可能会成为一个很糟糕的程序员。情绪化的思维或态度很有可能会把自己变成一个怪物。相信你经常可以看到很多很糟糕的程序…

    Linux资讯 2015-04-03