Глава 27. Встроенная отказоустойчивость (BiHA)
Содержание
- 27.1. Архитектура
- 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.2.2. Настройка аутентификации пользователей
- 27.2.1. Предварительные требования и особенности
- 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. Механизм защиты от зависания
- 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.3.2. Изменение конфигурационных параметров
- 27.3.1. Изменение состава кластера
- 27.4. Справка по расширению biha
- 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).
Переключение узлов вручную.
Автоматическая синхронизация.
Синхронная и асинхронная репликация узлов.
Каскадная репликация.
Многоуровневая геораспределённость и катастрофоустойчивость.
Механизм защиты от зависания.
Не требуется стороннее кластерное программное обеспечение.
Chapter 27. Built-in High Availability (BiHA)
Table of Contents
- 27.1. Architecture
- 27.2. Setting Up a BiHA Cluster
- 27.2.1. Prerequisites and Considerations
- 27.2.2. User Authentication Configuration
- 27.2.3. Setting Up a BiHA Cluster from Scratch
- 27.2.4. Setting Up a BiHA Cluster from the Existing Cluster with Streaming Replication
- 27.2.5. Setting Up a BiHA Cluster from the Existing Instance
- 27.2.6. Setting Up the Referee Node in the BiHA Cluster
- 27.2.7. Setting Up a BiHA Cluster with proxima
- 27.2.8. Setting Up a Multi-Level Geo-Distributed and Disaster-Resilient BiHA Cluster
- 27.2.9. Configuring SSL for Service Connections (Optional)
- 27.2.10. Using the Magic String (Optional)
- 27.2.2. User Authentication Configuration
- 27.2.1. Prerequisites and Considerations
- 27.3. Administration
- 27.3.1. Changing Cluster Composition
- 27.3.2. Changing Configuration Parameters
- 27.3.3. Manual Switchover
- 27.3.4. Managing SSL for Service Connections
- 27.3.5. Roles
- 27.3.6. Using the Service Mode
- 27.3.7. Automatic Cluster Synchronization after Failover
- 27.3.8. Restoring the Node from the
NODE_ERRORState- 27.3.9. Hanging Prevention Mechanism
- 27.3.10. Replication Configuration
- 27.3.11. Logging
- 27.3.12. Callbacks
- 27.3.13. Managing proxima
- 27.3.14. Recovering from a Backup
- 27.3.15. Upgrade and Migration
- 27.3.16. Disabling biha
- 27.3.17. Removing biha
- 27.3.2. Changing Configuration Parameters
- 27.3.1. Changing Cluster Composition
- 27.4. Reference for the biha Extension
- 27.5. Reference for the bihactl Utility
Built-in High Availability (BiHA) is a complex Postgres Pro Enterprise solution managed by the biha extension and the bihactl utility. Together with a set of core patches, SQL interface, and the biha-background-worker process, which coordinates the cluster nodes, BiHA turns a Postgres Pro cluster into a BiHA cluster — a cluster with physical replication and built-in failover, high availability, and automatic node failure recovery.
As compared to existing cluster solutions, i.e. a standard PostgreSQL primary-standby cluster and a cluster configured with multimaster, the BiHA cluster offers the following benefits:
Physical replication.
Dedicated leader node available for read and write transactions and read-only follower nodes.
Built-in failover including capabilities of automatic node failure detection, response, and subsequent cluster reconfiguration by means of elections.
Referee node to avoid split-brain issues.
Manual switchover.
Autorewind capabilities.
Synchronous and asynchronous node replication.
Cascading replication.
Multi-level geographical distribution and disaster resilience.
Hanging prevention mechanism.
No additional external cluster software required.