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 22:29
下一篇 2016-11-08 06:16

相关推荐

  • LVS常见的类型实现方式

    前言  由于lvs的基础知识已经在第一篇lvs中讲解了,所以在这里只做实验,包括lvs-nat,lvs-dr,以及基于Freiwall标记和实现会话绑定实验。 一、lvs-nat:也是MASQERADING,简称为m(masquerading)    实验图:     地址规划:     …

    Linux干货 2015-06-29
  • 第九周

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;   1 #!/bib/bash   2 #   3 a=0   4 x=0   5 y=…

    Linux干货 2017-05-25
  • 用NFS搭建wordpress让两台httpd服务同时服务

    一、博客实践作业: (1) nfs server导出/data/application/web,在目录中提供wordpress;  (2) nfs client挂载nfs server导出的文件系统至/var/www/html; (3) 客户端(lamp)部署wordpress,并让其正常访问;要确保能正常发文章,上传图片; (4) 客户端2(la…

    2017-06-07
  • CentOS7.3安装Jumpserver0.3.2

    CentOS7.3安装Jumpserver0.3.2 公司服务器前端增加堡垒机,选用开源的jumpserver 软件环境CentOS Linux release 7.3.1611 python 2.7.5 mysql5.7 安装git yum -y install git 克隆jumpserver # cd /opt # git clone https://…

    Linux干货 2017-07-11
  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 //使用who命令列出列出当明显登录的所有用户,使用cut命令取出用户名,使用sort命令去重即可// [root@localhost ~]# who | cut -d' ' -f1…

    Linux干货 2016-08-08
  • linux文件基本权限讲解

    linux文件基本权限讲解 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 Linux系统中一切都是文件,文件和目录的所属与权限——来分别规定所有者、所有组、其余人的读,写,执行权限。 在Linux中我们可以使用ll或者ls –…

    Linux干货 2016-09-05

评论列表(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