slurm_intro - OpenNebula/one-apps GitHub Wiki

Overview

Slurm is an open source, fault-tolerant, and highly scalable cluster management and job scheduling system for large and small Linux clusters. Slurm requires no kernel modifications for its operation and is relatively self-contained. As a cluster workload manager, Slurm allocates access to compute nodes, starts and monitors work on allocated nodes, and manages pending work through a queue.

OpenNebula provides two appliances to deploy a Slurm cluster: Slurm Controller and Slurm Worker. They are designed to run together as a OneFlow service, where the controller role publishes cluster coordination data through OneGate and worker roles discover that data automatically.

Requirements

The following are required to instantiate a Slurm cluster with the OneSlurm appliance:

  • OpenNebula versions: >= 7.0
  • OneFlow enabled
  • OneGate enabled and reachable from the Slurm Controller and Slurm Worker VMs
  • A virtual network available to select as the Service network at instantiation

Optional shared home and scratch storage can be mounted from NFS exports. When used, the NFS server must be reachable from the Controller and Worker VMs, and the exports must use the host:/export format accepted by the ONEAPP_SLURM_NFS_HOME and ONEAPP_SLURM_NFS_SCRATCH service inputs.

Marketplace Controller and Worker templates ship with the following defaults, which cover the Slurm processes (slurmctld and slurmd). Size the VM templates according to your workloads.

  • Slurm Controller
    • CPU: 2 CPUs
    • Memory: 2 GB
    • Disk: 10 GB
  • Slurm Worker
    • CPU: 1 CPU
    • Memory: 1 GB
    • Disk: 10 GB

Release Notes

Details for each release are available on the release page, providing comprehensive information about every version. The Slurm appliances are based on Ubuntu 26.04 for x86_64 and aarch64.

Slurm is installed from the Ubuntu package repositories included in the appliance image.

Next: Slurm Quick Start