Рейтинг:3

Сколько мостов VLAN поддерживает netplan?

флаг hu

в тестовой сети я пытаюсь виртуализировать маршрутизатор, который маршрутизирует между несколькими VLAN [2]. Гипервизор работает под управлением Ubuntu 20.04.

Однако я могу настроить только 21 мост VLAN на гипервизоре. Как только я добавляю 22-й мост VLAN (или больше), netplan выдает ошибку [1].

Это заставляет меня задаться вопросом, поддерживает ли netplan только ограниченное количество мостов VLAN?

[Редактировать]: это на сетевом плане 0.102-0убунту1~20.04.2. Вывод блока systemd ниже [3]. Более интересен вывод journald, который содержит, среди прочего, строку: Не удалось перечислить адреса: нет свободного места в буфере. [4].

[1] Ошибка при попытке применить >21 мост VLAN:

root@test1:~# применяется сетевой план
Задание для systemd-networkd.service завершилось неудачно, так как процесс управления завершился с кодом ошибки.
Подробности смотрите в "systemctl status systemd-networkd.service" и "journalctl -xe".
Traceback (последний последний вызов):
  Файл "/usr/sbin/netplan", строка 23, в <module>
    netplan.main()
  Файл "/usr/share/netplan/netplan/cli/core.py", строка 50, в основном
    self.run_command()
  Файл "/usr/share/netplan/netplan/cli/utils.py", строка 264, в run_command
    self.func()
  Файл "/usr/share/netplan/netplan/cli/commands/apply.py", строка 55, выполняется
    self.run_command()
  Файл "/usr/share/netplan/netplan/cli/utils.py", строка 264, в run_command
    self.func()
  Файл "/usr/share/netplan/netplan/cli/commands/apply.py", строка 236, в command_apply
    utils.systemctl_networkd('start', sync=True, extra_services=netplan_wpa + netplan_ovs)
  Файл "/usr/share/netplan/netplan/cli/utils.py", строка 131, в systemctl_networkd
    subprocess.check_call(команда)
  Файл "/usr/lib/python3.8/subprocess.py", строка 364, в check_call
    поднять CalledProcessError (реткод, cmd)
subprocess.CalledProcessError: Команда '['systemctl', 'start', 'systemd-networkd.service', 'netplan-ovs-cleanup.service']' вернула ненулевой статус выхода 1.

[2] Полная конфигурация сетевого плана с 30 интерфейсами:

