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@ezdcc ~]# mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sdemdadm: layout defaults to n2mdadm: layout defaults to n2mdadm: chunk size defaults to 512Kmdadm: size set to 20954112Kmdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md0 started.
查看指定RAID磁盘阵列组设备的简要信息:
[root@ezdcc ~]# mdadm -Q /dev/md0/dev/md0: 39.97GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.
查看指定RAID磁盘整列组设备的详细信息:
[root@ezdcc ~]# 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 : 512KConsistency 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@ezdcc ~]# mdadm /dev/md0 -f /dev/sdbmdadm: set /dev/sdb faulty in /dev/md0[root@ezdcc ~]# mdadm /dev/md0 -r /dev/sdbmdadm: hot removed /dev/sdb from /dev/md0
将指定的硬盘添加至RAID磁盘阵列组中:
[root@ezdcc ~]# mdadm /dev/md0 -a /dev/sdbmdadm: added /dev/sdb
彻底停用一个RAID磁盘阵列组:
[root@ezdcc ~]# mdadm --stop /dev/md0mdadm: stopped /dev/md0