zoukankan      html  css  js  c++  java
  • mdadm使用详解

    ★mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具,作者是Neil Brown

    我们知道raidtools是Linux下一款经典的用于管理软件 RAID 的工具,但是因为配置/etc/raidtab比较繁琐,而且其功能有限,所以现在越来越多的人选择mdadm。

    ★mdadm 和 raidtools 主要有以下几点不同:

    mdadm能够诊断、监控和收集详细的阵列信息
    mdadm是一个单独集成化的程序而不是一些分散程序的集合,因此对不同RAID管理命令有共通的语法
    mdadm能够执行几乎所有的功能而不需要配置文件(也没有默认的配置文件)
    当然,如果需要一个配置文件,mdadm将帮助管理它的内容

    ★基本语法:

    mdadm [mode] <raid-device> [options] <component-devices>

    ★目前支持:

    LINEAR, RAID0(striping), RAID1(mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH和FAULTY

    ★模式(7种):
    Assemble:加入一个以前定义的阵列
    Build:创建一个没有超级块的阵列
    Create:创建一个新的阵列,每个设备具有超级块
    Manage: 管理阵列(如添加和删除)
    Misc:允许单独对阵列中的某个设备进行操作(如停止阵列)
    Follow or Monitor:监控RAID的状态
    Grow:改变RAID的容量或阵列中的设备数目

    ★接下来我们使用mdadm创建在/dev/md0上创建一个由sdb、sdc、sdd3块盘组成(另外1块盘sde为热备)的RAID5:

    # mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=1 /dev/sde
    mdadm: layout defaults to left-symmetric
    mdadm: chunk size defaults to 64K
    mdadm: size set to 8388544K
    mdadm: array /dev/md0 started.

    ★每个mdadm的选项都有一个缩写的形式,例如,上面我们创建RAID 5的命令可以使用下列的缩写形式:

    # mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb /dev/sdc /dev/sdd -x1 /dev/sde

    ★查看RAID状态

    接下来我们使用cat /proc/mdstat命令来查看一下RAID的状态,我们也可以利用watch命令来每隔一段时间刷新/proc/mdstat的输出。使用CTRL+C可以取消。
    # cat /proc/mdstats
    # mdadm --detail /dev/md0
    # mdadm -D /dev/md0
    # watch -n 10 'cat /proc/mdstat'

    ★接下来我们为阵列创建文件系统:

    # mkfs.ext3 /dev/md0

    ★一般来说,一个新阵列被创建后我们最好创建一个/etc/mdadm.conf文件。没有该文件在激活阵列时我们就得指定更详细的信息,为方便,我们使用下列命令:

    # mdadm --detail --scan >> /etc/mdadm.conf
    [root@localhost eric4ever]# cat /etc/mdadm.conf
    ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 UUID=4b15050e:7d0c477d:98ed7d00:0f3c29e4

    ★启动停止RAID

    使用--stop或-S命令选项可以停止运行的阵列(注意: 停止前必须先umount):
    # umount /mnt/md0
    # mdadm -S /dev/md0 (或mdadm --stop /dev/md0)
    mdadm: stopped /dev/md0

    ★重新启动可以使用:

    # mdadm -As /dev/md0
    mdadm: /dev/md0 has been started with 3 drives and 1 spare.

    ★接下来我们模拟/dev/sdb故障:

    # mdadm --manage --set-faulty /dev/md0 /dev/sdb
    mdadm: set /dev/sdb faulty in /dev/md0
    # mdadm --detail /dev/md0
    /dev/md0:
    Rebuild Status : 3% complete
    Number Major Minor RaidDevice State
    0 8 16 0 faulty spare /dev/sdb
    1 8 32 1 active sync /dev/sdc
    2 8 48 2 active sync /dev/sdd
    3 8 64 3 spare rebuilding /dev/sde
    ★这时我们可以从/dev/md0中移除/dev/sdb设备:

    # mdadm /dev/md0 -r /dev/sdb
    mdadm: hot removed /dev/sdb


    ★类似地,我们可以使用下列命令向/dev/md0中添加一个设备:

    # mdadm /dev/md0 --add /dev/sdf

    ★监控RAID

    mdadm的监控模式提供一些实用的功能,你可以使用下列命令来监控/dev/md0,delay参数意味着检测的时间间隔,这样紧急事件和严重的错误会及时发送给系统管理员:

    # mdadm --monitor --mail=eric4ever@localhost --delay=300 /dev/md0

  • 相关阅读:
    10 个深恶痛绝的 Java 异常。。
    为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
    推荐一款代码神器,代码量至少省一半!
    Spring Cloud Greenwich 正式发布,Hystrix 即将寿终正寝。。
    hdu 3853 LOOPS(概率 dp 期望)
    hdu 5245 Joyful(期望的计算,好题)
    hdu 4336 Card Collector(期望 dp 状态压缩)
    hdu 4405 Aeroplane chess(概率+dp)
    hdu 5036 Explosion(概率期望+bitset)
    hdu 5033 Building (单调栈 或 暴力枚举 )
  • 原文地址:https://www.cnblogs.com/oskb/p/3848633.html
Copyright © 2011-2022 走看看