сеть:
  версия: 2
  визуализатор: сетевой

  Ethernet:
    enp1s0:
      DHCP4: нет
      DHCP6: нет
      адреса:
        - 192.168.0.135/24
      шлюз4: 192.168.0.254
      серверы имен:
        поиск:
          - пример.com
        адреса:
          - 192.168.0.1
          - 192.168.0.2

  вланы:
    бр0.1:
      идентификатор: 1
      ссылка: br0
    бр0.2:
      идентификатор: 2
      ссылка: br0
    бр0.3:
      идентификатор: 3
      ссылка: br0
    бр0.4:
      идентификатор: 4
      ссылка: br0
    бр0.5:
      идентификатор: 5
      ссылка: br0
    бр0.6:
      идентификатор: 6
      ссылка: br0
    бр0.7:
      идентификатор: 7
      ссылка: br0
    бр0.8:
      идентификатор: 8
      ссылка: br0
    бр0.9:
      идентификатор: 9
      ссылка: br0
    бр0.10:
      идентификатор: 10
      ссылка: br0
    бр0.11:
      идентификатор: 11
      ссылка: br0
    бр0.12:
      идентификатор: 12
      ссылка: br0
    бр0.13:
      идентификатор: 13
      ссылка: br0
    бр0.14:
      идентификатор: 14
      ссылка: br0
    бр0.15:
      идентификатор: 15
      ссылка: br0
    бр0.16:
      идентификатор: 16
      ссылка: br0
    бр0.17:
      идентификатор: 17
      ссылка: br0
    бр0.18:
      идентификатор: 18
      ссылка: br0
    бр0.19:
      идентификатор: 19
      ссылка: br0
    бр0.20:
      идентификатор: 20
      ссылка: br0
    бр0.21:
      идентификатор: 21
      ссылка: br0
    бр0.22:
      идентификатор: 22
      ссылка: br0
    бр0.23:
      идентификатор: 23
      ссылка: br0
    бр0.24:
      идентификатор: 24
      ссылка: br0
    бр0,25:
      идентификатор: 25
      ссылка: br0
    бр0.26:
      идентификатор: 26
      ссылка: br0
    бр0,27:
      идентификатор: 27
      ссылка: br0
    бр0.28:
      идентификатор: 28
      ссылка: br0
    бр0,29:
      идентификатор: 29
      ссылка: br0

  мосты:
    бр0:
      интерфейсы:
        - enp1s0
      макадрес: 54:52:00:00:51:14
      DHCP4: нет
      DHCP6: нет
      адреса:
        - 192.168.0.249/24
      шлюз4: 192.168.0.254
      серверы имен:
        поиск:
          - пример.com
        адреса:
          - 192.168.0.1
          - 192.168.0.2
      #параметры:
      # задержка вперед: 0
      # стп: ложь
    бр1:
      интерфейсы:
        - 0,1 руб.
      макадрес: 54:52:01:00:00:14
      DHCP4: нет
      DHCP6: нет
      адреса:
        - 10.1.0.14/24
      шлюз4: 10.1.0.254
      серверы имен:
        поиск:
          - пример.com
        адреса:
          - 192.168.0.1
          - 192.168.0.2
    бр2:
      интерфейсы:
        - 0,2 руб.
      DHCP4: нет
      DHCP6: нет
    бр3:
      интерфейсы:
        - 0,3 руб.
      DHCP4: нет
      DHCP6: нет
    бр4:
      интерфейсы:
        - 0,4 руб.
      DHCP4: нет
      DHCP6: нет
    бр5:
      интерфейсы:
        - 0,5 руб.
      DHCP4: нет
      DHCP6: нет
    бр6:
      интерфейсы:
        - 0,6 руб.
      DHCP4: нет
      DHCP6: нет
    бр7:
      интерфейсы:
        - 0,7 руб.
      DHCP4: нет
      DHCP6: нет
    бр8:
      интерфейсы:
        - 0,8 руб.
      DHCP4: нет
      DHCP6: нет
    бр9:
      интерфейсы:
        - 0,9 руб.
      DHCP4: нет
      DHCP6: нет
    бр10:
      интерфейсы:
        - 0,10 руб.
      макадрес: 54:52:20:00:00:01
      DHCP4: нет
      DHCP6: нет
      адреса:
        - 10.10.0.1/24
      шлюз4: 10.10.0.254
      серверы имен:
        поиск:
          - пример.com
        адреса:
          - 192.168.0.1
          - 192.168.0.2
    бр11:
      интерфейсы:
        - 0,11 руб.
      DHCP4: нет
      DHCP6: нет
    бр12:
      интерфейсы:
        - 0,12 руб.
      DHCP4: нет
      DHCP6: нет
    бр13:
      интерфейсы:
        - 0,13 руб.
      DHCP4: нет
      DHCP6: нет
    бр14:
      интерфейсы:
        - 0,14 руб.
      DHCP4: нет
      DHCP6: нет
    бр15:
      интерфейсы:
        - 0,15 руб.
      DHCP4: нет
      DHCP6: нет
    бр16:
      интерфейсы:
        - 0,16 руб.
      DHCP4: нет
      DHCP6: нет
    бр17:
      интерфейсы:
        - 0,17 руб.
      DHCP4: нет
      DHCP6: нет
    бр18:
      интерфейсы:
        - 0,18 руб.
      DHCP4: нет
      DHCP6: нет
    бр19:
      интерфейсы:
        - 0,19 руб.
      DHCP4: нет
      DHCP6: нет
    бр20:
      интерфейсы:
        - 0,20 руб.
      DHCP4: нет
      DHCP6: нет
    бр21:
      интерфейсы:
        - 0,21 руб.
      DHCP4: нет
      DHCP6: нет
    бр22:
      интерфейсы:
        - 0,22 руб.
      DHCP4: нет
      DHCP6: нет
    бр23:
      интерфейсы:
        - 0,23 руб.
      DHCP4: нет
      DHCP6: нет
    бр24:
      интерфейсы:
        - 0,24 руб.
      DHCP4: нет
      DHCP6: нет
    бр25:
      интерфейсы:
        - 0,25 руб.
      DHCP4: нет
      DHCP6: нет
    бр26:
      интерфейсы:
        - 0,26 руб.
      DHCP4: нет
      DHCP6: нет
    бр27:
      интерфейсы:
        - 0,27 руб.
      DHCP4: нет
      DHCP6: нет
    бр28:
      интерфейсы:
        - 0,28 руб.
      DHCP4: нет
      DHCP6: нет
    бр29:
      интерфейсы:
        - 0,29 руб.
      DHCP4: нет
      DHCP6: нет

