重启后在计算上自动启动 `slurmd` 服务

Autostart `slurmd` service on computes after reboot

我正在调用 scontrol reboot <nodename> 以重启我的 SLURM 集群中的计算节点。

重启通常会超时(从 SLURM 可以看出)并且节点设置为状态 "DOWN"。 (RESUME_TIMEOUT 设置为 300)。

这大概是因为 slurmd 服务在启动后不会自动启动。
默认情况下,服务是 "disabled":

[root@c1 ~]# systemctl status slurmd
● slurmd.service - Slurm node daemon
   Loaded: loaded (/usr/lib/systemd/system/slurmd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

使用 systemctl enable slurmd 激活它不会在下次重启后持续,该服务将再次 "disabled" 然后。
我认为这是因为用于引导的映像中没有发生更改。

如何在计算机上启用 slurmd 服务,以便它在启动时启动并且 scontrol reboot 正常工作?

这可能不是推荐的方法,但我在工作中设置了一个迷你集群,我修复它的方法是使用 cronjob:

@reboot /usr/bin/scontrol update nodename=[put hostname here] state=resume

我通过 OpenHPC 邮件列表收到了 Antanas Budriūnas 的回复,解决了这个问题。

(execute on master node)
# chroot /<path>/<to>/<cnode>/<image>
# systemctl enable slurmd
# exit