Slurm集群任务异常:无效作业凭证及节点故障排查求助
Slurm集群任务执行异常排查与解决方法
集群环境与异常现象
- 集群组成:1个控制节点(toto1)、1个计算节点(toto2)
- 异常1:
srun命令完全无法正常运行,报错信息:
#srun -N1 -l /bin/hostname run: error: Task launch for StepId=28.0 failed on node toto2: Invalid job credential srun: error: Application launch failed: Invalid job credential srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
- 异常2:
sbatch命令有时可用,但作业未立即启动时,计算节点可能无响应,即便能SSH连接也需手动恢复为空闲状态
已确认的配置信息
MUNGE密钥与跨节点验证正常
执行跨节点MUNGE编码解码测试,结果正常:
#munge -n | ssh slurm@toto2 unmunge STATUS: Success (0) ENCODE_HOST: toto2 (10.0.0.2) ENCODE_TIME: 2023-09-29 11:23:31 +0200 (1695979411) DECODE_TIME: 2023-09-29 11:23:31 +0200 (1695979411) TTL: 300 CIPHER: aes128 (4) MAC: sha256 (5) ZIP: none (0) UID: root (0) GID: root (0) LENGTH: 0
MUNGE服务配置
#cat /lib/systemd/system/munge.service [Unit] Description=MUNGE authentication service Documentation=man:munged(8) After=network.target After=time-sync.target [Service] Type=forking ExecStart=/usr/sbin/munged PIDFile=/var/run/munge/munged.pid User=munge Group=munge Restart=on-abort [Install] WantedBy=multi-user.target
用户启动情况
- 控制节点toto1:以
slurm用户启动slurmctld - 计算节点toto2:以
root用户启动slurmctld(注:计算节点应启动slurmd而非slurmctld) - 两节点
slurm和munge用户的UID/GID完全一致
排查与解决步骤
1. 修正计算节点的Slurm服务启动错误
计算节点禁止启动slurmctld,正确服务应为slurmd。当前错误启动会导致集群控制逻辑混乱,引发凭证验证失败和节点无响应问题:
- 在toto2上停止并禁用
slurmctld:systemctl stop slurmctld systemctl disable slurmctld - 启动并启用
slurmd服务:systemctl start slurmd systemctl enable slurmd
2. 统一Slurm服务运行用户
Slurm的slurmctld(控制节点)和slurmd(计算节点)都应使用slurm用户运行,避免root权限带来的权限不一致:
- 检查toto2上
slurmd的服务配置,确保/lib/systemd/system/slurmd.service中设置User=slurm
3. 验证Slurm配置文件一致性
确保控制节点和计算节点的slurm.conf完全一致,重点检查:
ClusterName:集群名称统一ControlMachine:指向控制节点toto1的主机名或IPNodeName:计算节点toto2的配置正确PartitionName:分区配置包含toto2节点
4. 确认节点时间同步
MUNGE依赖节点时间一致,需确保两节点时间误差不超过1分钟:
- 使用
timedatectl查看时间状态,确认NTP服务正常运行:timedatectl status
5. 清理残留状态文件
若节点曾异常运行,残留状态文件可能导致问题:
- 控制节点清理操作:
systemctl stop slurmctld rm -rf /var/lib/slurmctld/* systemctl start slurmctld - 计算节点清理操作:
systemctl stop slurmd rm -rf /var/lib/slurmd/* systemctl start slurmd
6. 重新验证MUNGE权限配置
确保MUNGE密钥文件权限正确:
- 检查密钥文件权限:
正确权限应为ls -l /etc/munge/munge.key-rw-------,属主属组为munge:munge - 重启MUNGE服务:
systemctl restart munge
内容的提问来源于stack exchange,提问作者ERIC ANENGYP
相关产品推荐
相关产品推荐

