SLURM: Difference between revisions

From CSCWiki
Jump to navigation Jump to search
Content deleted Content added
mNo edit summary
v1
Line 5: Line 5:
</syntaxhighlight>Then you need to verify that there are MUNGE keys, which there should already be but run the following to check<syntaxhighlight lang="bash">
</syntaxhighlight>Then you need to verify that there are MUNGE keys, which there should already be but run the following to check<syntaxhighlight lang="bash">
sudo test -f /etc/munge/munge.key && echo "Key exists" || echo "Key is missing"
sudo test -f /etc/munge/munge.key && echo "Key exists" || echo "Key is missing"
</syntaxhighlight>For this next part, you are going to need the systems hostname, CPU core count, and total RAM. Now create the file /etc/slurm/slurm.conf and write the following in it (replacing the temps with the mentioned data)<syntaxhighlight lang="bash" start="1" line="1">
</syntaxhighlight>For this next part, you are going to need the systems hostname, CPU core count, and total RAM. Now create the file /etc/slurm/slurm.conf and write the following in it (replacing the temps with the mentioned data)<syntaxhighlight lang="ini" start="1" line="1">ClusterName=localcluster
ClusterName=localcluster
SlurmctldHost=<your-hostname>
SlurmctldHost=<your-hostname>


Line 31: Line 30:


# Partition definition
# Partition definition
PartitionName=debug Nodes=<your-hostname> Default=YES MaxTime=INFINITE State=UP
PartitionName=debug Nodes=<your-hostname> Default=YES MaxTime=INFINITE State=UP</syntaxhighlight>Also create the file /etc/slurm/cgroup.conf and write<syntaxhighlight lang="ini" line="1" start="1">
</syntaxhighlight>Also create the file /etc/slurm/cgroup.conf and write<syntaxhighlight lang="bash" line="1" start="1">
CgroupAutomount=yes
CgroupAutomount=yes
ConstrainCores=yes
ConstrainCores=yes
Line 45: Line 43:


== Basic Testing ==
== Basic Testing ==
To check the install/to make sure it's running<syntaxhighlight lang="bash">
systemctl status slurmctld
systemctl status slurmd
sinfo
</syntaxhighlight>If sinfo shows the node as down or drain, you can set it to idle by<syntaxhighlight lang="bash">sudo scontrol update nodename=localhost state=idle</syntaxhighlight>

Revision as of 04:33, 23 October 2026

Installation/Config

First you need to install the "slurm" packages and dependencies so run

sudo apt update
sudo apt install slurm-wlm slurmd slurmctld munge -y

Then you need to verify that there are MUNGE keys, which there should already be but run the following to check

sudo test -f /etc/munge/munge.key && echo "Key exists" || echo "Key is missing"

For this next part, you are going to need the systems hostname, CPU core count, and total RAM. Now create the file /etc/slurm/slurm.conf and write the following in it (replacing the temps with the mentioned data)

ClusterName=localcluster
SlurmctldHost=<your-hostname>

# Authentication
AuthType=auth/munge
CredType=cred/munge

# Process tracking and resource limits
ProctrackType=proctrack/cgroup
TaskPlugin=task/cgroup,task/affinity
SelectTypeParameters=CR_Core_Memory

# Paths and logging
SlurmUser=slurm
StateSaveLocation=/var/lib/slurm/slurmctld
SlurmdSpoolDir=/var/lib/slurm/slurmd
SlurmctldPidFile=/run/slurmctld.pid
SlurmdPidFile=/run/slurmd.pid
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdLogFile=/var/log/slurmd.log

# Node definition
NodeName=<your-hostname> CPUs=<CPU-cores> RealMemory=<Total-RAM> State=UNKNOWN

# Partition definition
PartitionName=debug Nodes=<your-hostname> Default=YES MaxTime=INFINITE State=UP

Also create the file /etc/slurm/cgroup.conf and write

CgroupAutomount=yes
ConstrainCores=yes
ConstrainRAMSpace=yes

The last config step is to create the need directories for slurm's processes (state and spool) and transfer their ownership to slurm. To do that run the following

sudo mkdir -p /var/lib/slurm/slurmd /var/lib/slurm/slurmctld
sudo chown slurm:slurm /var/lib/slurm/slurmd /var/lib/slurm/slurmctld

Now enable the slurm controller/compute deamons

sudo systemctl enable slurmctld slurmd
sudo systemctl start slurmctld slurmd

Basic Testing

To check the install/to make sure it's running

systemctl status slurmctld
systemctl status slurmd
sinfo

If sinfo shows the node as down or drain, you can set it to idle by

sudo scontrol update nodename=localhost state=idle