grycap.slurm
SLURM 集群角色
安装 SLURM 集群。
角色变量
可以传递给此角色的变量及其简要说明如下。
# 要安装的 SLURM 版本(适用于 RH 系统)
slurm_version: 20.02.7
# 下载 SLURM 代码的服务器列表
slurm_mirrors: [ "http://ftpgrycap.i3m.upv.es/src/", "https://download.schedmd.com/slurm/" ]
# 要安装的节点类型:前端或工作节点
slurm_type_of_node: front
# SLURM 服务器名称
slurm_server_name: slurmserver
# SLURM 服务器的 IP 地址
slurm_server_ip: 127.0.0.1
# 设置到 SLURM 工作节点的前缀
slurm_vnode_prefix: vnode-
# 工作节点的名称列表
slurm_wn_nodenames: []
# 工作节点的 CPU 数量
slurm_wn_cpus: 1
# 工作节点的内存大小(以 MB 为单位,参考 RealMemory)。如果为 0,则不设置
slurm_wn_mem: 0
# 工作节点的 GRES 规格
slurm_wn_gres: ""
# 工作节点的 GRES 类型规格
slurm_wn_gres_tpes: ""
# GRES 配置数据文件
slurm_wn_gres_conf: "AutoDetect=nvml"
# SSH 和 SLURM 管理的默认用户
# 默认 SSH 用户
user: user1
# 安装 DRMAA 库
drmaa_lib_install: false
drmaa_lib_version: 1.0.7
# SLURM 默认配置选项
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 用户配置选项
slurm_conf_options: {}
# SLURM 的 cgroup 配置选项
slurm_cgroup_conf_options:
CgroupPlugin: cgroup/v1
示例剧本
这是安装 SLURM 集群的示例:
- 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']}}" }
贡献代码
为了保持代码的整洁,已禁用对主分支的直接推送。如果你想贡献代码,必须创建一个分支,上传更改,然后创建一个拉取请求。
谢谢!