Несколько нейтронных узлов только с одним узлом, подключенным к внешней сети

У меня 3 сетевых узла под управлением нейтрон-сервера..

Только один из этих узлов подключен к внешней сети

Я использую ml2 с openvswitch

в сопоставлении моста узла, подключенного к внешней сети - VIA FLOATING IPS, - у меня external_net сопоставлен с правильным мостом.

На других узлах у меня не определено это отображение, и у меня нет интерфейсов

У меня есть проблема заключается в следующем

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

нейтрон-сервер: 2016-09-07 12:33:00.975 57352 ОШИБКА neutron.plugins.ml2.managers [req-def18170-5e45-4fef-9653-e008faa39913 - - - - -] Не удалось связать порт 035a58e1-f18f-428b-b78e-e8c0aaba7d14 на хост-узле002 для нормального vnic_type с использованием сегментов [{'segmentation_id': нет, phy sical_network': u'external_net', 'id': u'0d4590e5-0c48-4316-8b78-1636d3f44d43', 'network_type': u'flat'}]

нейтрон-сервер: 2016-09-07 12:33:00.975 57352 ОШИБКА neutron.plugins.ml2.managers [req-def18170-5e45-4fef-9653-e008faa39913 - - - - -] Не удалось связать порт 035a58e1-f18f-428b-b78e-e8c0aaba7d14 на хост-узле003 для нормального vnic_type с использованием сегментов [{'segmentation_id': нет, phy sical_network': u'external_net', 'id': u'0d4590e5-0c48-4316-8b78-1636d3f44d43', 'network_type': u'flat'}]

на обоих узлах ( node002 и node003), потому что им НЕ определена эта сеть! так это ошибка или такая настройка недействительна?

Спасибо

3 ответа

Решение

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

в основном файл ядра ml2 ml2_conf.ini

параметр:

flat_network должен быть установлен в соответствующее значение на каждом узле

как на узле, который подключен ко всем плоским сетям (включая внутреннюю сеть), он должен быть установлен в

flat_networks = *

и на узле, который не размещает все плоские сети (например, сеть провайдера)

flat_networks = Physical_internal

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

Вместо этого вы присоединяете свои экземпляры к внутренней сети, а затем назначаете плавающие IP-адреса из внешней сети, используя, например, nova floating-ip-create а также nova floating-ip-associate,

Альтернативное решение состоит в том, чтобы использовать "внешние сети провайдера", схему, в которой ваши экземпляры nova подключаются непосредственно к сетям L2 с внешним подключением, а не полагаться на решение NAT с плавающим ip, описанное в предыдущих параграфах.

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

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

Другие вопросы по тегам