Как автоматизировать репликацию и отказоустойчивость PostgreSQL 12 с помощью repmgr - часть 2

В первой части мы создали трехузловой кластер PostgreSQL 12 вместе с узлом-свидетелем. Кластер состоит из primary и двух standby узлов. Кластер и свидетель (PG-Node-Witness) размещены на KVM. Серверы, на которых размещены инстансы Postgres, размещены в одной сети:



Также был установлен repmgr на primary и standby узлах и зарегистрирован primary узел. После этого мы клонировали оба standby узла из primary и запустили их. Оба standby узла также были зарегистрированы в repmgr. Команда "repmgr cluster show" показала нам, что все работает как и ожидалось:


Настроить потоковую репликацию с помощью repmgr очень просто. Далее нам нужно убедиться, что кластер будет функционировать даже тогда, когда основной станет недоступным. Это то, что мы и сделаем.
SQL

Как автоматизировать репликацию и отказоустойчивость PostgreSQL 12 с помощью repmgr - часть 1

repmgr - это набор инструментов с открытым исходным кодом от 2ndQuadrant, ведущего специалиста в технологиях и сервисах, связанных с PostgreSQL. Продукт используется для автоматизации, улучшения и управления потоковой репликацией PostgreSQL.
Потоковая репликация в PostgreSQL существует с версии 9.0. Нативная настройка и управление потоковой репликацией включает в себя ряд ручных шагов, которые включают в себя:
  • Настройка репликации как на основном, так и на каждом резервном узле;
  • Резервное копирование данных основного узла с помощью pg_basebackup с каждого резервного узла и его восстановление;
  • Перезапуск резервного узла(ов).
С оперативной стороны несколько задач включают в себя:
  • Проверка состояния репликации с помощью операторов SQL;
  • Содействие резервному узлу, когда необходимо переключение или когда основной недоступен;
  • Отключение или остановка основного узела;
  • Пересоздание репликации с нового read/write узла на существующие или новые резервные узлы.
С помощью repmgr большинство этих задач можно автоматизировать, экономя время.



В этой серии из двух частей мы увидим, как repmgr и его демон repmgrd могут автоматизировать высокую доступность и отказоустойчивость кластера PostgreSQL 12 с тремя узлами.
SQL