local-fs.target似乎只检查所有mount块何时准备就绪。
如果有许多磁盘在引导期间/之后没有挂载,那么如何确保所有磁盘都已就绪?
可以使用哪个目标来确认所有磁盘(挂载和未挂载)是否已准备好使用/挂载?
boot-complete.targetbasic.target发布于 2023-02-26 12:37:07
没有这样的目标,因为systemd无法知道它何时确实看到了“所有”磁盘。不同之处在于,当SATA、SAS和USB端口被枚举时,本地-fs.Target等待的所有挂载都显式地列在/etc/fstab或其他地方,而磁盘从任何地方到达;没有明确的列表。
但是,如果确切知道需要等待哪些磁盘,则可以创建自己的目标,这取决于表示这些磁盘的.device单元。默认情况下,基本/dev/sdX名称及其/dev/disk/ By -id下的各种符号链接都将有相应的.device单元,因此您可以在After=中列出它们以供自定义目标使用。
(或者更好的是,如果对每个磁盘分别执行一项任务,那么您可以创建一个模板化服务,为每个磁盘创建一个带有实例的模板服务,类似于对每个设备分别运行systemd@,而无需等待“所有这些磁盘”)。
https://unix.stackexchange.com/questions/736740
复制相似问题