SLURM主节点状态显示矛盾及命令执行报错求助
SLURM集群主机解析问题修复方案
核心问题定位
当前问题本质是主节点与计算节点的主机名双向解析不一致,主节点无法正确解析自身主机名,导致SLURM的认证和通信模块报错。
分步修复操作
检查并修正主节点/etc/hosts配置
确保主节点的/etc/hosts文件同时包含自身(grid)和comp01的正确解析条目,格式如下(替换为实际IP):192.168.xxx.xxx grid grid.localdomain # 主节点IP、短名、FQDN 192.168.xxx.yyy comp01 comp01.localdomain # comp01节点IP、短名、FQDN同时确认comp01的/etc/hosts里有完全一致的主节点条目,避免解析偏差。
验证主节点自身解析能力
在主节点执行以下命令,确认能正常解析自身主机名:ping grid -c 3 ping $(hostname -f) -c 3如果ping失败,说明主机名设置与hosts配置不匹配,执行
hostnamectl set-hostname grid(或对应FQDN)统一主机名。校准SLURM配置文件
打开主节点的/etc/slurm/slurm.conf,确保ControlMachine、NodeName等参数使用统一的主机名格式(全短名或全FQDN,不要混合):ControlMachine=grid NodeName=grid CPUs=8 State=UNKNOWN NodeName=comp01 CPUs=16 State=UNKNOWN PartitionName=main Nodes=grid,comp01 Default=YES MaxTime=INFINITE State=UP重启SLURM服务
主节点重启控制服务:systemctl restart slurmctldcomp01节点重启计算服务:
systemctl restart slurmd重启后执行
sinfo和scontrol ping验证状态。排查解析优先级
检查主节点/etc/nsswitch.conf,确保hosts解析优先读取本地文件:hosts: files dns
验证测试
在主节点执行srun hostname,如果返回comp01的主机名,说明问题解决;若仍报错,查看/var/log/slurm/slurmctld.log,确认是否有新的解析或认证错误。
内容的提问来源于stack exchange,提问作者paul runner
相关产品推荐
相关产品推荐

