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

Содержание

27.1. Архитектура
27.1.1. Варианты конфигурации кластера
27.1.2. Выборы
27.1.3. Узел-рефери в 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. Использование «‎‎магической» строки (необязательно)
27.3. Администрирование
27.3.1. Изменение состава кластера
27.3.2. Изменение конфигурационных параметров
27.3.3. Ручное переключение узлов
27.3.4. Роли
27.3.5. Восстановление узла из состояния NODE_ERROR
27.3.6. Мониторинг результатов синхронизации
27.3.7. Настройка синхронной и асинхронной репликации
27.3.8. Протоколирование
27.3.9. Функции-обработчики
27.3.10. Восстановление из резервной копии
27.3.11. Миграция
27.3.12. Удаление расширения biha
27.4. Справка
27.4.1. bihactl
27.4.2. biha

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

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

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

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

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

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

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

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

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

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