You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Slurm执行srun -n 2命令报Socket超时错误如何排查解决

问题现象
  • 单进程srun任务可正常执行,执行命令:
srun -n 1  /home/user/share/test/hello.o

正常返回:rpi40000: 0 of 1

  • 双进程跨节点并行任务执行失败,执行命令:
srun -n 2  /home/user/share/test/hello.o

报错信息如下:

srun: error: slurm_receive_msgs: Socket timed out on send/recv operation
srun: error: Task launch for StepId=53.0 failed on node rpi40001: Socket timed out on send/recv operation
srun: error: Application launch failed: Socket timed out on send/recv operation
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
slurmstepd-rpi40000: error: *** STEP 53.0 ON rpi40000 CANCELLED AT 2022-06-27T01:33:37 ***
srun: error: rpi40000: task 0: Killed
故障原因

单进程任务仅调度到本地节点rpi40000运行,不需要跨节点通信所以正常;双进程任务需要分配rpi40000、rpi40001两个节点的资源,控制进程和rpi40001上的任务进程通信超时就会触发该报错,常见触发原因有5类:

  • 节点间网络不通:rpi40000和rpi40001之间的Slurm通信端口被防火墙拦截,或三层路由不通
  • 异常节点服务异常:rpi40001上的slurmd服务未启动、版本和控制节点不匹配、进程僵死
  • 认证不匹配:两个节点的Munge认证密钥不一致,跨节点通信鉴权被拒绝无响应
  • 存储挂载异常:/home路径的共享存储未在rpi40001上正常挂载,节点找不到可执行文件导致任务进程无法启动
  • 配置不一致:集群内各节点slurm.conf配置不统一,节点地址、端口、集群名配置存在错误
排查与解决步骤

按从易到难顺序排查即可:

  1. 验证基础网络连通
    在rpi40000节点执行ping rpi40001确认IP连通,再执行nc -zv rpi40001 6818验证Slurm默认slurmd服务端口可访问,若端口不通检查两个节点的iptables/firewalld规则,放通6817-6819的Slurm通信端口段。
  2. 检查异常节点Slurm服务状态
    登录rpi40001执行systemctl status slurmd确认服务处于运行状态,查看/var/log/slurm/slurmd.log的最新日志定位启动报错,执行sinfo确认rpi40001节点状态为idle,若处于down/drain状态先根据日志修复服务问题。同时确认两个节点安装的Slurm版本完全一致,版本不兼容会直接导致通信失败。
  3. 校验Munge认证有效性
    先在两个节点分别执行munge -n | unmunge确认本地Munge服务运行正常,再在rpi40000执行munge -n | ssh rpi40001 unmunge,若返回鉴权错误,将控制节点上的/etc/munge/munge.key文件同步到所有计算节点,权限设为0400、属主为munge用户,重启所有节点的munge服务即可。
  4. 检查共享存储挂载
    登录rpi40001执行ls /home/user/share/test/hello.o确认可执行文件存在,若提示文件不存在,检查NFS/其他并行存储的挂载配置,重新挂载存储保证所有计算节点都能通过相同路径访问到作业文件。
  5. 校验Slurm配置一致性
    逐行对比所有节点的/etc/slurm/slurm.conf文件,确认ClusterName、SlurmctldHost地址、节点IP定义、通信端口配置完全一致,配置修改后同步到所有节点,依次重启slurmctld、各节点slurmd服务生效。
修复验证

所有问题修复完成后,先执行srun -N2 -n2 hostname做基础测试,命令正常返回两个节点的主机名即代表跨节点调度通信恢复正常,再执行原hello.o并行任务即可正常运行。

内容的提问来源于stack exchange,提问作者池田直哉

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 08:36:28