Neutron FAQ - вопросы, проблемы и методы из решения
Проблемы с neutron - порядок действий
Схема организации сети openstack neutron приведена на рисунке:
Порядок действий при проблемах с работой neutron:
- Проверить права на каталоги neutron, и, при необходимости исправить:
systemctl daemon-reload
chown neutron:neutron -R /var/lib/neutron
chown neutron:neutron -R /var/log/neutron
chown neutron:neutron -R /etc/neutron
openstack network agent list
- все сервисы должны быть подняты.3. Проверить логи всех сервисов neutron.
4. Проверить юнит-файлы сервисов
neutron-openvswitch-agent
на всех гипервизорах на предмет пользователя, от которого они запускаются.Должны быть
User=neutron
Group=neutron
.Если там были другие значения, то изменить и сделать рестарт сервиса:
Исправление ошибки регистрации сервиса
При просмотре списка агентов нейтрона на хосте командой:
не отображается OpenvSwitch agent, успешно запущенный на вычислетельном узле.Почему neutron-openvswitch-agent не может зарегистрироваться на узле?
Оказалось, был не прописан (или неверно прописан) параметр transport_url
в секции [DEFAULT] файла /etc/neutron/neutron.conf
.
Соответственно, запросы на регистрацию сервиса не поступали в шину очередей RabbitMQ
и не отображались в запросе.
Исправляем данную запись:
После внесения изменений и рестарта службы - сервис появился.
+--------------------------------------+----------------------+-----------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+----------------------+-----------+-------------------+-------+-------+---------------------------+
| 1d3e00e1-f261-4248-a338-114346abffa9 | Loadbalancerv2 agent | NTRN-0001 | None | True | UP | neutron-lbaasv2-agent |
| 442b75a2-fa71-4eb8-b5d8-ed25b51b2c4c | Open vSwitch agent | NTRN-0001 | None | True | UP | neutron-openvswitch-agent |
| 5597c863-f7df-407d-8af9-10d5ac20f2ef | L3 agent | NTRN-0001 | nova | True | UP | neutron-vpn-agent |
| 56bf6d38-b5b3-4803-81f3-ae9a4cdf20ee | DHCP agent | NTRN-0001 | nova | True | UP | neutron-dhcp-agent |
| 7e774db6-5caf-4ca6-b539-fcd57ebaff5c | Open vSwitch agent | sds-antey | None | True | UP | neutron-openvswitch-agent |
| ae9cb4aa-336e-417b-8193-26dd41e73a6f | Metadata agent | NTRN-0001 | None | True | UP | neutron-metadata-agent |
+--------------------------------------+----------------------+-----------+-------------------+-------+-------+---------------------------+
Диагностика виртуального роутера qrouter
Если надо посмотреть подробности работы виртуальной подсети, то это можно сделать через namespaces.
Сначала выясним имя виртуального роутера по его идентификатору:
Имя роутера начинается с префикса qrouter
. Теперь выполняем любую команду диагностики внурти этого виртуального роутера:
Например, можно посмотреть конфигурацию сети такой командой:
Также, можно делать прямую отладку сети neutron, используя namespaces.
Можно заходить в namespace и выходить из него:
Можно создать собственный namespace, добавить в него адрес.
Таким образом, получается аналог виртуального роутера openstack.
Пример организации сети с использованием одного сетевого интерфейса
Чтобы настроить сеть хоста с одним сетевым интерфейсом создадим следующую сетевую конфигурацию:
auto br-int
iface br-int inet static
bridge_ports none
bridge_fd 0
bridge_maxwait 0
address 10.0.10.1
netmask 255.255.255.0
up iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE
Получается, что такой конфигурацией достигается NAT из сети управления management
через публичную сеть provider
на одном сетевом интерфейсе.
Вместо none
может быть интерфейс, который смотрит в некоторый VLAN.
При этом одна из машин может выполнять роль роутера.
Порту eno1
назначаем адрес, он смотрит в сеть provider.
Добавить новый пул белых IP-адресов
Например, провайдер выделил нам новый блок:
В cisco на адресе 10.0.1.1 вписать:
Далее, необходимо создать подсеть (subnet) в сети provider следующей командой:openstack subnet create \
--network provider \
--project admin \
--project-domain default \
--subnet-range 92.255.88.32/28 \
--ip-version 4 \
--dns-nameserver 8.8.8.8 \
--description 'Подсеть интернет адресов провайдера Comfortel' \
provider2
Контроль сервисов neutron
Посмотреть состояние всех сервисов neutron можно так:
# openstack network agent list
+--------------------------------------+----------------------+------------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+----------------------+------------+-------------------+-------+-------+---------------------------+
| 05a99734-9800-4cba-b6b3-d9cc2c039f15 | Metadata agent | NTRN-0002 | None | True | UP | neutron-metadata-agent |
| 1de16299-7de5-434f-b04e-3ca17c550a48 | Open vSwitch agent | hu-ovt-02 | None | True | UP | neutron-openvswitch-agent |
| 218d7f9b-8599-47b0-a448-3021def02282 | L3 agent | NTRN-0001 | nova | True | UP | neutron-vpn-agent |
| 34d030bf-faff-4fe4-9be1-286f6c3a5f1e | Loadbalancerv2 agent | NTRN-0002 | None | True | UP | neutron-lbaasv2-agent |
| 3c5ecd8c-df77-4308-93b0-c8c2625c5e74 | Loadbalancerv2 agent | NTRN-0003 | None | True | UP | neutron-lbaasv2-agent |
| 6a4a62d4-aab3-4740-a2a4-ac4b7e4ad7c5 | DHCP agent | NTRN-0001 | nova | True | UP | neutron-dhcp-agent |
| 722dd47e-5cec-4ea7-97aa-a29b4c4cdf37 | Open vSwitch agent | hu-ovt-03 | None | True | UP | neutron-openvswitch-agent |
| 7d538e4f-cb0a-4ee3-8912-7fdc00b067e0 | Open vSwitch agent | dhost-0001 | None | False | UP | neutron-openvswitch-agent |
| 82663e1b-34e6-47db-8821-db60ef1f40a7 | Metadata agent | NTRN-0001 | None | True | UP | neutron-metadata-agent |
| 89dbb367-d610-4fd6-a81d-5b291675238a | L3 agent | NTRN-0003 | nova | True | UP | neutron-vpn-agent |
| 9ee928cc-707e-42e0-a6ea-7ce6bf76c389 | Metadata agent | NTRN-0003 | None | True | UP | neutron-metadata-agent |
| b7c0ea40-382d-4d1d-ac9d-dd884a9ac564 | DHCP agent | NTRN-0003 | nova | True | UP | neutron-dhcp-agent |
| bcda0aa1-083b-417d-a18d-ce292edd0e4b | Open vSwitch agent | hu-ovt-01 | None | True | UP | neutron-openvswitch-agent |
| be8f24ed-48ee-448b-8236-f15f0704fced | Open vSwitch agent | NTRN-0001 | None | True | UP | neutron-openvswitch-agent |
| c6668cd3-e731-479f-96f1-361c973912d1 | Loadbalancerv2 agent | NTRN-0001 | None | True | UP | neutron-lbaasv2-agent |
| d351e1fb-9c30-4a8f-8ce0-1c9f5427a3c8 | Open vSwitch agent | NTRN-0003 | None | True | UP | neutron-openvswitch-agent |
| d9d809cf-bc78-4889-b103-a5afe545e0ee | DHCP agent | NTRN-0002 | nova | True | UP | neutron-dhcp-agent |
| e1a2e72d-8cf3-418b-a303-868598d43630 | L3 agent | NTRN-0002 | nova | True | UP | neutron-vpn-agent |
| ff2b88ad-0c54-4cea-8ef7-a25b6c376278 | Open vSwitch agent | NTRN-0002 | None | True | UP | neutron-openvswitch-agent |
+--------------------------------------+----------------------+------------+-------------------+-------+-------+---------------------------+
VRRP протокол
Процесс организация высокой доступности сервиса сети на основе OpenvSwitch
с описан в официальной документации.
Используется протокол VRRP
, реализованный демоном keepalived
.
Ошибка multiple rows in manager table
В логе neutron появлется ошибка transaction causes multiple rows in manages table..
Что устранить ошибку надо повторно запустить команду neutron-db-manage
на контроллере от имени neutron.
Обновлено: 03.02.2024