Linux基础之RAID

一.RAID介绍

RAID刚开始出现的时候叫做廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),但在当时磁盘并非像现在这么便宜,反而这种组合方式使得代价非常昂贵,所以后来改名为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本的思想就是组合组合多个便宜的,性能相对较低的磁盘,使之成为一个性能优越,容量大的存储设备,在逻辑上只表现为一个存储设备。RAID也分为不同的级别,各个级别有各自的特点。

二.RAID级别及其特点

1.RAID-0:也叫条带化存储,将一块数据切分为块,其中一半存储在一块磁盘中,另一半存储在另外一块磁盘中

raid 0.png

特点:

(1)至少需要两块磁盘
(2)可用空间:磁盘块数 * 所有磁盘中容量最小的磁盘容量大小
(3)从图中可以看出来,RAID 0没有容错能力
(4)磁盘的读写性能均有提升

2.RAID-1:也叫镜像化存储,将数据拆分为数据块进行存储,而且一边存储一边备份

raid 1.png

特点:

(1)至少需要两块磁盘
(2)可用空间:磁盘块数 * 所有磁盘中容量最小的磁盘容量大小
(3)具有容错功能,允许一块磁盘损坏
(4)磁盘的写性能有所下降

3.RAID-5:分布式奇偶校验,数据分块之后存储在不同的磁盘上,校验码也分布在各个磁盘上,如下图,p为校验码

raid 5.png

特点:

(1)至少需要3块磁盘
(2)可用空间:(磁盘总数-1)*所有磁盘中容量最小的磁盘的容量
(3)具有容错能力
(4)磁盘的读写性能均有提升

4.RAID-6:双分布式奇偶校验,将数据分块之后存储在不同的磁盘之上,使用两个独立的校验系统,具有很高的可靠性,即使两个磁盘同时损坏,也依然能将数据恢复,如下图,p和p'分别采用不同的校验系统

raid 6.png

特点:

(1)至少需要4块磁盘
(2)可用空间:(磁盘总数-2)*所有磁盘中容量最小的磁盘的容量
(3)因为要做两次校验,因此磁盘的写性能下降
(4)具有较强的容错能力

5.RAID-01:顾名思义,先做RAID-0,整体再做RAID-1,如下图所示:

RAID 01.png

特点:

(1)至少需要4块磁盘
(2)磁盘的读写性能均有提升
(3)可用空间:(磁盘总数 * 所有磁盘中容量最小磁盘的容量)/2
(4)具有容错能力

6.RAID-10:同样,先做RAID-1,再做RAID-0,如下图所示

RAID 10.png

特点:

(1)至少需要4块磁盘
(2)可用空间为:(磁盘总数 * 磁盘中容量最小的磁盘的容量)/2
(3)磁盘的读性写能都有提升
(4)具有容错能力

三.以软件的方式实现RAID

软RAID的实现要依赖内核中的multi devices模块,使用mdadm来实现,目前支持的级别有 RAID-0,RAID-1,RAID-5,RAID-01,RAID-10,注意,要想实现软RAID磁盘的分区类型必须为fd

1.mdadm的使用方式:

 mdadm [mode] <raiddevice> [options] <component-devices>

其中:

mode有:创建模式,装配模式,监控模式,管理模式

(1)创建模式:-C

-n <number>:创建RAID使用的设备数
-l <raid_level>:指定所创建的raid级别
-a {yes|no}:是否自动创建RAID设备文件
-x <number>:指明空闲盘的个数

(2)装配模式:-A

(3)监控模式:-F 

(4)管理模式:当对raid设备进行标记,添加,移除等操作时,就是在管理模式


<raid_device> :RAID设备

<component_device>:要使用那几块磁盘创建

[options]:

-D <raid_device>:查看指定RAID设备的信息
–stop <raid_device> : 停止指定的raid设备
-h,–help:获取帮助

2.使用示例:

创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k

思路:RAID-1至少需要2块硬盘,还要求有一个空闲盘,于是至少需要三块盘,但是由于是软raid,所以以分区模拟磁盘

步骤:

(1)创建三个分区,使用fdisk创建:

分区.png

(2)创建RAID-1:

创建.png

查看结果为:

结果.png


创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

思路:RAID-5至少需要三块磁盘,同样以三个分区来模拟,要想实现开机自动挂载,要通过编辑/etc/fstab来实现

步骤

(1)创建分区,与上一示例相同

(2)创建

raid-5.png

查看结果为:

结果2.png

(3)格式化为ext4文件系统

格式化.png

(4)修改/etc/fstab文件

首先创建/backup目录

创建目录.png

修改配置文件:vim /etc/fstab

FS.png


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

(0)
zhangbaozhangbao
上一篇 2016-11-07
下一篇 2016-11-08

相关推荐

  • 博客启动计划&我个人理解的Python优缺点

    很久没有写博客了,因为最近一直在使用Python。Python实在不是一门好的工作用语言(我的观点是所有的动态语言都不是好的工作用语言,不仅是Python),但是自己玩还是可以的。但,生活所迫,还是要继续用的呀(笑)。 所以呢,博客还是要写的,java还是最喜欢的,Python也是要学习的,当然其实更多是总结了。既然博客要启动了,这篇文字就权当测试吧,使用公…

    Linux干货 2015-03-13
  • python Django分页

    自定义html_helper.py  —>  Page_helper类 #coding:utf-8 from django.utils.safestring import mark_safe class Page_Helper(object):    …

    Linux干货 2016-08-22
  • shell编程之变量,数值计算,字符比较,文件测试小记

     变量     变量:能储存计算结果或能表示值抽象概念,其指向的内存空间中一段地址。        变量赋值:name=value    溢出:字符超过定义内存中间大小    变量类型:数据类型,存储的格式,参与的运算   &nb…

    Linux干货 2016-08-15
  • 第五周作业:find、cut、grep用法

    第五周作业 1、显示当前系统上root、fedora或user1用户的默认shell; 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); 3、使用echo命令输出一个绝对路径,使用grep取出其基名; 扩展:取出其路径名  4、找出ifconfig命令结果中的1-255之间数字; …

    Linux干货 2016-11-28
  • linux程序包管理

    对第五周学习的内容进行总结

    2018-01-01
  • 模块式LAMP和fpm式LAMP实现wordpress

           Linux+Apache+Mysql/MariaDB+Perl/PHP/Python这一组合常用来搭建动态网站或者服务器的开源软件,随着开源潮流的蓬勃发展,开源的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件平台在软件方面的投资成本较低,,LAMP平台已经成为最强…

    Linux干货 2016-04-22

评论列表(1条)

  • Sunshine
    Sunshine 2017-04-24 02:59

    You always look fabulous, Vix! I'm so jealous!I may have to come to your neck of the woods for a car boot sale, if thy#9e3&;re held that regularly! They're very rare round here :(Great post xo