По умолчанию Edge устанавливает все узлы Postgres в основном режиме. Однако в производственных системах с несколькими узлами Postgres вы настраиваете их на использование репликации «основной-резервный», чтобы в случае сбоя основного узла резервный узел мог продолжать обслуживать трафик.
Если основной узел когда-либо выйдет из строя, вы можете повысить статус резервного сервера до основного. Дополнительную информацию см. в разделе «Обработка аварийного переключения базы данных PostgreSQL» .
Настройте первичную-резервную репликацию во время установки.
Вы можете настроить первичную-резервную репликацию во время установки, включив следующие свойства в файл конфигурации для двух узлов Postgres:
PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY PG_STANDBY=IP_OR_DNS_OF_NEW_STANDBY
Программа установки автоматически настраивает два узла Postgres для работы в качестве основного-резервного с репликацией.
Настройка первичной-резервной репликации после установки
После установки можно настроить репликацию «основной-резервный», выполнив следующую процедуру:
- Определите, какой узел Postgre будет основным, а какой — резервным сервером.
- На основном узле отредактируйте файл конфигурации, чтобы установить:
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
Убедитесь, что он говорит, что это режим ожидания.