Обзор работы#

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

Развертывание#

Развертывание пары высокой доступности включает в себя несколько этапов:

  1. Предварительная подготовка (см. Предварительные действия).

  2. Создание пары высокой доступности (см. Создание пары высокой доступности в режиме Active / Standby).

  3. Настройка механизмов, обеспечивающих отказоустойчивость (VRRP, OSPF, BGP), на узлах пары (см. Настройка высокой доступности в паре).

Режим Active / Standby#

В первом релизе функциональности доступно создание пары высокой доступности в режиме Active / Standby. В дальнейшем будут добавлены другие режимы.

В режиме Active / Standby один узел пары является основным, а второй — резервным. Конфигурации обоих узлов синхронизированы. Основной узел принимает подключения и управляет серверами, а резервный узел отслеживает состояние основного узла и берет на себя его роль в случае сбоя. Сбой определяется как невозможность установить связь ни с одним из интерфейсов основного узла.

При перезагрузке первого узла после сбоя возможны следующие варианты:

  • Стандартный сценарий: второй узел берет на себя роль Active, первый узел после перезагрузки переходит в Standby.

  • При отсутствии связи со вторым узлом после перезагрузки первый узел снова берет на себя роль Active.

  • Если оба узла пары перезагрузились одновременно, роль Active возьмет на себя тот узел, с которого создавалась пара.

  • Если пара была удалена или второй узел теперь входит в другую пару, перезагрузившийся первый узел перейдет в состояние Standby.

Статус пары высокой доступности#

У пары высокой доступности могут быть следующие статусы:

  • starting – пара запускается. Статус отображается сразу после создания пары в процессе ее конфигурации и синхронизации.

  • on – статус отображается при нормальной работе пары. Высокая доступность обеспечивается.

  • failed – статус отображается после запуска пары при возникновении ошибок. Синхронизация и обмен данными между узлами в паре невозможны. Высокая доступность не обеспечивается.

Проверки доступности узлов пары#

Резервный узел отслеживает состояние основного узла, периодически отправляя запросы (UDP-пакеты) на все активные интерфейсы основного узла. По умолчанию запросы отправляются с периодичностью в 250 мс, а таймаут ожидания ответа – 3 секунды. Эти значения можно настраивать. Если с момента получения последнего успешного ответа прошло больше времени, чем указано в таймауте ожидания, интерфейс будет считаться недоступным.

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

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

Запросы отправляются через UDP-порт 7007.

Синхронизация#

При синхронизации основной узел передает свою конфигурацию на резервный узел. На резервном узле перезаписываются следующие файлы и папки:

  • конфигурация балансировщика нагрузки;

  • сертификаты и ключи балансировщика нагрузки;

  • конфигурация маршрутизации (VRRP, BGP, OSPF);

  • конфигурация GSLB;

  • все файлы в папках /etc/angie/crt и /etc/angie-lb/crt;

  • все файлы в папке /var/transfer.

Остальные файлы резервного узла удаляться не будут, если они находятся вне указанных папок (например файл лицензии).

Конфигурации узлов автоматически синхронизируются при создании пары. Начиная с версии 0.5.0 вы также можете запустить синхронизацию узлов пары вручную после создания пары.