Настройка мастер-резервной репликации для Postgres

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

Если главный узел когда-либо выйдет из строя, вы можете повысить статус резервного сервера до главного. Дополнительную информацию см. в разделе «Обработка аварийного переключения базы данных PostgreSQL» .

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

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

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

Программа установки автоматически настраивает два узла Postgres для работы в режиме «главный-резервный» с репликацией.

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

Репликацию главный-резервный можно настроить после установки, выполнив следующую процедуру:

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

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

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

  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

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