Сеть Nova DHCP, не выпускающий IP с force_dhcp_release=True

Проблема, которую я вижу, состоит в том что, когда сетевые вызовы новинки dhcprelease после завершения экземпляра (из-за forcedhcp_release=True) адрес не всегда выпускается (системный журнал не показывают запрос DHCPRELEASE). Затем позже, если новинка присвоила новому экземпляру тот же IP-адрес, который не был выпущен, запрос DHCP проигнорирован, и ошибка в системном журнале покажет, что dnsmasq видел запрос и отказался, потому что IP-адрес был уже сдан в аренду другому MAC-адресу (тот, принадлежащий старому, завершенному, VM).

Некоторые детали о моей установке:

  • Выпуск Juno
  • наследие (новинка-) сеть
  • Ubuntu 14.04
  • DHCP обрабатывается DNSMASQ.

Когда хосты могут получить свой IP-адрес от сервера DHCP, все, кажется, работает превосходное. Кажется, как будто ошибка состоит только в том, когда IP не удается быть выпущенным и блоки последующее использование его для будущего VM's.

Я проверил на любые ошибки в своей новинке -* журналы, и не смотрите никого. Единственные ошибки находятся в моем системном журнале, когда dnsmasq отказывается арендовать IP-адрес из-за конфликтующих MAC-адресов.

Любая информация или предложения очень ценились бы.

0
задан 18 April 2018 в 22:08
1 ответ

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

1. Область проблемы: Проблема заключается в dnsmasq, а не в OpenStack. Я заметил, что OpenStack каждый раз выполняет функцию «dhcprelease» после завершения экземпляра, но dnsmasq отвечает только на несколько запросов dhcprelease.

2. Обходной путь: Время аренды по умолчанию для любого LP составляет 24 часа (86400 секунд), что означает, что каждый экземпляр должен продлевать аренду через каждые 24 часа. Если экземпляр не продлит аренду IP-адреса, то dnsmasq сочтет эту аренду недействительной и освободит IP, полученный в результате этой аренды.
Я сократил срок аренды до 3 минут (180 секунд). Таким образом, любая аренда не сможет удерживать IP более 3 минут после завершения работы экземпляра.

Шаги по сокращению времени аренды до 3 минут:

Выполните следующие действия на всех вычислительных узлах один за другим.

  1. Открыть файл /etc/nova/nova.conf

vi /etc/nova/nova.conf

  1. В разделе [DEFAULT] настройте dhcp_lease_time.
    Это в секундах.

[ПО УМОЛЧАНИЮ]
...
dhcp_lease_time = 180

  1. Сохранить и закрыть файл.

  2. Завершить процесс dnsmasq для каждого моста на сервере. (ИЛИ вы можете выполнить killall также, если dnsmasq не используется для каких-либо других целей)

kill (ИЛИ killall dnsmasq)

  1. Перезапустить службы.

перезапустить nova-api-metadata
перезапустить nova-compute
restart nova-network

0
ответ дан 24 November 2019 в 08:00

Теги

Похожие вопросы