mdadm命令来自于英文词组“multiple devices admin”的缩写,其功能是用于管理RAID磁盘阵列组。作为Linux系统下软RAID设备的管理神器,mdadm命令可以进行创建、调整、监控、删除等全套管理操作。

语法格式:mdadm [参数] 设备名

常用参数:

-D显示RAID设备的详细信息
-A加入一个以前定义的RAID
-B创建一个没有超级块的RAID设备
-F选项监控模式
-G更改RAID设备的大小或形态
-I添加设备到RAID中,或从RAID中删除设备
-z组建RAID1、RAID4、RAID5、RAID6后从每个RAID成员获取的空间容量
-s扫描配置文件或/proc/mdstat以搜寻丢失的信息
-C把RAID信息写入每个成员超级块中
-v显示RAID创建过程中的详细信息
-B不把RAID信息写入每个成员的超级块中
-l指定RAID的级别
-n指定RAID中活动设备的数目
-f把RAID成员列为有问题,以便移除该成员
-r把RAID成员移出RAID设备
-a向RAID设备中添加一个成员
--re-add把最近移除的RAID成员重新添加到RAID设备中
-E查看RAID成员详细信息
-c创建一个RAID设备时默认为512kb
-R开始部分组装RAID
-S停用RAID设备,释放所有资源
-x指定初始RAID设备的备用成员的数量
--zero-superblock如果RAID设备包含一个有效的超级块,该块使用零覆盖

参考实例

使用四块硬盘设备创建一个指定名称的,级别为RAID10的磁盘阵列组:

[root@linuxcool ~]# mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

查看指定RAID磁盘阵列组设备的简要信息:

[root@linuxcool ~]# mdadm -Q /dev/md0
/dev/md0: 39.97GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.

查看指定RAID磁盘整列组设备的详细信息:

[root@linuxcool ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Wed Jan 13 08:24:58 2021
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Jan 14 04:49:57 2021
             State : clean 
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host linuxprobe.com)
              UUID : 289f501b:3f5f70f9:79189d77:f51ca11a
            Events : 17

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

将指定的硬盘从RAID磁盘阵列组中停止:

[root@linuxcool ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@linuxcool ~]# mdadm /dev/md0 -r /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0

将指定的硬盘添加至RAID磁盘阵列组中:

[root@linuxcool ~]# mdadm /dev/md0 -a /dev/sdb
mdadm: added /dev/sdb

彻底停用一个RAID磁盘阵列组:

[root@linuxcool ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。