Описание
В платформе наблюдаются следующие проблемы:
- зависают или медленно выполняются команды sudo на узлах кластера;
- задачи VMmanager выполняются медленно, завершаются не информативными ошибками или по таймауту.
Причина проблемы в том, что с версии 1.8.10 sudo по умолчанию сканирует все сетевые интерфейсы системы с помощью опции probe_interfaces, чтобы сопоставить правила на основе IP-адреса. На Linux-системах с большим количеством виртуальных интерфейсов (например, при более 1000 виртуальных машин) это может занимать значительное время. Подробнее см. в официальной документации sudo.
В VMmanager сопоставление по IP-адресу не требуется, поэтому сканирование сетевых интерфейсов может быть отключено без ущерба для функциональности.
Диагностика
Чтобы подтвердить причину проблемы:
- Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
- Проверьте версию sudo. Опция probe_interfaces доступна только в версиях 1.8.10 и выше:
sudo --version | head -1Пример выводаSudo version 1.9.5В указанном примере версия sudo соответствует условию.
- Проверьте количество виртуальных машин (ВМ) на узле кластера:
Проблема характерна для большого количества ВМ, например, более 1000.virsh list --all | grep -c -E "running|paused|shut off" - Проверьте скорость выполнения sudo. Выполните на узле кластера любую команду с sudo и замерьте время:
time sudo whoamiПример вывода с подтверждением проблемы# time sudo whoami root real 1m4.460s user 0m0.014s sys 0m42.506sНормальная скорость выполнения — доли секунды. В примере с подтверждением проблемы команда выполнялась более минуты.Пример нормальной скорости выполнения# time sudo whoami root real 0m0.013s user 0m0.002s sys 0m0.010s
Решение
Чтобы решить проблему, отключите сканирование сетевых интерфейсов в конфигурации sudo:
- Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
- Откройте файл /etc/sudo.conf в любом редакторе.
- Добавьте или раскомментируйте следующую строку:
Set probe_interfaces false - Сохраните изменения и выйдите из редактора.
- Проверьте выполнение команд sudo:
Ожидаемый результат: команда выполнена за доли секунды.time sudo whoami - Повторите процедуру на всех узлах кластера, где наблюдается указанная проблема.