在centos6.9上实现软RAID

在centos6.9上实现软RAID

什么是RAID?

    RAID,全称Redundant Arrays of Inexpensive(Independent)Disks。简单翻译叫磁盘阵列。
    通俗一点讲就是多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。
    目的有两个:一个是提高磁盘的IO能力,提高耐用性。

    

    实现方式有3种:
    1、外接式磁盘阵列:通过扩展卡提供适配能力
    2、内接式RAID:主板集成RAID控制器—安装OS前在BIOS里配置
    3、软件RAID:通过OS实现
    实际生产场景中大部分是使用硬RAID,在教室试验环境我们用软RAID

    常见的RAID级别
在centos6.9上实现软RAID

软RAID管理工具

    mdadm 
    -C:创建模式
        -n:定义创建RAID设备个数
        -l:指明要创建的RAID的级别
        -c CHUNK_SIZE: 指明块大小
        -x : 指明空闲盘的个数
    -A:装配
    -D:显示RAID的详细信息
    -F:监控
    -f:标记指定磁盘为损坏
    -r:移除磁盘
    -a:添加磁盘
    观察md的状态:cat /proc/mdstat

RAID前的配置

    1、检查mdadm,我这里已经安装了mdadm的rpm包。如果没安装,使用yum -y install mdadm进行安装。
在centos6.9上实现软RAID

    2、磁盘准备,想要RAID必须使用相同容量的磁盘或者分区,我这里先添加了7块5G的磁盘

创建RAID0

    1、创建RAID0最少只需要2块硬盘,我们这里选择/dev/sdb和/dev/sdc,首先新建分区,更改分区ID为fd  Linux raid auto。
    分完区需要partx -a /dev/sdb 同步一下。
在centos6.9上实现软RAID

    2、创建RAID-0
    -C    /dev/md0    —–创建
    -a    yes            —–同意一次性创建
    -l    0            —–指定创建的级别
    -n    2            —–指定磁盘数目
在centos6.9上实现软RAID

    3、两条查看状态的命令
在centos6.9上实现软RAID

    4、创建配置文件
    mdadm -Ds /dev/md0 > /etc/mdadm.conf
    5、格式化磁盘、挂载
    mkfs.ext4 /dev/md0
    mount /dev/md0 /mnt/raid0、
    可以看到/dev/md0容量大小是9.7G,实际为10G,允许有些许误差。
在centos6.9上实现软RAID

删除raid-0

    [root@centos6 ~]#umount /mnt/raid0                        <==取消挂载
    [root@centos6 ~]#mdadm -S /dev/md0                        <==停止设备
    mdadm: stopped /dev/md0
    [root@centos6 ~]#mdadm –zero-superblock /dev/sdb1        <==删除raid信息
    [root@centos6 ~]#mdadm –zero-superblock /dev/sdc1

RAID-1

    RAID1的步骤和方式与1相同(配置省略),但是由于RAID0并没有容错能力,其中一块磁盘损坏,阵列就瘫痪。RAID1有相对的冗余能力,但是成本相对较高。
    通过下图看到/dev/md1的容量为5.2G,和RAID0相比少了一半。
在centos6.9上实现软RAID

RAID-5

    1、创建raid5
    mdadm -C /dev/md5 -a yes -n 3 -l 5 -x 1 /dev/sd[b,c,d,e]1        <==-x1 表示留一块备用
    mdadm -Ds /dev/md5 > /etc/mdadm.conf
    mkdir /mnt/raid5
    mount /dev/md5 /mnt/raid5
    [root@centos6 ~]#df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2        48G  4.9G   41G  11% /
    tmpfs           491M   76K  491M   1% /dev/shm
    /dev/sda3        39G   48M   37G   1% /app
    /dev/sda1       969M   35M  885M   4% /boot
    /dev/sr0        3.7G  3.7G     0 100% /media/CentOS_6.9_Final
    /dev/md5        9.7G   23M  9.2G   1% /mnt/raid5                <==raid5的容量为(3-1)*5G

模拟磁盘损坏

    之前的状态
在centos6.9上实现软RAID

    模拟sdb1损坏
    mdadm /dev/md5 -f /dev/sdb1
    /dev/sdb1损坏后,备用的/dev/sde1会自动补上,我们来看下状态。重启后会丢失。
在centos6.9上实现软RAID

    mdadm /dev/md5 -a /dev/sdb1        <==重新添加进raid,多加的变成备用

    比较一下RAID5上面的写入能力,发现从63.3MB/s提升到317 MB/s,效果明显。
    [root@centos6 ~]#dd if=/dev/zero of=/app/f1 bs=1M count=200
    200+0 records in
    200+0 records out
    209715200 bytes (210 MB) copied, 3.31538 s, 63.3 MB/s
    [root@centos6 ~]#dd if=/dev/zero of=/mnt/raid5/f1 bs=1M count=200
    200+0 records in
    200+0 records out
    209715200 bytes (210 MB) copied, 0.661708 s, 317 MB/s

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

(1)
eleveneleven
上一篇 2017-08-12 16:05
下一篇 2017-08-12 16:42

相关推荐

  • 文件处理工具系列(二):行编辑器sed

    1、sed介绍     sed(Stream EDitor),是一种行编辑工具,它一次处理一行内容。处理时,把当前匹配到的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令对这些数据做出相应的增删改查操作,处理完成后,默认输出至屏幕,而未被匹配到的行也将默认输出至屏幕。而原来的文件内容并没有发生改变,除…

    Linux干货 2016-08-11
  • N22 网络班第五周课程作业

    1、显示当前系统上root、fedora或user1用户的默认shell; grep -E "^(root|fedora|user1)\>" /etc/passwd | ll grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f 1,7…

    Linux干货 2016-09-19
  • 使用sudo对用户进行权限管理

    使用sudo对用户进行权限管理 因为root用户权限太大,一般在实际应用的时候 ,为了避免造成错误泛滥和找不到责任人都需要对使用服务器人员进行权限分配,除了系统管理员外,其他人禁止使用root,但可以通过sudo命令,给自己提权。同时通过日志审计进行监控操作,操作如下: 1.禁止普通用户使用su命令到root # usermod -g wheel user0…

    Linux干货 2017-03-26
  • linux常用基础命令简介

    linux常用基础命令简介 linux入门 基础 笔记 linux新手入门常用命令语法参数简介 linux常用基础命令简介 cd 语法 选项 ls 语法 选项 echo 语法 选项 history 语法 选项 man 语法 选项 cd cd命令用来切换工作目录至指定目录。 其中指定目录表示法可为绝对路径或相对路径。若目录名称省略,则变换至…

    Linux干货 2017-03-26
  • 马哥教育网络班21期+第一周课程练习

    一、计算机的组成及其功能 自上个世纪40年代开始截止到目前,我们所有的计算机包括手持的智能终端设备,它们整个组织体系设备都是遵循冯诺依曼体系结构。 现代计算机设备的组成部分: 运算器、控制器、存储器、输入设备、输出设备 控制器:控制器是整个计算机的枢纽,一般是控制计算机整个部件之间协调的,比如运算器要想运算的话,首先得从存储器中取出数值。或者输入设备输入数。…

    Linux干货 2016-07-07
  • ansible-yaml初级语法(hosts、remote_user、tasks)

    环境准备:     1、主控节点IP:172.16.16.9     2、两个被控节点:1)172.16.16.48   2)172.16.16.50     3、hosts配置如下:       &…

    Linux干货 2016-11-28