CSCfi.ansible-role-slurm
ansible-role-slurm
Создает кластер SLURM
Тестировалось на следующих дистрибутивах Linux:
- CentOS 7
- Ubuntu
- 18.04 (только клиент)
Роль стремится поддерживать обратную совместимость.
Например, если мы хотим добавить настройки по умолчанию в slurm.conf только для некоторых версий slurm, мы можем сделать это, добавив slurm_conf_version_specific_params_list в версию в vars/slurm_version.yml.
Зависимости
- https://github.com/jabl/ansible-role-pam
- настраивает PAM - ограничивает доступ к вычислительным узлам
- https://github.com/CSCfi/ansible-role-nhc
- настраивает проверку состояния узлов
Как настроить
Начальная конфигурация плейбука
Переменные плейбука:
Все переменные должны быть определены в defaults/main.yml.
Все узлы запускают munge. Узлы, которые являются частью группы хостов slurm_compute, дополнительно запускают slurmd. Узлы, которые являются частью группы хостов slurm_service, дополнительно запускают slurmctld и slurmdbd (если {{ slurm_accounting_storage_host }} не является тем же, что и {{ slurm_service_node }}). Узлы, которые не входят в эти две группы хостов, считаются узлами отправки.
Также необходимо добавить строку mysql_slurm_password: "PASSWORD" где-то в конфигурации. Это будет использовано для установки пароля для пользователя slurm в MySQL. Смотрите http://docs.ansible.com/ansible/playbooks_vault.html.
Чтобы добавить свои узлы и очереди, определите списки slurm_nodelist и slurm_partitionlist.
Вам не обязательно настраивать SQL-сервер с этой ролью, он здесь для удобства, если вы хотите запускать SQL на том же узле, что и slurmctld и slurmdbd. Также возможно запускать slurmdbd на другом хосте, чем slurmctld, изменив переменную slurm_accounting_storage_host.
Также возможно настроить резервный контроллер slurm, определив переменную slurm_backup_controller. Пожалуйста, прочитайте документацию SLURM HA. Например, вам понадобится общий каталог (например, NFS), доступный и на slurm_service_node, и на slurm_backup_controller.
Реализация
Плейбук, который использует эту роль: https://github.com/fgci-org/fgci-ansible.
Или вы можете посмотреть tests/test.yml в этом репозитории.
Пример плейбука
- hosts: compute strategy: free roles: - { role: ansible-role-pam } - { role: ansible-role-nhc } - { role: ansible-role-slurm } - hosts: install roles: - { role: ansible-role-slurm }
Известные проблемы
- Настройка общего каталога типа NFS для работы SLURM в режиме HA не входит в область данной роли. Существует множество ролей NFS сервера и ролей монтирования файловых систем.
Тестирование и вклад
Тестирование выполняется с использованием Travis.
- PR в главную ветку
- если возможно, убедитесь, что новая функция также протестирована
- стремитесь к обратной совместимости
Авторы / Участники:
- Марко Пассерини (оригинальный автор)
- https://github.com/martbhell
- https://github.com/tiggi
- https://github.com/A1ve5
- https://github.com/jabl
- https://github.com/mhakala
ansible-galaxy install CSCfi.ansible-role-slurm