[3] системный вывод:

root@test1:~# статус systemctl systemd-networkd.service
systemd-networkd.service — Сетевая служба
     Загружено: загружено (/lib/systemd/system/systemd-networkd.service; включено во время выполнения; предустановка поставщика: включено)
     Активно: сбой (результат: код выхода) с понедельника 07.06.2021 16:17:15 CEST; 2 секунды назад
       Документы: man:systemd-networkd.service(8)
    Процесс: 63803 ExecStart=/lib/systemd/systemd-networkd (код=выход, статус=1/FAILURE)
   Основной PID: 63803 (код=выход, статус=1/ОШИБКА)
      Ошибка: 105 (Kein Hauptspeicher für den Puffer verfügbar)

07 июня, 16:17:15 test1 systemd[1]: systemd-networkd.service: основной процесс завершен, код = завершен, статус = 1/FAILURE
07 июня, 16:17:15 test1 systemd[1]: systemd-networkd.service: Ошибка с результатом «код выхода».
07 июня, 16:17:15 test1 systemd[1]: не удалось запустить сетевую службу.
07 июня, 16:17:15 test1 systemd[1]: systemd-networkd.service: запланированное задание перезапуска, счетчик перезапусков равен 5.
07 июня, 16:17:15 test1 systemd[1]: остановлена ​​сетевая служба.
07 июня, 16:17:15 test1 systemd[1]: systemd-networkd.service: Запрос на запуск повторяется слишком быстро.
07 июня, 16:17:15 test1 systemd[1]: systemd-networkd.service: Ошибка с результатом «код выхода».
07 июня, 16:17:15 test1 systemd[1]: не удалось запустить сетевую службу.

[4] Журнал ошибок:

