mdadm 在启动过程中是如何执行的?

mdadm 在启动过程中是如何执行的?

我想我读完了文档/互联网,但我看不到任何信息,如何在系统启动期间调用 mdadm。我看不到任何东西/etc/rcX.d,我看不到任何 systemd 服务,但我的阵列在启动时组装。怎么做到的?此外,我想检查已执行的命令以了解发生了什么以及监控是否正在进行。

发行版是 fedora/ubuntu。

谢谢。

答案1

mdadm 安装了几组 udev 规则,这些规则在检测到设备时触发:

/usr/lib/udev/rules.d/01-md-raid-creating.rules
/usr/lib/udev/rules.d/63-md-raid-arrays.rules
/usr/lib/udev/rules.d/64-md-raid-assembly.rules
/usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules

这些规则以增量汇编模式运行 mdadm:

[64-md-raid-assembly.规则]
31:# 记住,你可以限制自动/增量组装的内容
32:# mdadm.conf(5) 的 'AUTO' 和使用 'ARRAY' 选择性地列入白名单
33:操作==“添加|更改”,导入程序=“/usr/bin/mdadm--incremental--export$devnode--offroot$env{DEVLINKS}”

它们还启动 mdmonitor.service (mdadm --monitor) 来监测健康事件:

[63-md-raid 阵列.规则]
35:ENV {MD_LEVEL} ==“raid[1-9]*”,ENV {SYSTEMD_WANTS} +=“mdmonitor.service”

相关内容