在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

相关推荐

  • 私人定制-linux系统和grub启动流程中问题及解决方案

    系统的启动流程;     POST加电自检–>Boot Sequence(BIOS)–>Boot Loader(MBR)–>kernel(Ramdisk)–>rootfs–>switchroot–>/sbin/i…

    Linux干货 2016-09-13
  • ngx_http_proxy_module

    ngx_http_proxy_module 1.proxy_pass Syntax: proxy_pass URL; Context: location, if in location, limit_except 这条指令将来是用的相当多的指令。 v  附加1:proxy_pass后面的路径不带uri时,其会将loca…

    2016-10-30
  • shell脚本编写-3

    1、for循环 for 变量名 in  列表;do 循环体 done 执行机制:依次将列表中元素赋值给“变量名”;每次赋值后即执一次循环体;直到列表中元素耗尽循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a){start..end} (b) $(seq [start [step]] end)  (3) 返回列表的命…

    Linux干货 2016-08-18
  • 第七周博客作业

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@localhost tmp]# cat /proc/partitions major minor #blocks name 8 16 52428800 sdb 8 17 1049041…

    Linux干货 2017-03-06
  • N22-love cat 17周博客作业第2部分-构建一个LVS-DR模型的高性能集群

    题目: 搭建一个LVS-DR模型的高性能集群,并实现以下功能:       (1)、wordpress程序通过nfs共享给个个realserver;       (2)、后端realserver中的nginx和php分离; 第17周   第2部分 网…

    Linux干货 2016-08-15
  • N25第八周学习总结_sed命令详解

    sed使用详解 大纲: 1、    sed是什么 2、    为什么要使用sed 3、    sed使用方法 4、    sed详解   正题: 1、    sed是什么 sed全名Stream Ed…

    2017-02-26