По умолчанию Edge устанавливает все узлы Postgres в основном режиме. Однако в производственных системах с несколькими узлами Postgres вы настраиваете их на использование репликации первичного резерва, чтобы в случае сбоя первичного узла резервный узел мог продолжать обслуживать трафик.
Если основной узел выйдет из строя, вы сможете сделать основным резервный сервер. Подробнее о том, как обрабатывать отработку отказа базы данных PostgreSQL…
Как настроить репликацию между основным и резервным серверами при установке
Вы можете настроить репликацию между основным и резервным узлами во время установки, включив следующие свойства в файл конфигурации для двух узлов Postgres:
PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY PG_STANDBY=IP_OR_DNS_OF_NEW_STANDBY
Установщик автоматически настраивает два узла Postgres для работы в качестве основного и резервного с репликацией.
Настройте репликацию между основным и резервным серверами после установки
Вы можете настроить репликацию между основным и резервным серверами после установки, выполнив следующие действия:
- Определите, какой узел PostgreSQL будет основным, а какой – резервным сервером.
- На основном узле измените файл конфигурации, чтобы задать следующие параметры:
PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY PG_STANDBY=IPorDNSofNewStandby
- Включите репликацию на новом основном сервере:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- На резервном узле измените файл конфигурации, чтобы задать:
PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY PG_STANDBY=IPorDNSofNewStandby
- Остановите резервный узел:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- На резервном узле удалите все существующие данные Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/
- Настройте резервный узел:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
Тестирование репликации между основной и резервной базами данных
После завершения репликации проверьте ее статус, выполнив следующие скрипты на обоих серверах. Если репликация прошла успешно, на обоих серверах должны отображаться одинаковые результаты:
- На основном узле выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Убедитесь, что он указан как основной.
- На резервном узле:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Убедитесь, что он указан как резервный.