mdadm --scan 仅扫描输出阵列信息,不自动生成配置文件;需将 mdadm --detail --scan 输出追加至 /etc/mdadm.conf(RHEL系)或 /etc/mdadm/mdadm.conf(Debian系),并执行 update-initramfs -u 或 dracut -f 更新初始内存盘以实现开机自动组装。

直接用 mdadm --scan 本身不会生成配置文件,它只是扫描并输出当前已识别的 RAID 阵列信息(比如从 /proc/mdstat 或已有设备的超级块中读取)。要生成可持久化的配置文件,需配合重定向或管道操作写入 /etc/mdadm/mdadm.conf(Debian/Ubuntu)或 /etc/mdadm.conf(RHEL/CentOS)。
确认当前阵列是否已激活
运行以下命令检查系统是否已识别并组装了 RAID 设备:
-
cat /proc/mdstat—— 查看活动阵列状态(如md0 : active raid1 sdb[0] sdc[1]) -
sudo mdadm --detail --scan—— 输出每组阵列的完整声明行,例如:ARRAY /dev/md0 level=raid1 num-devices=2 UUID=xxxxxx
生成标准配置文件
根据发行版选择对应命令,确保输出内容追加到配置文件中:
-
Debian / Ubuntu 系统:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf -
RHEL / CentOS / Rocky 系统:
sudo mdadm --detail --scan >> /etc/mdadm.conf
注意:若配置文件不存在,先创建空文件(sudo touch /etc/mdadm.conf),再执行写入;若已有内容,建议先备份原文件。
验证配置是否生效
写入后可手动测试组装是否能被正确识别:
- 停止当前阵列(如
sudo mdadm --stop /dev/md0) - 尝试自动组装:
sudo mdadm --assemble --scan - 检查是否成功:
cat /proc/mdstat或sudo mdadm --detail /dev/md0
若能正常识别并启动,说明配置已生效。后续系统重启时,initramfs 会依据该配置自动组装阵列(前提是已更新 initramfs/dracut)。
补充:确保开机自动加载的关键步骤
仅写入配置文件还不够,还需让系统启动早期环境知晓 RAID 模块:
-
Debian/Ubuntu:
sudo update-initramfs -u -
RHEL/CentOS/Rocky:
sudo dracut -f
这一步把 RAID 设备信息和驱动嵌入初始内存盘,否则可能因设备未就绪导致启动卡住或降级为只读根文件系统。











