neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [-] Мост enp125s0f0 для физической сети провайдера не существует. Агент завершен.

Вопрос или проблема

Моя операционная система – Debian 12.

Я развернул кластер OpenStack с двумя узлами: controller34 – управляющий узел, worker35 – рабочий узел, без дополнительного сетевого узла. Мое сетевое планирование – повторное использование рабочего узла и сетевого узла. Я развернул сети самослуживания Neutron в соответствии с документом на официальном сайте и нашел следующую ошибку в журнале управляющего узла
вот моя конфигурация ip

root@controller34:/home/dky# cat /etc/network/interfaces
## Этот файл описывает сетевые интерфейсы, доступные в вашей системе
## и как их активировать. Для получения дополнительной информации см. interfaces(5).
#
source /etc/network/interfaces.d/*

# Интерфейс сетевого цикла
auto lo
iface lo inet loopback

# Основной сетевой интерфейс
allow-hotplug enp125s0f0
iface enp125s0f0 inet static
        address 192.168.203.34/24
        gateway 192.168.203.254
        # параметры dns-* реализованы пакетом resolvconf, если установлен
        dns-nameservers 192.168.203.11

вот мой журнал ошибок

tail -100f /var/log/neutron/neutron-openvswitch-agent.log
2024-01-23 10:54:52.946 241411 ERROR neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [-] Мост enp125s0f0 для физического сетевого провайдера не существует. Агент завершил работу!
2024-01-23 10:54:56.939 241421 INFO neutron.common.config [-] Ведение журнала включено!

вот мой конфигурационный файл

  1. /etc/neutron/plugins/ml2/ml2_conf.ini
cat /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
# ...
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security

[ml2_type_flat]
# ...
flat_networks = provider

[ml2_type_vxlan]
# ...
vni_ranges = 1:1000
  1. /etc/neutron/plugins/ml2/openvswitch_agent.ini
root@controller34:/etc/neutron/plugins/ml2# cat /etc/neutron/plugins/ml2/openvswitch_agent.ini
[ovs]
bridge_mappings = provider:enp125s0f0

[vxlan]
local_ip = 192.168.203.34
l2_population = true

[securitygroup]
# ...
enable_security_group = true
firewall_driver = openvswitch
#firewall_driver = iptables_hybrid

Я не нашел ошибок в журнале рабочего узла.

вот моя конфигурация ip:

root@controller34:/etc/neutron/plugins/ml2# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp1s0f0np0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 70:8c:b6:16:27:fb brd ff:ff:ff:ff:ff:ff
3: enp125s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether a4:16:e7:95:13:0b brd ff:ff:ff:ff:ff:ff
    inet 192.168.203.34/24 brd 192.168.203.255 scope global enp125s0f0
       valid_lft forever preferred_lft forever
    inet6 fe80::a616:e7ff:fe95:130b/64 scope link 
       valid_lft forever preferred_lft forever

Я пытался создать мост вручную, но это не сработало. В настоящее время мы все еще находимся в стадии тестирования, поэтому я планирую использовать один сетевой интерфейс для построения внешней сети, сети управления и сети арендатора.

Соответствие моста требует моста, а не интерфейса, но из документов это не совсем ясно. Но параметр конфигурации bridge_mappings довольно ясен. У меня еще нет настройки OVN, поэтому это для развертывания OVS, как это также требуется:

# создайте провайдерский мост на управляющем узле
ovs-vsctl add-br br-provider

# добавьте порт в провайдерский мост (physnet, вероятно, enp125s0f0 в вашем случае)
ovs-vsctl add-port br-provider {{ physnet }}

# отредактируйте /etc/neutron/plugins/ml2/openvswitch_agent.ini

[ovs]
bridge_mappings = provider:br-provider

После редактирования конфигурационного файла перезапустите neutron-openvswitch-agent.service, возможно, даже все службы Neutron на управляющем узле. Затем сделайте то же самое на вычислительном узле, так как он также требует соответствия моста. Если вы планируете использовать внешнюю (провайдерскую) сеть, вам понадобится другой интерфейс без сконфигурированного IP.

Какой вариант сетевой интеграции OpenStack вы используете?

Ответ или решение

Проблема с OpenStack Neutron: Ошибка "Bridge enp125s0f0 for physical network provider does not exist"

Ваша проблема связана с ошибкой в настройках OpenStack, когда агент Neutron не может найти указанный мост для виртуальной сети. Давайте рассмотрим, как это исправить и какие шаги предпринять.

Суть проблемы

Согласно вашему лог-файлу:

Bridge enp125s0f0 for physical network provider does not exist. Agent terminated!

Это указывает на то, что в конфигурации указано имя интерфейса (enp125s0f0), но для работы сетевой виртуализации необходимо создать мост, связывающий этот интерфейс с виртуальными сетями.

Шаги для решения проблемы

  1. Создание моста:
    Вам необходимо создать мост для предоставления сети, так как OpenStack использует мосты для управления соединениями между виртуальными сетями и физическим сетевым оборудованием. Выполните следующие команды:

    ovs-vsctl add-br br-provider
    ovs-vsctl add-port br-provider enp125s0f0

    Это создаст мост br-provider и добавит в него физический интерфейс enp125s0f0.

  2. Изменение конфигурации Neutron:
    После создания моста необходимо внести изменения в конфигурационный файл openvswitch_agent.ini. Откройте файл:

    nano /etc/neutron/plugins/ml2/openvswitch_agent.ini

    Измените секцию [ovs], чтобы она выглядела следующим образом:

    [ovs]
    bridge_mappings = provider:br-provider
  3. Перезапуск сервисов Neutron:
    После внесения изменений в конфигурацию, вам необходимо перезапустить агентов OpenStack, чтобы изменения вступили в силу. Используйте следующие команды:

    systemctl restart neutron-openvswitch-agent.service

    Желательно также перезапустить остальные сервисы Neutron, если они активны на контроллере:

    systemctl restart neutron-server.service
  4. Проверка состояния:
    После выполнения всех шагов, проверьте логи и состояние агентов Neutron, чтобы убедиться, что проблема устранена. Вы можете использовать команду:

    tail -f /var/log/neutron/neutron-openvswitch-agent.log
  5. Дополнительные рекомендации:
    Если вы планируете использовать внешние (поставляемые) сети, рассмотрите возможность настройки дополнительного интерфейса, который не должен иметь IP-адрес. Это может упростить управление сетевой инфраструктурой.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...