root@test1:~# журналctl -xe
07 июня 16:17:14 test1 systemd[1]: перезагрузка.
07 июня 16:17:14 test1 systemd[1]: остановка сетевой службы...
-- Тема: Начато выполнение задания остановки для модуля systemd-networkd.service.
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Начато выполнение задания остановки для модуля systemd-networkd.service.
--
-- Идентификатор задания 3254.
07 июня, 16:17:14 test1 systemd[1]: проверка условий привела к тому, что конфигурация OpenVSwitch для очистки была пропущена.
-- Тема: Стартовое задание для модуля netplan-ovs-cleanup.service успешно завершено
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Стартовое задание для модуля netplan-ovs-cleanup.service успешно завершено.
--
-- Идентификатор задания 3259.
07 июня, 16:17:14 test1 systemd[1]: проверка условий привела к тому, что конфигурация OpenVSwitch для очистки была пропущена.
-- Тема: Стартовое задание для модуля netplan-ovs-cleanup.service успешно завершено
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Стартовое задание для модуля netplan-ovs-cleanup.service успешно завершено.
--
-- Идентификатор задания 3262.
07 июня, 16:17:14 test1 systemd[1]: systemd-networkd.service: успешно.
-- Тема: Модуль выполнен успешно
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Модуль systemd-networkd.service успешно перешел в состояние «мертвый».
07 июня, 16:17:14 test1 systemd[1]: запуск сетевой службы...
-- Тема: Начало выполнения задания для модуля systemd-networkd.service.
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Начато выполнение стартового задания для модуля systemd-networkd.service.
--
-- Идентификатор задания 3256.
07 июня 16:17:14 test1 systemd-networkd[63781]: br9: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br8: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br7: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br6: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br5: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br4: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br3: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br29: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br28: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br27: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br26: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br25: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br24: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br23: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br22: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br21: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br20: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br2: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br19: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br18: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br17: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br16: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br15: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br14: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br13: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br12: netdev готов
07 июня 16:17:14 test1 systemd-networkd [63781]: br11: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br10: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br1: netdev готов
07 июня 16:17:14 test1 systemd-networkd[63781]: br0: netdev готов
07 июня, 16:17:14 test1 systemd-networkd[63781]: не удалось перечислить адреса: нет свободного места в буфере
07 июня, 16:17:14 test1 systemd[1]: systemd-networkd.service: основной процесс завершен, код = завершен, статус = 1/FAILURE
-- Тема: Процесс модуля завершен.
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Процесс ExecStart=, принадлежащий модулю systemd-networkd.service, завершился.
--
-- Код завершения процесса - "выход", а его статус выхода - 1.
07 июня, 16:17:14 test1 systemd[1]: systemd-networkd.service: Ошибка с результатом «код выхода».
-- Тема: Неисправность устройства
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Модуль systemd-networkd.service перешел в состояние «сбой» с результатом «код выхода».
07 июня, 16:17:14 test1 systemd[1]: не удалось запустить сетевую службу.
-- Тема: Не удалось запустить задание для модуля systemd-networkd.service.
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Стартовое задание для модуля systemd-networkd.service завершилось ошибкой.
--
-- Идентификатор задания 3256, и результат задания не выполнен.
07 июня, 16:17:14 test1 systemd[1]: systemd-networkd.service: запланированное задание перезапуска, счетчик перезапусков равен 1.
-- Тема: Запланирован автоматический перезапуск устройства.
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Запланирован автоматический перезапуск юнита systemd-networkd.service, в результате для
-- настроенный параметр Restart= для устройства.
07 июня, 16:17:14 test1 systemd[1]: проверка условий привела к тому, что конфигурация OpenVSwitch для очистки была пропущена.
-- Тема: Стартовое задание для модуля netplan-ovs-cleanup.service успешно завершено
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Стартовое задание для модуля netplan-ovs-cleanup.service успешно завершено.
--
-- Идентификатор задания 3268.

(и куча повторных выходов).

Lukas Maerdian avatar
флаг cn
Интересный провал... Когда я пытаюсь воспроизвести его в Ubuntu Focal (20.04), используя netplan.io 0.102, он работает просто отлично. Я могу применить эту конфигурацию netplan [2] без каких-либо проблем. Не могли бы вы показать вывод `systemctl status systemd-networkd.service` и `journalctl -xe`, чтобы увидеть, как он терпит неудачу? Также какую версию netplan вы используете (`dpkg -l | grep netplan.io`)?
apalacheno avatar
флаг hu
Привет, Лукас, ты пробовал несколько раз «применить» конфигурацию netplan? У меня это иногда работает в первый раз, но после очередного применения «netplan apply» возникает упомянутая ошибка (или после перезагрузки, после которой машина больше недоступна).Я обновил свой исходный пост с запрошенной информацией.
Рейтинг:2
флаг hu

Чтобы ответить на мой собственный вопрос: я думаю, меня поразила эта ошибка с 2019 года: https://github.com/systemd/systemd/issues/14417.

В качестве обходного пути включение и запуск сокета systemd-networkd, похоже, на данный момент решает эту проблему:

systemctl включить systemd-networkd.socket
systemctl запустить systemd-networkd.socket

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

Ответить или комментировать

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