VMmanager

Настройки сети на узле кластера

Функциональность недоступна:

  • в кластерах с виртуализацией LXD;
  • в кластерах с типом настроек "Коммутация" и IP-fabric.

В настройках сети на узле кластера вы можете создавать сетевые мосты (бриджи) и объединять сетевые интерфейсы в бонды. Виртуальные машины (ВМ) на этом узле кластера смогут использовать созданные интерфейсы.

Бриджи используют для объединения сегментов сетей в единую сеть. Вы можете указать тег VLAN в настройках бриджа. Тогда VMmanager присвоит сетевым кадрам, передаваемым через этот бридж, специальную метку — тег. Это изолирует передаваемый трафик и позволит использовать один интерфейс в нескольких бриджах.

Бонды объединяют два или более физических сетевых интерфейсов в один виртуальный. Использование бондов может повысить отказоустойчивость сети и её пропускную способность. Подробнее см. в статье Режимы работы бондов.

Особенности настройки для ОС Astra Linux

Настройка узла

При добавлении узла платформа:

  1. Импортирует настройки сетевых интерфейсов из файла /etc/network/interfaces в сервис NetworkManager.
  2. Отправляет ARP-запросы на проверочный IP-адрес, заданный в настройках кластера:
    • если IP-адрес недоступен, возвращает исходные сетевые настройки;
    • если проверка прошла успешно, выполняет настройку сети.
Импорт настроек не будет выполняться, если при добавлении узла включить опцию Не настраивать сеть автоматически.

После настройки сети в файле /etc/network/interfaces остаётся только конфигурация loopback-интерфейса (lo). Дальнейшую настройку сети на узле кластера рекомендуется выполнять через интерфейс платформы или утилиту nmcli. При добавлении записей в файл /etc/network/interfaces возможен конфликт сетевых настроек.

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

Если узел был добавлен в платформе с версией ниже 2023.07.1, то его конфигурация будет перенесена в NetworkManager только после изменения настроек сети (например, добавления интерфейса) через интерфейс платформы.

Резервные копии

При изменении сетевой конфигурации платформа создаёт резервную копию существующих настроек. Резервные копии хранятся на узле кластера в директориях:

  • /opt/ispsystem/vm/node_network_configure/import_backup/ — первичный импорт настроек;
  • /opt/ispsystem/vm/node_network_configure/backup_YYYY-MM-DD-hh-mm-ss/ — последующие изменения (для каждого изменения настроек сети будет создана отдельная директория с текущей датой и временем).

Чтобы восстановить сетевую конфигурацию из резервной копии:

  1. Скопируйте файлы резервной копии в директорию /etc/NetworkManager/system-connections/.
  2. Перезапустите сервис NetworkManager: 

    sudo systemctl restart NetworkManager

Логирование

Действия, выполняемые при настройке сети, сохраняются в лог-файлы:

  • на узле кластера:
    • /opt/ispsystem/vm/node_network_configure/import_interfaces.log — первичный импорт настроек;
    • /opt/ispsystem/vm/node_network_configure/configure.log работа скрипта по настройке сети;
  • в контейнере vm_box на сервере с платформой:
    • /var/log/node_network.log — настройка сети на узле кластера.

Возможные проблемы

Ошибка Сonnection has to have a name same as its interface

Если при импорте настроек возникает ошибка вида:

For node network settings NetworkManager connection with type 803-2-ethernet has to have a name same as its interface. Connection "Имя_подключения" is not suitable for import, because it has connected interface "eth0". Please, rename "Имя_подключения" to "eth0".

измените имя подключения из текста ошибки на eth0:

nmcli conn mod "Имя_подключения" connection.id "eth0"

Если ошибка не содержит имени подключения:

  1. Убедитесь, что у подключения нет интерфейса: 

    nmcli -g connection.interface-name c show "Имя_подключения"
  2. Если вывод команды не содержит сведений об интерфейсе, удалите подключение: 

    nmcli conn del "Имя_подключения"

Ошибка Required interface is unmanaged from NetworkManager

Если настройка сети на узле завершилась с ошибкой и в логе /opt/ispsystem/vm/node_network_configure/import_interfaces.log есть сообщение вида:

RuntimeError: required interface <имя интерфейса> is unmanaged from NetworkManager

проблема может заключаться в том, что на узле есть настройка, запрещающая NetworkManager управлять определёнными интерфейсами. 

Для решения проблемы:

  1. Проверьте, есть ли в файле /etc/NetworkManager/conf.d/<номер>-unmanaged-devices.conf строка вида: 

    [keyfile] unmanaged-devices=<список неуправляемых интерфейсов>

    Если такая строка есть, исключите из списка те интерфейсы, которые будут включаться в бриджи или бонды, либо удалите эту строку.

  2. Перезапустите NetworkManager:

    systemctl reload NetworkManager

