Глава 27. Встроенная отказоустойчивость (BiHA)

Содержание

27.1. Архитектура
27.1.1. Конфигурация Postgres Pro
27.1.2. Варианты конфигурации кластера
27.1.3. Выборы
27.1.4. Узел-рефери в BiHA-кластере
27.1.5. Геораспределённость и катастрофоустойчивость
27.2. Подготовка BiHA-кластера
27.2.1. Предварительные требования и особенности
27.2.2. Настройка аутентификации пользователей
27.2.3. Подготовка BiHA-кластера с нуля
27.2.4. Подготовка BiHA-кластера из существующего кластера с потоковой репликацией
27.2.5. Подготовка BiHA-кластера из существующего сервера баз данных
27.2.6. Подготовка узла-рефери в BiHA-кластере
27.2.7. Подготовка BiHA-кластера с proxima
27.2.8. Подготовка геораспределённого и катастрофоустойчивого кластера BiHA (GDBiHA)
27.2.9. Настройка SSL для служебных подключений (необязательно)
27.2.10. Использование «‎‎магической» строки (необязательно)
27.3. Администрирование
27.3.1. Изменение состава кластера
27.3.2. Изменение конфигурационных параметров
27.3.3. Ручное переключение узлов
27.3.4. Управление SSL для служебных подключений
27.3.5. Роли
27.3.6. Использование сервисного режима
27.3.7. Автоматическая синхронизация кластера после аварийного переключения
27.3.8. Восстановление узла из состояния NODE_ERROR
27.3.9. Механизм защиты от зависания (watchdog)
27.3.10. Настройка репликации
27.3.11. Протоколирование
27.3.12. Функции-обработчики
27.3.13. Управление расширением proxima
27.3.14. Восстановление из резервной копии
27.3.15. Миграция
27.3.16. Выключение расширения biha
27.3.17. Удаление расширения biha
27.4. Справка по расширению biha
27.4.1. Параметры конфигурации
27.4.2. Функции
27.4.3. Представления
27.5. Справка по утилите bihactl

Встроенная отказоустойчивость (Built-in High Availability, BiHA) — это комплексное решение Postgres Pro Enterprise, которое управляется расширением biha и утилитой bihactl. В сочетании с доработками ядра, SQL-интерфейсом и служебным процессом biha-background-worker, координирующим узлы кластера, BiHA превращает кластер Postgres Pro в BiHA-кластер — кластер с физической репликацией и встроенным аварийным переключением узлов, отказоустойчивостью и автоматическим восстановлением после отказа узлов.

По сравнению с существующими кластерными решениями — стандартным кластером PostgreSQL конструкции ведущий-ведомый и кластером, настроенным при помощи multimaster, — BiHA-кластер отличается следующими преимуществами:

  • Физическая репликация.

  • Выделенный узел-лидер, доступный для чтения и записи, и узлы-последователи, доступные только для чтения.

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

  • Узел-рефери для предотвращения проблемы разделения кластера (split brain).

  • Переключение узлов вручную.

  • Автоматическая синхронизация.

  • Синхронная и асинхронная репликация узлов.

  • Каскадная репликация.

  • Геораспределённость и катастрофоустойчивость (экспериментальная функциональность).

  • Механизм защиты от зависания (watchdog).

  • Не требуется стороннее кластерное программное обеспечение.