База знаний VMmanager

Невозможно добавить бридж по умолчанию

Описание

Недоступно добавление бриджа по умолчанию через веб-интерфейс платформы.

Когда может возникнуть проблема:

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

    Исправлено в версии 2023.07.1. Для устранения ошибки рекомендуем обновиться до актуальной версии платформы.


Решение

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

Перед внесением изменений в БД создайте резервную копию платформы. 

Чтобы решить проблему, добавьте бридж по умолчанию через БД:

  1. Подключитесь к серверу с платформой по SSH.
  2. Подключитесь к СУБД.

    В связи с поэтапным переходом платформы на использование СУБД PostgreSQL, разные экземпляры VMmanager могут использовать разные СУБД:

    • VMmanager Hosting — MySQL;
    • VMmanager Infrastructure:
      • для новых установок на ОС Astra Linux, начиная с версии VMmanager 2023.06.1 — PostgreSQL;
      • в остальных случаях — MySQL.

    Чтобы определить тип СУБД, выполните на сервере с платформой команду: 

    docker ps --filter name=pgsql
    Пример ответа
    CONTAINER ID   IMAGE         COMMAND                  CREATED      STATUS      PORTS      NAMES
    3213c5dc94d0   postgres:12   "docker-entrypoint.s…"   5 days ago   Up 4 days   5432/tcp   pgsql

    Если вывод команды содержит информацию о контейнере, платформа использует PostgreSQL, если ответ пустой — MySQL.

    MySQL
    docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"
    PostgreSQL
    docker exec -it pgsql bash -c "psql -d isp"
  3. Получите названия и id бриджей запросом:

    SELECT id, name FROM vm_node_bridge WHERE node = <node_id> ;
    Пояснения
    Пример вывода
    +----+-------+
    | id | name |
    +----+-------+
    | 97 | vmbr0 |
    +----+-------+
    1 row in set (0.00 sec)
  4. Установите бридж по умолчанию запросом:

    UPDATE vm_node_bridge SET is_default = 1 WHERE id = <bridge_id> ;
    Пояснения
  5. Убедитесь, что бридж по умолчанию установлен корректно. Для этого выполните запрос:

    select * from vm_node_bridge where node= <node_id>;
    Пояснения
    Пример вывода
    *************************** 1. row ***************************
     id: 97
     name: vmbr0
     node: 64
     ipv4: 10.10.10.10/24
     ipv6: NULL
     state: enabled
     is_default: 1
     is_main_network: 1
     vlan: 111
     take_slave_ip: 0

    Строка is_default: 1 означает, что бридж установлен по умолчанию.