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

Edge for Private Cloud версии 4.17.01

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

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

Как настроить репликацию Master-Standby во время установки

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

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

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

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

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

  1. Определите, какой узел PostgreSQL будет основным, а какой – резервным сервером.
  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
    Убедитесь, что узел указан как резервный.