slurm

Slurm

Установка и настройка кластера Slurm на серверах RHEL/CentOS или Debian/Ubuntu

Переменные роли

Все переменные являются необязательными. Если ничего не задано, роль установит клиентские программы Slurm, munge и создаст slurm.conf с единственным узлом localhost и парцией debug. Смотрите значения по умолчанию и примерные сценарии для примеров.

Для различных ролей, которые может выполнять узел Slurm, вы можете задать имена групп или добавить значения в список slurm_roles.

  • группа slurmservers или slurm_roles: ['controller']
  • группа slurmexechosts или slurm_roles: ['exec']
  • группа slurmdbdservers или slurm_roles: ['dbd']

Общие параметры конфигурации для slurm.conf указываются в slurm_config, хеш. Ключи — это имена опций конфигурации Slurm.

Партиции и узлы указываются в slurm_partitions и slurm_nodes, списках хешей. Единственный обязательный ключ в хеше — это name, который становится PartitionName или NodeName для этой строки. Все остальные ключи/значения помещаются на строку той партиции или узла.

Опции для дополнительных конфигурационных файлов acct_gather.conf, cgroup.conf и gres.conf могут быть указаны в slurm_acct_gather_config, slurm_cgroup_config (оба — хеши) и slurm_gres_config (список хешей) соответственно.

Установите slurm_upgrade в true, чтобы обновить установленные пакеты Slurm.

Вы можете использовать slurm_user (хеш) и slurm_create_user (логическое значение) для предварительного создания пользователя Slurm, чтобы uid совпадали.

Обратите внимание, что эта роль требует прав root, поэтому включите become либо глобально в вашем сценарии/в командной строке, либо только для роли, как показано ниже.

Зависимости

Нет.

Примерные сценарии

Минимальная настройка, все службы на одном узле:

- name: Slurm all in One
  hosts: all
  vars:
    slurm_roles: ['controller', 'exec', 'dbd']
  roles:
    - role: galaxyproject.slurm
      become: True

Более обширный пример:

- name: Slurm execution hosts
  hosts: all
  roles:
    - role: galaxyproject.slurm
      become: True
  vars:
    slurm_cgroup_config:
      CgroupMountpoint: "/sys/fs/cgroup"
      CgroupAutomount: yes
      ConstrainCores: yes
      TaskAffinity: no
      ConstrainRAMSpace: yes
      ConstrainSwapSpace: no
      ConstrainDevices: no
      AllowedRamSpace: 100
      AllowedSwapSpace: 0
      MaxRAMPercent: 100
      MaxSwapPercent: 100
      MinRAMSpace: 30
    slurm_config:
      AccountingStorageType: "accounting_storage/none"
      ClusterName: cluster
      GresTypes: gpu
      JobAcctGatherType: "jobacct_gather/none"
      MpiDefault: none
      ProctrackType: "proctrack/cgroup"
      ReturnToService: 1
      SchedulerType: "sched/backfill"
      SelectType: "select/cons_res"
      SelectTypeParameters: "CR_Core"
      SlurmctldHost: "slurmctl"
      SlurmctldLogFile: "/var/log/slurm/slurmctld.log"
      SlurmctldPidFile: "/var/run/slurmctld.pid"
      SlurmdLogFile: "/var/log/slurm/slurmd.log"
      SlurmdPidFile: "/var/run/slurmd.pid"
      SlurmdSpoolDir: "/var/spool/slurmd"
      StateSaveLocation: "/var/spool/slurmctld"
      SwitchType: "switch/none"
      TaskPlugin: "task/affinity,task/cgroup"
      TaskPluginParam: Sched
    slurm_create_user: yes
    slurm_gres_config:
      - File: /dev/nvidia[0-3]
        Name: gpu
        NodeName: gpu[01-10]
        Type: tesla
    slurm_munge_key: "../../../munge.key"
    slurm_nodes:
      - name: "gpu[01-10]"
        CoresPerSocket: 18
        Gres: "gpu:tesla:4"
        Sockets: 2
        ThreadsPerCore: 2
    slurm_partitions:
      - name: gpu
        Default: YES
        MaxTime: UNLIMITED
        Nodes: "gpu[01-10]"
    slurm_roles: ['exec']
    slurm_user:
      comment: "Slurm Workload Manager"
      gid: 888
      group: slurm
      home: "/var/lib/slurm"
      name: slurm
      shell: "/usr/sbin/nologin"
      uid: 888

Лицензия

MIT

Информация об авторе

Посмотреть авторов на GitHub

О проекте

Install and manage the Slurm Workload Manager

Установить
ansible-galaxy install galaxyproject/ansible-slurm
Лицензия
Unknown
Загрузки
10707
Владелец
Galaxy is an open, web-based platform for data-intensive research.