服务不会在启动时自动启动

服务不会在启动时自动启动

所以我一直在尝试自动启动一项服务,但一无所获。我已经尝试在 Mint 19.3 和 20 以及 Ubuntu 18.04 上自动启动该服务lizardfs-chunkserver.service,但自动启动该服务不起作用。

我自动启动服务的方式是使用以下命令:

systemctl enable lizardfs-chunkserver.service

最初我认为这是操作系统问题,但是当我尝试自动启动不同的服务时,

systemctl enable lizardfs-master.service

服务lizardfs-master自动启动良好。

这让我相信我无法自动启动,lizardfs-chunkserver因为与服务本身有关。

以下是我发现的一些内容,但我无法进一步了解。作为旁注,我可以手动lizardfs-chunkserver开始systemctl start lizardfs-chunkserver

  1. systemctl status lizardfs-chunkserver.service我看到的错误:
● lizardfs-chunkserver.service - LizardFS chunkserver daemon
     Loaded: loaded (/lib/systemd/system/lizardfs-chunkserver.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2020-10-16 22:34:39 PDT; 11h ago
       Docs: man:mfschunkserver
    Process: 856 ExecStart=/usr/sbin/mfschunkserver start (code=exited, status=2)

Oct 16 22:34:39 13in-dell systemd[1]: lizardfs-chunkserver.service: Control process exited, code=exited, status=2/INVALIDARGUMENT
Oct 16 22:34:39 13in-dell mfschunkserver[863]: hdd space manager: folder /mnt/hd1/ will be scanned
Oct 16 22:34:39 13in-dell systemd[1]: lizardfs-chunkserver.service: Failed with result 'exit-code'.
Oct 16 22:34:39 13in-dell mfschunkserver[863]: hdd space manager: path to scan: /mnt/hd1/
Oct 16 22:34:39 13in-dell systemd[1]: Failed to start LizardFS chunkserver daemon.
Oct 16 22:34:39 13in-dell mfschunkserver[863]: hdd space manager: start background hdd scanning (searching for available chunks)
Oct 16 22:34:39 13in-dell mfschunkserver[863]: main server module: listen on *:9422
Oct 16 22:34:39 13in-dell mfschunkserver[863]: master connection module: connect failed: Network is unreachable
Oct 16 22:34:39 13in-dell mfschunkserver[863]: init: master connection module failed
Oct 16 22:34:39 13in-dell mfschunkserver[863]: closing *:9422
  1. journalctl -xe | grep lizard我得到的错误:
Oct 16 22:34:39 13in-dell systemd[1]: lizardfs-chunkserver.service: Control process exited, code=exited, status=2/INVALIDARGUMENT
-- An ExecStart= process belonging to unit lizardfs-chunkserver.service has exited.
Oct 16 22:34:39 13in-dell systemd[1]: lizardfs-chunkserver.service: Failed with result 'exit-code'.
-- The unit lizardfs-chunkserver.service has entered the 'failed' state with result 'exit-code'.

  1. 我注意到必须lizardfs-master运行才能lizardfs-chunkserver启动,因此一直以来我都确保它master已启动并运行。我什至尝试修改该lizardfs-chunkserver.service文件以延迟服务启动 10 秒,以防万一它与重新启动时无法看到网络有关。我已包含/lib/systemd/system/lizardfs-chunkserver.service以下内容:
[Unit]
Description=LizardFS chunkserver daemon
Documentation=man:mfschunkserver
After=network.target

[Service]
Type=forking
TimeoutSec=10
ExecStart=/usr/sbin/mfschunkserver start
ExecStop=/usr/sbin/mfschunkserver stop
ExecReload=/usr/sbin/mfschunkserver reload
Restart=no

[Install]
WantedBy=multi-user.target

答案1

我有类似的问题。我通过将其放入 chunkserver systemd 配置的 [Service] 部分来解决这个问题:

ExecStartPre=/bin/sleep 5

这使得它在启动前等待 5 秒。

相关内容