База знаний VMmanager

Зависает sudo на узлах с большим количеством сетевых интерфейсов

Описание

В платформе наблюдаются следующие проблемы:

  • зависают или медленно выполняются команды sudo на узлах кластера;
  • задачи VMmanager выполняются медленно, завершаются не информативными ошибками или по таймауту.

Причина проблемы в том, что с версии 1.8.10 sudo по умолчанию сканирует все сетевые интерфейсы системы с помощью опции probe_interfaces, чтобы сопоставить правила на основе IP-адреса. На Linux-системах с большим количеством виртуальных интерфейсов (например, при более 1000 виртуальных машин) это может занимать значительное время. Подробнее см. в официальной документации sudo.

В VMmanager сопоставление по IP-адресу не требуется, поэтому сканирование сетевых интерфейсов может быть отключено без ущерба для функциональности.

Диагностика

Чтобы подтвердить причину проблемы:

  1. Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Проверьте версию sudo. Опция probe_interfaces доступна только в версиях 1.8.10 и выше:
    sudo --version | head -1
    Пример вывода
    Sudo version 1.9.5

    В указанном примере версия sudo соответствует условию.

  3. Проверьте количество виртуальных машин (ВМ) на узле кластера:
    virsh list --all | grep -c -E "running|paused|shut off"
    Проблема характерна для большого количества ВМ, например, более 1000. 
  4. Проверьте скорость выполнения 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:

  1. Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Откройте файл /etc/sudo.conf в любом редакторе.
  3. Добавьте или раскомментируйте следующую строку:
    Set probe_interfaces false
  4. Сохраните изменения и выйдите из редактора.
  5. Проверьте выполнение команд sudo:
    time sudo whoami
    Ожидаемый результат: команда выполнена за доли секунды. 
  6. Повторите процедуру на всех узлах кластера, где наблюдается указанная проблема.


Дата последнего обновления статьи: 14.01.2026. Статья подготовлена техническими писателями ISPsystem