Выполните следующие действия во время отработки отказа базы данных PostgreSQL:
- Остановить
apigee-postgresql
на текущем мастере, если он все еще работает:/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Перейдите к резервному узлу и вызовите следующую команду, чтобы сделать его ведущим:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master IPorDNSofOldMaster
Если старый мастер будет восстановлен когда-нибудь в будущем, сделайте его резервным узлом:
- На текущем мастере отредактируйте файл конфигурации, чтобы установить:
PG_MASTER=IPorDNSofNewMaster PG_STANDBY=IPorDNSofOldMaster
- Включить репликацию на новом мастере:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
- На старом мастере отредактируйте файл конфигурации, чтобы установить:
PG_MASTER=IPorDNSofNewMaster PG_STANDBY=IPorDNSofOldMaster
- Остановить
apigee-postgresql
на старом мастере:/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
Убедитесь, что он говорит, что это резервный.
- На главном узле запустите: