grycap.slurm
SLURM Cluster Rolle
Installieren Sie SLURM Cluster.
Rollenvariablen
Die Variablen, die an diese Rolle übergeben werden können, sind wie folgt:
# SLURM Version, die installiert werden soll (bei RH-Systemen)
slurm_version: 20.02.7
# Liste von Servern zum Herunterladen des SLURM-Codes
slurm_mirrors: [ "http://ftpgrycap.i3m.upv.es/src/", "https://download.schedmd.com/slurm/" ]
# Typ des Knotens, der installiert werden soll: front oder wn
slurm_type_of_node: front
# Name des SLURM-Servers
slurm_server_name: slurmserver
# IP-Adresse des SLURM-Servers
slurm_server_ip: 127.0.0.1
# Präfix für die SLURM-Arbeitsknoten
slurm_vnode_prefix: vnode-
# Liste der Namen der WNs
slurm_wn_nodenames: []
# Anzahl der CPUs der WNs
slurm_wn_cpus: 1
# Menge des Speichers der WNs (in MB, siehe RealMemory). Wenn 0, wird es nicht festgelegt
slurm_wn_mem: 0
# GRES-Spezifikation für die WN
slurm_wn_gres: ""
# GRES-Typen-Spezifikation für die WN
slurm_wn_gres_tpes: ""
# GRES-Konfigurationsdatendatei
slurm_wn_gres_conf: "AutoDetect=nvml"
# Standardbenutzer für SSH und SLURM-Management
# Standard-SSH-Benutzer
user: user1
# DRMAA-Bibliothek installieren
drmaa_lib_install: false
drmaa_lib_version: 1.0.7
# SLURM Standardkonfigurationsoptionen
slurm_default_conf_options:
AuthType: auth/munge
CryptoType: crypto/munge
FirstJobId: 1
JobRequeue: 0
JobSubmitPlugins: all_partitions
ProctrackType: proctrack/pgid
ReturnToService: 2
SlurmctldPidFile: /var/run/slurmctld.pid
SlurmctldPort: 6817
SlurmdPidFile: /var/run/slurmctld.pid
SlurmdPort: 6818
SlurmdSpoolDir: /var/spool/slurm
SlurmUser: slurm
StateSaveLocation: /var/slurm/checkpoint
SwitchType: switch/none
TaskPlugin: task/none
InactiveLimit: 0
KillWait: 30
MessageTimeout: 30
MinJobAge: 300
SlurmctldTimeout: 30
SlurmdTimeout: 40
Waittime: 0
FastSchedule: 1
SchedulerType: sched/backfill
SelectType: select/linear
AccountingStorageType: accounting_storage/none
ClusterName: cluster
JobCompType: jobcomp/none
JobAcctGatherFrequency: 30
JobAcctGatherType: jobacct_gather/none
SlurmctldDebug: debug5
SlurmctldLogFile: /var/log/slurm/slurmctld.log
SlurmdDebug: debug5
SlurmdLogFile: /var/log/slurm/slurmd.log
# SLURM Benutzerkonfigurationsoptionen
slurm_conf_options: {}
# SLURM Konfigurationsoptionen für cgroup
slurm_cgroup_conf_options:
CgroupPlugin: cgroup/v1
Beispiel-Playbook
Hier ein Beispiel, wie man einen SLURM-Cluster installiert:
- hosts: server
roles:
- { role: 'grycap.slurm', slurm_type_of_node: 'front', slurm_server_ip: '{{ansible_default_ipv4}}', slurm_wn_nodenames: "{{ groups['wns']|map('extract', hostvars, 'ansible_hostname')|list }}" }
- hosts: wns
roles:
- { role: 'grycap.slurm', slurm_type_of_node: 'wn', slurm_server_ip: "{{hostvars['server']['ansible_default_ipv4']}}" }
Beitragen zur Rolle
Um den Code sauber zu halten, wurde das Pushen von Änderungen in den Master-Branch deaktiviert. Wenn Sie beitragen möchten, müssen Sie einen Branch erstellen, Ihre Änderungen hochladen und dann einen Pull-Request erstellen.
Vielen Dank!