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

Содержание

27.1. Архитектура
27.1.1. Конфигурация Postgres Pro
27.1.2. Варианты конфигурации кластера
27.1.3. Выборы
27.1.4. Узел-рефери в BiHA-кластере
27.2. Подготовка BiHA-кластера
27.2.1. Предварительные требования и особенности
27.2.2. Подготовка BiHA-кластера с нуля
27.2.3. Преобразование существующего кластера с потоковой репликацией в BiHA-кластер
27.2.4. Подготовка BiHA-кластера из существующего сервера баз данных
27.2.5. Подготовка узла-рефери в BiHA-кластере
27.2.6. Настройка SSL (необязательно)
27.2.7. Использование «‎‎магической» строки (необязательно)
27.3. Администрирование
27.3.1. Изменение состава кластера
27.3.2. Изменение конфигурационных параметров
27.3.3. Ручное переключение узлов
27.3.4. Управление SSL
27.3.5. Роли
27.3.6. Восстановление узла из состояния NODE_ERROR
27.3.7. Мониторинг результатов синхронизации
27.3.8. Настройка кворумной синхронной и асинхронной репликации
27.3.9. Протоколирование
27.3.10. Функции-обработчики
27.3.11. Восстановление из резервной копии
27.3.12. Миграция
27.3.13. Удаление расширения 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).

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

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

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

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