SLURM交互式作业分配至计算节点却运行于登录节点排查咨询
以下是需要排查的SLURM配置文件关键项:
SlurmctldParameters中的enable_user_env
若该参数设为no,可能导致用户环境变量未正确传递,使得交互式会话无法切换到计算节点。需确认该参数是否配置为yes(默认通常为yes,但需核实)。PAMName配置
SLURM依赖PAM模块管理交互式会话的登录流程。检查PAMName指向的PAM配置是否正确,确保允许用户通过SLURM登录到计算节点。如果PAM配置存在权限或会话限制,会导致salloc仅分配资源但未实际跳转至计算节点。Ssh路径配置
确认Ssh项是否指向系统正确的SSH客户端路径(如/usr/bin/ssh)。同时要保证登录节点与计算节点之间的SSH免密登录已正确配置——SLURM交互式作业通过SSH连接计算节点,SSH不通的话会话会停留在登录节点。ProctrackType进程跟踪配置
检查该项是否配置为合适的进程跟踪类型(比如proctrack/cgroup)。如果进程跟踪失效,SLURM无法将交互式会话的进程绑定到计算节点的资源上,导致命令仍在登录节点执行。分区的
AllowGroups/AllowAccounts限制
虽然sbatch正常运行,但仍需确认当前用户是否在目标分区的允许用户组/账户列表中。若用户被分区限制,可能出现salloc显示分配成功但无法登录计算节点的情况。节点的
State状态细节
配置中node1、node2的State为UP,但可通过sinfo -N查看节点的子状态(如是否存在隐式的DRAIN状态)。不过sbatch能正常调度的话,这个问题概率较低,但可作为兜底排查项。
内容的提问来源于stack exchange,提问作者Emma Athan

