技术文章
用 OpenHPC 装 Slurm
管理节点装 slurm-server,计算节点装 slurm-client。slurm.conf 按本集群写,不要复制别人的主机名。
2026-08-28 · Slurm · HPC / 集群 · Linux / 服务器
适用于 Rocky / RHEL 9 一类、用 OpenHPC 仓库装 Slurm 的情况。EL8 用 OpenHPC 2 的 release 包。
1. 添加 OpenHPC 仓库
EL9(Rocky / RHEL 9.1 或更高):
sudo yum install https://repos.openhpc.community/OpenHPC/3/EL_9/x86_64/ohpc-release-3-1.el9.x86_64.rpm -y
CentOS 8 / 较低版本用 OpenHPC 2:
sudo yum install https://repos.openhpc.community/OpenHPC/2/CentOS_8/x86_64/ohpc-release-2-1.el8.x86_64.rpm -y
2. 主控节点装服务器组件
sudo yum install ohpc-slurm-server -y
3. 计算节点装客户端组件
sudo yum install ohpc-slurm-client -y
还需 Munge 等认证组件(OpenHPC 包一般会带依赖)。所有节点的 Munge key 必须一致,先在管理节点生成再同步,不要把 key 发到聊天或公开仓库。
slurm.conf
原文写到 cat > /etc/slurm/slurm.conf 后被截断,现场那份集群名没有完整贴出来。这一步还在:把配置写进 /etc/slurm/slurm.conf。下面是占位,必须改成自己的主机名和规模:
sudo tee /etc/slurm/slurm.conf >/dev/null <<'EOF'
ClusterName=mycluster
SlurmctldHost=head01
MpiDefault=none
ProctrackType=proctrack/cgroup
ReturnToService=1
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmdPidFile=/var/run/slurmd.pid
SlurmdSpoolDir=/var/spool/slurmd
SlurmUser=slurm
StateSaveLocation=/var/spool/slurmctld
NodeName=node[01-04] CPUs=64 RealMemory=250000 State=UNKNOWN
PartitionName=debug Nodes=node[01-04] Default=YES MaxTime=INFINITE State=UP
EOF
至少要改:
ClusterNameSlurmctldHost(管理节点主机名)NodeName/PartitionName- 每节点
CPUs、RealMemory与lscpu/free对齐
配完后在管理节点起 slurmctld,计算节点起 slurmd,用 sinfo / scontrol ping 看节点是否 idle。节点名必须能解析(/etc/hosts 或 DNS)。
时间同步、防火墙只放行 Slurm/Munge 需要的端口。具体端口以你安装的 Slurm 版本文档为准。