• 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

  • 相关阅读:
    struts2实现文件上传和下载
    Struts2中Action之ResultType
    初识Struts2
    Hibernate中get()和load()方法区别
    初识Hibernate框架,进行简单的增删改查操作
    memge和saveOrUpdate的区别
    apt-get install 出现could not open lock file /var/lib/dpkg/lock错误问题
    vscode工程目录文件及文件夹摘选
    C++引用
    内存分配区基本模型
  • 原文地址:https://www.cnblogs.com/oskb/p/3848633.html
Copyright © 2020-2023  润新知