啟動時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:ACTION==“新增|更改”,IMPORT {program} =“/ usr / bin / mdadm --incremental --export $ devnode --offroot $ env {DEVLINKS}”

他們也為執行狀況事件啟動 mdmonitor.service (mdadm --monitor):

[63-md-raid-arrays.規則]
35: ENV{MD_LEVEL}=="raid[1-9]*", ENV{SYSTEMD_WANTS}+="mdmonitor.service"

相關內容