为什么所有主机状态都是closed_lim?

今天突然大量用户反馈LSF集群不能使用了,提交的任务都跑不了。

感觉事态严重,立即上主管理节点上检查,所有base和batch命令都能正常运行,只是lsload和bhosts显示主机状态异常,所有计算节点的主机状态都是 closed_lim。看了一下LSF服务进程,都还在。

赶紧看主管理节点上的lim日志,在日志中发现了端倪,日志中有大量的记录:

这些记录表示计算节点和管理节点上的资源数量不一样。

看上去是LSF集群配置被修改了,但是并没有同步。

本着先解决问题的原则,通过pdsh在所有计算节点上重新启动了lim服务,然后稍等片刻后所有主机状态恢复正常。

有同事反馈在lsf.shared里增加了许可证资源,但是以前也在lsf.shared中增加过许可证资源没有遇到这样的问题啊?

后来同事反馈新增加的许可证资源没有出现在lshosts -s 和 bhosts -s 输出中,希望帮忙看一下。

心里感觉下午的问题和这个应该有关系,可能是哪一步操作忘记了。进入LSF配置文件,发现同事只是在lsf.shared中增加了许可证资源,但是并没有在lsf.cluster中定义资源的位置。

至此两个问题的原因都已明晰,在增加自定义资源时配置参数不完整。

下午问题的全貌也清楚了,对于自定义的资源LSF会默认这些资源分布在所有计算节点,由于计算节点上的lim服务没有重启,lim上报的只是LSF内置的资源数量,而master lim需要计算节点上报LSF内置的资源和新增的资源,资源数量不匹配,所以master lim拒绝了所有计算节点。

解决方法:在lsf.cluster文件中定义每个许可证资源的位置分布为 ([all])

你可能感兴趣的:(LSF使用技巧,EDA,LSF,EDA,HPC)