Centos slurm systemd wait nfs mount all文件夹

Centos slurm systemd wait nfs mount all文件夹,centos,systemd,nfs,slurm,Centos,Systemd,Nfs,Slurm,我使用slurm,我希望我的deamon slurmd在systemd中等待我的nfs挂载 这是我的slurmd服务: [Unit] Description=Slurm node daemon After=network.target nfs-client.target nfs-client.service ConditionPathExists=/etc/slurm/slurm.conf [Service] Type=forking EnvironmentFile=-/etc/sysconf

我使用slurm,我希望我的deamon slurmd在systemd中等待我的nfs挂载

这是我的slurmd服务:

[Unit]
Description=Slurm node daemon
After=network.target nfs-client.target nfs-client.service
ConditionPathExists=/etc/slurm/slurm.conf

[Service]
Type=forking
EnvironmentFile=-/etc/sysconfig/slurmd
ExecStart=/usr/sbin/slurmd $SLURMD_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
PIDFile=/var/run/slurmd.pid
KillMode=process
LimitNOFILE=51200
LimitMEMLOCK=infinity
LimitSTACK=infinity

[Install]
WantedBy=multi-user.target
我希望在完全组装nfs时运行服务。我的nfs位于/nfs中 因为我的网络很慢,而且我有很大的nfs,所以我需要等待1分钟才能完全组装nfs

因为我需要那个slurm在/nfs/slurm文件夹中写入文件 实际上,当centos启动和slurmd deamon启动时,我有一个错误“/nfs/slurm没有这样的文件或文件夹”

我尝试使用PathExist参数但不工作,TimeOutPartSec但不工作,我的deamon运行时出现此错误


提前感谢您的帮助。

编写一个脚本,该脚本将检查
nfs
装载是否可用,否则
sleep
等待
X
秒。然后在
systemd
服务文件的
ExecStartPre=
中使用此脚本

$ cat /usr/local/bin/checkNFSMount
#!/bin/bash

if [ -d /nfs/slurm ]; then
   exit 0;
else
   sleep 20;
   exit 0;
fi
systemd
服务文件中:

ExecStartPre=/usr/local/bin/checkNFSMount
ExecStart=/usr/sbin/slurmd $SLURMD_OPTIONS 
阅读有关执行启动程序的信息。

Systemd已经

您可以将以下行添加到slurmd.service的[Unit]部分

RequiresMountsFor=/nfs
请记住,如果使用恢复和挂起功能,则恢复超时必须大于恢复时间+nfs装载时间