如何设置 systemd 启动作业“dev-md125.device”的超时 (mdadm)

如何设置 systemd 启动作业“dev-md125.device”的超时 (mdadm)

我在 CentOS 7 上使用 mdadm 设置了 RAID1 设备。当插入两个磁盘时系统可以正常启动,但当只有一个磁盘时系统会挂起。

启动时发生错误,并显示来自 systemd 的以下消息:

dev-md125.device 的启动作业正在运行(54 秒/无限制)

这里的问题是“无限制”部分。如何添加限制以便允许系统启动?

我在 mdadm.conf 中看不到任何内容:

$cat /etc/mdadm.conf
MAILADDR root
AUTO +imsm +1.x -all
ARRAY /dev/md/archive:boot level=raid1 num-devices=2 UUID=1104ad14:c378ffcd:5d2c92be:ffaace05
ARRAY /dev/md/archive:root level=raid1 num-devices=2 UUID=f30b5fcf:d194f469:404a464f:c1b0ba0a
ARRAY /dev/md/archive:swap level=raid1 num-devices=2 UUID=d6490a08:3c6a7311:cb7ddd3f:9eac77ff

我尝试向 fstab 添加超时:

$cat /etc/fstab
UUID=309bc32c-d75b-4ddb-9141-f234be9b72ca /        xfs     defaults,x-systemd.device-timeout=5  1 1
UUID=b336e2bb-f5d2-4065-9aed-9de77c02c0e2 /boot    xfs     defaults,x-systemd.device-timeout=5  1 2
UUID=93434118-d16e-4cc7-8ff0-c0891bcbcb72 swap     swap    defaults,x-systemd.device-timeout=5  0 0

我认为这/etc/systemd/system/sysinit.target.wants/dmraid-activation.service可能是负责任的,但添加超时并没有改变行为(仍然没有限制):

$cat /etc/systemd/system/sysinit.target.wants/dmraid-activation.service
[Unit]
Description=Activation of DM RAID sets
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-udev-settle.service
Before=lvm2-activation-early.service cryptsetup.target local-fs.target shutdown.target
Wants=systemd-udev-settle.service

[Service]
ExecStart=/lib/systemd/rhel-dmraid-activation
Type=oneshot
TimeoutSec=5

[Install]
WantedBy=sysinit.target

答案1

我自己没有尝试过,但根据 RedHat 官方网站,您需要按以下步骤操作:

假设您想为 httpd.service 指定超时。

  1. 复制文件:

    cp /usr/lib/systemd/system/httpd.service /etc/systemd/system/httpd.service

  2. 打开文件并将TimeoutStartSec=10参数放在该[service]部分下。
  3. 重新加载配置。

    systemctl daemon-reload

请参阅这里了解更多信息。

相关内容