slurmctld: fatal: ОШИБКА ИМЕНИ КЛАСТЕРА

То, как я начинаю грязь:

mkdir -p /tmp/slurmstate/clustername
sudo slurmd
sudo munged -f
/etc/init.d/munge start 
sudo slurmdbd
sudo slurmctld -c

-

sacctmgr list cluster
   Cluster     ControlHost  ControlPort   RPC     Share GrpJobs       GrpTRES GrpSubmit MaxJobs       MaxTRES MaxSubmit     MaxWall                  QOS   Def QOS
---------- --------------- ------------ ----- --------- ------- ------------- --------- ------- ------------- --------- ----------- -------------------- ---------
   cluster                            0  7936         1                                                                                           normal

Бег slurmctld -cD дает мне следующую ошибку. Имя кластера возвращает неверную строку, которую я не знаю. Как я мог это исправить?

> slurmctld -cD
slurmctld: fatal: CLUSTER NAME MISMATCH.
slurmctld has been started with "ClusterName=�����", but read "cluster" from the state files in StateSaveLocation.
Running multiple clusters from a shared StateSaveLocation WILL CAUSE CORRUPTION.
Remove /tmp/slurmstate/clustername to override this safety check if this is intentional (e.g., the ClusterName has changed).

Примечание. Когда я пытаюсь запустить slurm от имени пользователя root и переключиться обратно, эта проблема начинает возникать. Мне пришлось переустановить MySQL, чтобы исправить это.

Спасибо за ваше драгоценное время и помощь.

1 ответ

Решение

Я полный noob SLURM (только начал интересоваться этим для работы), поэтому извиняюсь, если я делаю неправильные предложения, но я думаю, что могу указать на что-то неправильное.

Первая строка в вашей последовательности запуска:

mkdir -p /tmp/slurmstate/clustername

Итак, вы создаете каталог здесь, я имею в виду clustername это каталог.

Когда демон запускается, он пытается прочитать это как файл ( используя fopen а также fgets см. исходный код последней версии).

А потом, так как поведение fopen Если каталог является системно-зависимым, может произойти все, что угодно (он может прочитать мусор или потерпеть неудачу...). Было бы интересно, если бы вы могли указать, какую ОС вы используете.

Предложение:

  • rmdir /tmp/slurmstate/clustername

  • замените свою первую строку на mkdir -p /tmp/slurmstate, чтобы создать slurmstate каталог, если он не существует, но не создает clustername файл (или каталог!) себя там.

Первый раз это создаст clustername файл, и напишите там имя, как взято из вашего slurm.conf файл. Последующие запуски прочитают значение из файла и сравнят его с slurm.conf и двигаться дальше при запуске.

PS: я только что заметил, что вы добавили эту строку в свое последнее редактирование, поэтому у вас была проблема с корнем до того, как вы это сделали... так что проблема, на которую я указываю, вероятно, ничего. Может быть, я должен удалить этот ответ (снова) (но, возможно, ваш вопрос потребует другого редактирования).

Другие вопросы по тегам