LSF需要在管理节点和计算节点上运行相关的服务进程,比如lim, res, sbatchd, mbatchd, mbsched。新的版本提供了服务程序来统一管理这些服务进程。
启动LSF服务进程
# systemctl start lsfd
查看服务状态
# systemctl status lsfd
在计算节点上会显示如下信息
在管理节点上还会显示管理进程和调度进程信息。
停止服务
# systemctl stop lsfd
通常LSF安装在共享存储上,大多数还会配置autofs自动挂载,这种方案存在以下问题:
共享存储通过autofs服务挂载,主机重启后,LSF服务可能不会启动,因为共享存储需要进入目录才能生效。而LSF服务脚本只检查LSF相关目录是否存在,而不会进入目录。
解决方法
修改LSF生成的lsfd.service文件,在启动服务之前进入服务程序所在目录,触发目录的自动挂载。
修改后的lsfd.service文件如下所示。(请根据LSF实际安装位置修改对应路径)
[Unit]
Description=IBM Spectrum LSF
After=remote-fs.target network.target nfs.service autofs.service gpfs.service nscd.service
[Service]
Type=forking
ExecStartPre=/bin/bash -c '(timer=12; while (( $timer )); do `cd /lsf/10.1/linux3.10-glibc2.17-x86_64/etc`; if [ $? -ne 0 ]; then sleep 5; else exit 0; fi; timer=$[$timer-1]; done; echo "/lsf/10.1/linux3.10-glibc2.17-x86_64/etc not found." 1>&2; exit 1;)'
ExecStart=/lsf/10.1/linux3.10-glibc2.17-x86_64/etc/lsf_daemons start
ExecStop=/lsf/10.1/linux3.10-glibc2.17-x86_64/etc/lsf_daemons stop
KillMode=none
LimitMEMLOCK=infinity
Delegate=yes
[Install]
WantedBy=multi-user.target
将修改后的lsfd.service拷贝到LSF所有节点,并重启服务。
# systemctl daemon-reload
# systemctl restart lsfd