Управление сетевыми настройками

Для управления сетевыми настройками узла кластера перейдите в Узлы → выберите узел → Настройки сети. При изменении сетевой конфигурации на узле кластера VMmanager автоматически обновляет данные в этом разделе.

Колонка Статус отображает текущее состояние интерфейса:

  • Новый — настройки созданы в платформе, но не применены на узле;
  • Изменен — настройки изменены в платформе, но не применены на узле;
  • Удален — настройки удалены в платформе, но не применены на узле;
  • Активный — интерфейс создан в платформе и на узле;
  • Изменен вручную — интерфейс создан или изменён на узле без участия платформы;
  • Удален вручную — интерфейс удалён на узле без участия платформы.

Основой бридж отмечен в таблице значком .

Интерфейс раздела

Чтобы увидеть схему сети узла в графическом виде, нажмите Посмотреть схему.

Пример схемы сети

Чтобы создать бридж:

  1. Нажмите Добавить устройство Бридж.
  2. Укажите настройки бриджа:
    1. Название.
    2. Тег vlan. Без тега VLAN вы можете включить в бридж только интерфейсы, не задействованные в других бриджах.
    3. Порты для объединения.
    4. Чтобы бридж использовал IP-адрес одного из интерфейсов, включите опцию Перенести IP с интерфейса. VMmanager удалит все IP-адреса и настройки шлюза для этого интерфейса и добавит их на бридж.
    5. IPv4-адрес в формате IPv4/Маска.
    6. Шлюз IPv4.
    7. IPv6-адрес в формате IPv6/Маска.
    8. Шлюз IPv6.
    9. Чтобы сделать бридж основным, включите опцию Сделать бриджем по умолчанию для создания VM. Все ВМ, создаваемые на этом узле, будут использовать этот бридж.
  3. Нажмите Создать. Интерфейс появится в таблице со статусом Новый.

Чтобы создать бонд:

  1. Нажмите Добавить устройство Бонд.
  2. Укажите настройки бонда:
    1. Название.
    2. Интерфейсы для объединения. 

      Не рекомендуется объединять в бонд несколько интерфейсов c IP-адресами. В этом случае сеть может быть настроена некорректно.
    3. IP-адрес в формате IPv4/Маска.
    4. IP-адрес в формате IPv6/Маска.
    5. Режим. Подробнее см. в статье Режимы работы бондов.
  3. Нажмите Создать. Интерфейс появится в таблице со статусом Новый.
Если вы планируете использовать VLAN в бонде, сначала создайте бонд и включите его в бридж, а затем настройте для бриджа теги VLAN.

VMmanager требует подтверждения действий администратора при изменении сетевых настроек. После добавления, редактирования и удаления интерфейсов в разделе появится карточка со списком изменений. Чтобы просмотреть изменения, нажмите Показать. Чтобы платформа применила настройки к узлу кластера, нажмите Применить изменения. Если изменения внесены ошибочно, нажмите Отменить все.

Пример запроса на применение настроек

Чтобы изменить настройки интерфейса, нажмите

.

На узлах кластера с ОС Astra Linux вы можете:

  • переименовать бридж. Новый бридж будет добавлен в настройки ВМ автоматически без перезагрузки;
  • добавлять и удалять бриджи без потери связи с ВМ.

Чтобы удалить интерфейс, нажмите . Если на бридж переносился IP-адрес с интерфейса, после удаления бриджа адрес вернётся на исходный интерфейс.

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

Порядок применения настроек

Для применения настроек платформа создаёт задачу на изменение конфигурации узла кластера. Если при выполнении задачи произойдёт ошибка, VMmanager восстановит исходные настройки узла.

Чтобы отследить результат внесённых изменений, VMmanager проверяет работоспособность сети. Для этого платформа отправляет запросы на определённый IP-адрес. Если в течение заданного времени сеть становится недоступна, VMmanager восстановит исходные сетевые настройки.

Чтобы задать параметры проверки сети:

  1. Перейдите в Кластеры → выберите кластер → Настройки сети.
  2. Введите Проверочный IP для узла. VMmanager будет проверять связь с этим IP-адресом с помощью утилиты ping.
  3. Задайте Таймаут в секундах. Если в течение этого времени сеть будет недоступна, платформа восстановит исходные сетевые настройки.
  4. Нажмите Сохранить.

Пример настройки

Управление сетевыми интерфейсами ВМ

Чтобы управлять сетевыми интерфейсами ВМ, перейдите в раздел Виртуальные машины → выберите ВМ → кнопка Параметры → вкладка Настройка сети. Подробнее см. в статье Настройки сети на ВМ.

Может быть полезно