331 字
2 分钟
slurm 单机部署
环境配置
munge
sudo apt update && sudo apt upgrade -ysudo apt install -y wget build-essential libssl-dev libmunge-dev munge安装 slurm 核心组件
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_clusterSlurmctldHost=localhostSlurmdUser=rootSlurmctldLogFile=/var/log/slurmctld.logSlurmdLogFile=/var/log/slurmd.log# COMPUTE NODESNodeName=Legion CPUs=1 State=UNKNOWNPartitionName=debug Nodes=ALL Default=YES MaxTime=INFINITE State=UP# 1. 创建 slurmctld 和 slurmd 的工作目录sudo mkdir -p /var/spool/slurmctldsudo mkdir -p /var/spool/slurmd# 2. 将这两个目录的所有权交给 slurm 用户sudo chown slurm:slurm /var/spool/slurmctldsudo chown slurm:slurm /var/spool/slurmd# 3. 启动并启用 slurmctld (控制服务) 和 slurmd (计算服务)sudo systemctl enable --now slurmctldsudo systemctl enable --now slurmd# 4. 检查两个服务的状态(应显示为 active (running))sudo systemctl status slurmctldsudo systemctl status slurmd# 查看集群分区状态,应该能看到你的节点状态为 idle(base) asuwe@Legion:~$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTdebug* up infinite 1 idle Legion# 查看节点的详细信息(base) asuwe@Legion:~$ scontrol show nodeNodeName=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# 提交一个简单的测试任务# 这个命令会在节点上执行 `hostname` 命令,如果你的配置都正确,它会成功运行并输出你的主机名(base) asuwe@Legion:~$ srun -N1 hostnameLegion