Konfigurowanie replikacji mastera w trybie Postgres

Domyślnie Edge instaluje wszystkie węzły Postgresa w trybie głównym. W systemach produkcyjnych z wieloma węzłami Postgres konfigurujesz je jednak tak, aby używały replikacji głównej i zapasowej. Dzięki temu, jeśli węzeł główny ulegnie awarii, węzeł zapasowy będzie nadal obsługiwać ruch.

Jeśli w węźle nadrzędnym kiedykolwiek wystąpi błąd, możesz awansować serwer gotowości na węzeł nadrzędny. Więcej informacji znajdziesz w artykule Zarządzanie przełączaniem awaryjnym bazy danych PostgreSQL.

Konfigurowanie replikacji głównej i rezerwowej w momencie instalacji

Replikację typu master-standby możesz skonfigurować w momencie instalacji, dodając w pliku konfiguracyjnym dla obu węzłów Postgresa te właściwości:

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

Instalator automatycznie konfiguruje 2 węzły Postgres do działania w trybie gotowości mastera z replikacją.

Konfigurowanie replikacji głównej-zapasowej po instalacji

Po instalacji możesz skonfigurować replikację typu master-standby, wykonując te czynności:

  1. Określ, który węzeł Postgres będzie serwerem głównym, a który będzie serwerem zapasowym.
  2. Na węźle głównym otwórz plik konfiguracji i ustaw:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  3. Włącz replikację na nowym masterze:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  4. W węźle gotowości zmodyfikuj plik konfiguracyjny, aby ustawić:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  5. Zatrzymanie węzła rezerwowego:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. Na węźle zapasowym usuń wszystkie istniejące dane Postgres:
    rm -rf /opt/apigee/data/apigee-postgresql/
  7. Skonfiguruj węzeł zapasowy:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile

Test replikacji głównej i zapasowej

Po zakończeniu replikacji sprawdź stan replikacji, wykonując te skrypty na obu serwerach. Aby replikacja przebiegła pomyślnie, system powinien wyświetlać identyczne wyniki na obu serwerach:

  1. W węźle nadrzędnym uruchom polecenie:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Sprawdź, czy jest to wersja główna.

  2. Na węźle zapasowym:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Upewnij się, że jest wyświetlany w trybie gotowości.