331 字
2 分钟
slurm 单机部署
2026-05-06
无标签

环境配置#

munge#

Terminal window
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget build-essential libssl-dev libmunge-dev munge

安装 slurm 核心组件#

Terminal window
sudo apt install -y slurm-wlm slurm-wlm-doc
# 验证
slurmctld --version # 控制节点命令
slurmd --version # 计算节点命令

配置 slurm 核心文件#

https://slurm.schedmd.com/configurator.html

sudo vim /etc/slurm/slurm.conf

ClusterName=local_cluster
SlurmctldHost=localhost
SlurmdUser=root
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdLogFile=/var/log/slurmd.log
# COMPUTE NODES
NodeName=Legion CPUs=1 State=UNKNOWN
PartitionName=debug Nodes=ALL Default=YES MaxTime=INFINITE State=UP
Terminal window
# 1. 创建 slurmctld 和 slurmd 的工作目录
sudo mkdir -p /var/spool/slurmctld
sudo mkdir -p /var/spool/slurmd
# 2. 将这两个目录的所有权交给 slurm 用户
sudo chown slurm:slurm /var/spool/slurmctld
sudo chown slurm:slurm /var/spool/slurmd
# 3. 启动并启用 slurmctld (控制服务) 和 slurmd (计算服务)
sudo systemctl enable --now slurmctld
sudo systemctl enable --now slurmd
# 4. 检查两个服务的状态(应显示为 active (running))
sudo systemctl status slurmctld
sudo systemctl status slurmd
Terminal window
# 查看集群分区状态,应该能看到你的节点状态为 idle
(base) asuwe@Legion:~$ sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
debug* up infinite 1 idle Legion
Terminal window
# 查看节点的详细信息
(base) asuwe@Legion:~$ scontrol show node
NodeName=Legion Arch=x86_64 CoresPerSocket=1
CPUAlloc=0 CPUEfctv=1 CPUTot=1 CPULoad=0.02
AvailableFeatures=(null)
ActiveFeatures=(null)
Gres=(null)
NodeAddr=Legion NodeHostName=Legion Version=23.11.4
OS=Linux 6.6.114.1-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Mon Dec 1 20:46:23 UTC 2025
RealMemory=1 AllocMem=0 FreeMem=2639 Sockets=1 Boards=1
State=IDLE ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A
Partitions=debug
BootTime=2026-05-06T08:43:50 SlurmdStartTime=2026-05-06T16:22:58
LastBusyTime=2026-05-06T16:22:58 ResumeAfterTime=None
CfgTRES=cpu=1,mem=1M,billing=1
AllocTRES=
CapWatts=n/a
CurrentWatts=0 AveWatts=0
ExtSensorsJoules=n/a ExtSensorsWatts=0 ExtSensorsTemp=n/a
Terminal window
# 提交一个简单的测试任务
# 这个命令会在节点上执行 `hostname` 命令,如果你的配置都正确,它会成功运行并输出你的主机名
(base) asuwe@Legion:~$ srun -N1 hostname
Legion
slurm 单机部署
https://fuwari.vercel.app/posts/运维/slurm-单机部署/
作者
Asuwee
发布于
2026-05-06
许可协议
CC BY-NC-SA 4.0