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

CentOS7集群Slurm调度器主节点无法识别其他节点故障求助

CentOS7集群Slurm调度器主节点无法识别其他节点故障求助

看起来断电导致Slurm集群的节点状态异常了,我来给你一步步排查和解决的思路:

一、先确认节点的Slurm服务状态

  • 首先在主节点执行sinfo命令,查看所有计算节点的当前状态,你会明确看到哪些节点被标记为DOWN或者DRAINED。
  • 登录到每个状态异常的计算节点,检查Slurm节点服务slurmd的运行状态:
    systemctl status slurmd
    
  • 如果服务未启动,尝试手动启动:
    systemctl start slurmd
    
  • 若启动失败,直接查看Slurm节点日志(通常路径为/var/log/slurm/slurmd.log)或者系统日志/var/log/messages,里面会有启动失败的具体原因。

二、检查Slurm配置文件一致性

断电可能意外导致主节点与计算节点的配置文件同步出现问题,务必确认主节点(slurmctld所在节点)和所有计算节点的/etc/slurm/slurm.conf内容完全一致,重点核对节点名称、集群名称、通信端口这些核心配置项。

三、手动重置异常节点状态

如果计算节点的slurmd服务已经正常运行,但主节点仍显示节点为DOWN或DRAINED:

  1. 先在主节点清理可能残留的异常任务:
    scancel -u <你的用户名>  # 或者直接清理所有残留任务 scancel -a
    
  2. 查看节点被标记异常的原因:
    scontrol show node <异常节点名称>
    
    找到输出里的Reason字段,根据提示排除问题后,重置节点状态:
    # 重置DOWN状态的节点
    scontrol update nodename=<异常节点名称> state=RESUME
    # 重置DRAINED状态的节点,可附带恢复原因
    scontrol update nodename=<异常节点名称> state=RESUME reason="Power outage recovery"
    

四、检查主节点Slurm控制服务状态

主节点的slurmctld服务也可能因断电出现异常:

  • 检查服务状态:
    systemctl status slurmctld
    
  • 若服务运行异常,尝试重启:
    systemctl restart slurmctld
    
  • 同时查看主节点的Slurm控制日志/var/log/slurm/slurmctld.log,日志里会记录主节点与计算节点连接失败的具体细节,比如认证失败、网络不通等。

五、验证节点间网络通信

断电可能导致网络组件重启后出现通信问题:

  • 确认主节点与计算节点之间的Slurm默认通信端口(通常是6817、6818)能正常连通,用nc命令测试:
    nc -zv <计算节点IP> 6817
    
  • 另外,检查节点间的主机名解析是否正常,确保/etc/hosts文件或DNS服务能正确解析所有节点的主机名,避免因解析失败导致主节点无法识别计算节点。

按照以上步骤排查,大部分断电引发的Slurm节点状态异常都能解决。如果问题仍存在,建议将sinfo的完整输出和日志中的关键错误信息补充出来,方便进一步定位问题。

备注:内容来源于stack exchange,提问作者Martin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 13:48:06