Завершение работы зомби SLURM
Я столкнулся со следующей проблемой во время первого жесткого отключения кластера отдела, за который я отвечаю. Система работает под управлением SLURM 17.11 и использует MariaDB/SQL для хранения учетных данных.
Чтобы выполнить обновление памяти, мне пришлось отключить сервер управления и базы данных кластера, который использует SLURM в качестве планировщика. После перезапуска управляющий демон отказался запускаться, так как, очевидно, состояние сохранения файлов в /var/spool
не было правильных разрешений больше. Поэтому я сделал выделенную папку /var/spool/slurm_state
для файлов состояния грязи и сменили владельца на slurm:slurm
, После модификации sulrm.conf
установить правильное StateSaveLocation
контрольный демон запущен, и я могу представить тестовые задания.
Однако я не копировал старые файлы состояния в новое местоположение. Таким образом, новые задания снова начались с JobID 1. После осознания того, что я быстро прекратил работу slurmctld
и изменился StateSaveLocation
вернуться к /var/spool
(с соответствующими изменениями группы и разрешений).
Теперь одно тестовое задание, которое выполнялось после выключения демона управления, застревает в базе данных с состоянием, установленным в RUNNING
systemverwalter 2 240 9-21:40:55 100.0 RUNNING allgather_latency_240_mpich
просто накапливая время выполнения для учетной записи.
Я пытался прекратить работу через scancel
как пользователь, а также как root
, но безрезультатно. Ни у кого не было попытки приостановить работу, используя scontrol
привело к желаемому результату.
Мой вопрос таков: что я должен сделать, чтобы прекратить эту работу? Нужно ли вручную изменять запись в базе данных или есть более простое решение?
2 ответа
Хорошо. Я нашел довольно тривиальное решение этой проблемы, хотя я не думаю, что оно будет работать всегда.
Чтобы устранить такой процесс зомби, выполните следующие действия:
- Запустите менеджер аккаунтов SLURM через
sacctmgr
как пользователь сOperator
аккаунт (илиroot
). - Поиск сбежавших рабочих мест, выдав
list runawayjobs
вsacctmgr
незамедлительный. - Если система распознает одно или несколько заданий без конечной даты, т. Е. Потерянных (сбежавших) заданий, она запросит, хотите ли вы это исправить. Подтвердите с помощью
Y
,
Эти шаги решили мою проблему после того, как в sacct
отчеты за 9 дней.
Следующая команда выведет список вышедших из-под контроля заданий и предложит их удалить:
sacctmgr show runawayjobs