VirtualBox Ubuntu环境下Slurm作业排队无法运行问题排查求助
问题根因说明
该问题是Slurm配置错误导致,和VirtualBox硬件限制无关,4核CPU、单核心线程的配置完全可以正常运行Slurm单节点集群。物理机作业可正常运行是因为物理机的节点注册配置和硬件参数匹配,虚拟机直接复用物理机配置会出现参数不匹配的问题。
sinfo显示节点数为0的原因
Slurm的sinfo返回的节点列表完全读取自slurm.conf的配置项,返回0节点通常是以下几种情况:
slurm.conf中没有配置任何NodeName节点条目- 配置的节点属性(核心数、线程数、内存大小)和虚拟机实际硬件参数不匹配,
slurmctld控制服务无法识别到符合配置的节点 - 计算节点服务
slurmd未启动,节点没有向控制服务完成注册
问题修复步骤
- 首先修改
/etc/slurm/slurm.conf的节点配置,适配虚拟机参数,单节点部署的参考配置如下:
# 节点配置,参数要和虚拟机实际硬件一致 NodeName=localhost CPUs=4 ThreadsPerCore=1 RealMemory=虚拟机内存大小(单位MB) State=UNKNOWN # 分区配置,绑定上面的节点 PartitionName=debug Nodes=localhost Default=YES MaxTime=INFINITE State=UP
注意不要直接复制物理机的配置,物理机ThreadsPerCore为2,虚拟机需要修改为1,否则会出现属性不匹配的问题
- 检查核心服务状态,执行命令:
systemctl status slurmctld slurmd
如果服务未启动,执行systemctl start slurmctld slurmd启动,执行systemctl enable slurmctld slurmd设置开机自启 - 配置修改后需要重启服务生效:
systemctl restart slurmctld slurmd
无可用节点问题通用调试方法
- 查看
slurmctld控制服务日志,默认路径为/var/log/slurm/slurmctld.log,日志中会明确打印节点不匹配、注册失败的具体原因 - 执行
scontrol show nodes,可以查看节点的状态和异常报错信息 - 执行
scontrol show job <作业ID>,可以查看指定作业Pending的详细原因
内容的提问来源于stack exchange,提问作者Under4Mhz
相关产品推荐
相关产品推荐

