Сервер ISC DHCP не освобождает резервные аренды в состоянии отказа партнёра.

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

У меня есть настройка DHCP HA на двух устройствах-шлюзах. У меня также есть скрипт, который симулирует клиентов, запрашивающих IP-адреса от этих серверов. Я хочу протестировать поведение этих шлюзов в состоянии partner-down, то есть когда один из серверов не работает, я вручную устанавливаю ‘my state’ как partner-down в файле аренды dhcpd на другом сервере.

Согласно логике ISC DHCP, когда устройство находится в состоянии partner-down, оно должно иметь возможность использовать все резервные аренды и распределять их, если клиенты запрашивают IP-адреса.
Однако единственный узел не может использовать резервные аренды, и только назначает свободные аренды клиентам, которые приходят. Это приводит к тому, что резервные аренды вообще не используются.
Я проверил, что ‘partner-down’ корректно установлен в файле аренды, и также убедился, что другой узел действительно не работает и не может назначать аренды.

Кто-нибудь сталкивался с этой ошибкой раньше? Это из-за ошибки логики кода в коде isc-dhcp или это может быть что-то другое?

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

Чтобы понять проблему с сервером ISC DHCP, который не освобождает резервные арендные записи в состоянии partner-down, необходимо глубже изучить модель работы DHCP с высокой доступностью (High Availability) и механизм резервного копирования арендных записей.

Теория (Theory)

Серверы ISC DHCP обычно настраивают в кластер, чтобы обеспечить высокую доступность и отказоустойчивость. В такой конфигурации оба сервера работают совместно, обеспечивая распределение адресов IP между клиентами и поддерживая резервные копии арендных записей друг у друга. В состоянии нормальной работы, когда оба сервера активны, они находятся в так называемом состоянии "нормальной работы" или "normal state", и распределяют адреса IP в соответствии с заданной политикой.

Когда один из серверов отключается, кластер должен перейти в состояние "переноса роли" или "failover". В рамках ISC DHCP этот процесс контролируется предопределенными состояниями, одним из которых является состояние partner-down. Когда сервер переходит в состояние partner-down, он принимает на себя роль единственного активного сервера в кластере и должен уметь использовать все доступные арендные записи, включая резервные.

Пример (Example)

Вы описали сценарий, в котором вы вручную переводите сервер в состояние partner-down, и несмотря на это, наблюдаете за тем, что арендные записи, отмеченные как резервные, остаются неиспользованными. Основная функция состояния partner-down заключается в том, чтобы сервер мог использовать как свои активные, так и резервные арендные записи, поставляя IP-адреса клиентам.

Как конкретный пример, предположим, что на сервере A имеются следующие арендные записи:

  • Свободные арендные записи: 192.168.1.10, 192.168.1.11, 192.168.1.12
  • Резервные арендные записи (находящиеся на сервере B): 192.168.1.13, 192.168.1.14

Когда сервер В перестает отвечать, сервер А переходит в состояние partner-down и должен иметь возможность выдать IP-адреса из диапазона 192.168.1.13-192.168.1.14. Однако в вашей ситуации это поведение не наблюдается, указывая на наличие определенных проблем.

Применение (Application)

Рассмотрим возможные причины и способы решения данной ситуации:

  1. Неверная конфигурация или ошибки в файле конфигурации:

    • Проверьте корректность конфигурации файлов dhcpd.conf для обоих серверов. Ошибки в настройках могут привести к некорректному функционированию сервера в режиме partner-down.
    • Убедитесь, что секции для failover конфигурации содержат правильные параметры, такие как "peer", "failover peer", "mclt" (Maximum Client Lead Time), и другие.
  2. Проблемы логики программы:

    • Версии ISC DHCP могут содержать неисправности, влияющие на корректное изменение состояний арендных записей в режиме высокой доступности. Проверьте, что вы используете последнюю стабильную версию ПО, и, при необходимости, изучите changelog для подтверждения наличия исправлений известных ошибок.
  3. Логи программы:

    • Анализируйте логи DHCP сервера. Лог файлы предоставляют ценную информацию о всех операциях сервера и причин отказа от использования резервных арендных записей. Особое внимание обратите на сообщения, появляющиеся при изменении состояния сервера на partner-down.
  4. Корректировка ручных изменений:

    • Проверьте правильность ручного изменения состояния на partner-down в файле арендных записей. Любая ошибка в этом процессе может привести к неправильной интерпретации состояния сервером.
  5. Социальные ресурсы и сообщества:

    • Публикуйте проблему на форумах и в сообществах, связанных с ISC DHCP. Возможна встреча пользователей, которые сталкивались с подобными проблемами, и они могут предложить ценные советы или объекты.

Таким образом, эффективно решая описанную проблему, можно гарантировать, что даже в ситуации отказа одного из серверов, ваш DHCP сервер сможет предоставлять надежные и бесперебойные услуги, используя все доступные ресурсы.

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

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