Я получаю ошибку qsub: Bad UID for job execution при попытке отправить задание через PBS.

Вопрос или проблема

Версия ОС:
CentOS release 4.6 (Final)
Ядро \r на \m
2.6.9-100.ELsmp

Когда я пытаюсь запустить задачу, возникает следующая ошибка.

qsub: Плохой UID для выполнения задания

Я создал новую учетную запись пользователя, и та же ошибка возникает, в то время как другие пользователи на той же машине могут запускать задачи без проблем.

Как я могу решить эту проблему?

Инструкции здесь: http://www.bo.infn.it/alice/introgrd/pbsabout/node18.html предполагают, что вы запускаете это от имени неправильного пользователя.

Неверный пользователь в #PBS -u new-user

$ qsub sube.cmd
qsub: Плохой UID для выполнения задания

Имя пользователя, определенное в списке пользователей, либо не определено, либо отличается от имени пользователя отправителя задания, или UID и GID на исполняющем узле отличаются от значений на узле отправки. В этом случае сначала проверьте, что директива #PBS -u указывает на действительного пользователя, затем проверьте, что идентификаторы пользователей совпадают:

$ id whoami uid=501(myusrname) gid=501(myusrname) группы=501(myusrname) $ grep -e “PBS -u” cpbs.cmd

PBS -u alice001 $ id alice001 uid=10417(alice001) gid=1395(alice) группы=1395(alice)

и измените #PBS -u соответственно.

Добавление узла в /etc/hosts.equiv решило мою проблему.
Но я уже добавил эти строки в qmgr.

set server operators += [email protected]
set server acl_users += username
set server managers += [email protected]
set server acl_hosts += servername.local
set server operators += [email protected]

Затем я выполнил /etc/init.d/pbs_server restart.

Вы можете перезапустить pbs_server, даже если он уже работает.
Вам не нужно добавлять сервер в /etc/hosts.equiv, если вы отправляете задания на сервере, который запускает pbs_server.

Я знаю, что этот вопрос немного старый, но я недавно столкнулся с этой проблемой и выполнил следующие шаги:

  • Убедитесь, что UID и GID совпадают по всему кластеру для данного пользователя
  • qmgr -c "set server flatuid=true"
  • qmgr -c "set server acl_roots+=username@*"
  • qmgr -c "set server operators+=username@*"

Здесь * – это подстановочный знак для всех узлов. Работает отлично! Вероятно, это не супер безопасно, но определенно работает!

В моем случае я получил эту ошибку, когда пытался отправить задание, работая в интерактивном задании. Выход из интерактивного qsub и отправка с головного узла сработали.

две процедуры:

  1. добавьте “”+::::::”” в конец файла /etc/passwd

  2. убедитесь, что на узле, где пользователи отправляют задания, все остальные узлы корректно определены в файле /etc/hosts.equiv

ссылка:
поиск Bad UID for job execution в руководстве администратора torque pdf.

Ответ или решение

Ошибка "qsub: Bad UID for job execution" при попытке отправки задания через PBS (Portable Batch System) может возникать по нескольким причинам, связанным с неправильными настройками прав доступа или несовпадением идентификаторов пользователей. Рассмотрим основные шаги для диагностики и устранения этой проблемы.

1. Проверка идентификаторов пользователя (UID и GID)

Первое, что следует сделать, — это проверить совпадение UID и GID для пользователя, который отправляет задание, на всех узлах кластера. Иногда такой конфликт может возникать, если на разных узлах в системе настроены разные идентификаторы пользователей. Для этого выполните команду:

id $(whoami)

Сравните вывод с аналогичной командой для других пользователей, которые могут успешно отправлять задания через PBS. Если UID и GID различаются, это может быть причиной проблемы.

2. Проверка конфигурации PBS

Убедитесь, что конфигурация серверов PBS позволяет отправлять задания от нужного пользователя. Проверить текущие настройки можно с помощью команды qmgr:

qmgr -c "p q"

Обратите внимание на поля acl_users и operators. Убедитесь, что в них присутствует ваш логин. Если этого нет, добавьте пользователя с помощью следующей команды:

qmgr -c "set server acl_users += ваш_логин"

3. Установка флага flatuid в PBS

Если ваша конфигурация требует, чтобы все пользователи могли запускать задания с использованием одинаковых UID, рассмотрите возможность установки флага flatuid. Сделать это можно следующей командой:

qmgr -c "set server flatuid=true"

Это позволит избежать проблем, связанных с различием UID между узлами.

4. Настройки файла /etc/hosts.equiv

Содержимое файла /etc/hosts.equiv также может быть причиной проблемы. Убедитесь, что хосты, с которых вы отправляете задания, корректно перечислены в этом файле. Добавьте строку, содержащую ваш узел, если это не так. Пример записи:

ваш_узел

5. Перезапуск сервера PBS

После внесения изменений в конфигурацию PBS, обязательно перезапустите сервер PBS, чтобы изменения вступили в силу. Вы можете сделать это командой:

/etc/init.d/pbs_server restart

6. Проверка параметров конфигурации

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

qmgr -c "set server operators += ваш_логин@*"

Ограничение acls для определенных пользователей и хостов также следует удостовериться.

7. Работа в интерактивной сессии

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

Заключение

Ошибку "qsub: Bad UID for job execution" можно устранить, следуя вышеизложенным шагам. Ключевыми факторами являются правильная настройка UID и GID, соответствие прав доступа в PBS, а также правильная конфигурация сетевых настроек. Если после выполнения всех шагов проблема сохраняется, стоит обратиться к системному администратору для более глубокой диагностики конфигурации кластера.

Оцените материал
Добавить комментарий

Капча загружается...