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
