Как настроить репликацию "основной-резервный" для Postgres

Edge for Private Cloud v4.19.01

По умолчанию Edge устанавливает все узлы Postgres в основном режиме. Однако в производственных системах с несколькими узлами Postgres их следует настроить на использование репликации "основной-резервный", чтобы в случае сбоя основного узла резервный узел мог продолжить обработку трафика.

Если основной узел выйдет из строя, вы сможете сделать резервный сервер основным. Подробнее о том, как обрабатывать переход на резервную базу данных PostgreSQL…

Настройка репликации "основной – резервный" во время установки

Вы можете настроить репликацию "основной-резервный" во время установки, добавив следующие свойства в файл конфигурации для двух узлов Postgres:

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

Установщик автоматически настраивает два узла Postgres для работы в режиме "основной-резервный" с репликацией.

Настройка репликации Master-Standby после установки

Вы можете настроить репликацию "основной – резервный" после установки, выполнив следующие действия:

  1. Определите, какой узел Postgres будет основным, а какой – резервным.
  2. На главном узле измените файл конфигурации, чтобы задать следующие параметры:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  3. Включите репликацию на новом основном сервере:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  4. На резервном узле измените файл конфигурации, чтобы задать следующие параметры:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  5. Остановите резервный узел:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. На резервном узле удалите все существующие данные Postgres:
    rm -rf /opt/apigee/data/apigee-postgresql/
  7. Настройте резервный узел:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile

Как протестировать репликацию основного и резервного серверов

После завершения репликации проверьте ее статус, выполнив на обоих серверах следующие скрипты: Система должна показывать одинаковые результаты на обоих серверах, чтобы репликация прошла успешно:

  1. На главном узле выполните следующую команду:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Убедитесь, что он указан как основной.

  2. На резервном узле:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Убедитесь, что он находится в режиме ожидания.