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)
xxcjxxcj
上一篇 2017-08-26
下一篇 2017-08-26

相关推荐

  • Linux运维实战之6:挂载/卸载磁盘分区

    上次博文我们具体讨论了Linux系统中磁盘的分区及格式化( http://www.178linux.com/60811),本次博文我们具体来说说分区的挂载哈! 【问题引入】 已经格式化好的分区如何与系统现有的文件系统建立关联(如何使用新分区)? 新的磁盘分区创建完成并格式化之后需要挂载(或装入)到目录树上才能被使用。 何谓挂载/卸载? 【答】将某个…

    Linux干货 2016-12-04
  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限;          [root@yangjifeng~]# cp -a /etc/skel /home/tuser1 [root@yangjife…

    Linux干货 2017-08-28
  • keepalived(主主) 结合lvs(dr工作 模式) 实现高可用性。

    keepalived(主主) 结合lvs(dr工作 模式) 实现高可用性。

    2018-03-11
  • 计划任务&脚本进阶练习

    1、每天的2点和12点整,将/etc备份至/testdir/backup目录中,保存的文件名称格式为“etcbak-yyyy-mm-dd-HH.tar.xz” mkdir /testdir/backup vim /root/bin/etcbak.sh tar cvf /testdir/backup/etcbak-`date “+%F-%H”`.tar.xz …

    Linux干货 2017-03-26
  • ldirectord 结合ipvsadm 配置nat,dr模型

    ldirectord 结合ipvsadm 配置nat,dr模型  一、nat模型 1、 drector # wget ftp://172.16.0.1/pub/Sources/7.x86_64/crmsh/ldirectord-3.9.6-0rc1.1.1.x86_64.rpm # yum -y install nginx (同时用于做为sorry…

    Linux干货 2014-01-03