Konfigurowanie replikacji podstawowej trybu gotowości dla Postgres

Domyślnie Edge instaluje wszystkie węzły Postgres w trybie podstawowym. Jednak w systemach produkcyjnych z wieloma węzłami Postgres konfiguruje się je tak, aby korzystały z replikacji podstawowej i rezerwowej, dzięki czemu w przypadku awarii węzła podstawowego węzeł rezerwowy może nadal obsługiwać ruch.

Jeśli węzeł główny ulegnie awarii, możesz awansować serwer rezerwowy na główny. Więcej informacji znajdziesz w artykule Obsługa przełączania awaryjnego bazy danych PostgreSQL.

Konfigurowanie replikacji podstawowej i gotowości podczas instalacji

Replikację podstawową i rezerwową możesz skonfigurować podczas instalacji, dodając te właściwości w pliku konfiguracji dla 2 węzłów Postgres:

PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
PG_STANDBY=IP_OR_DNS_OF_NEW_STANDBY

Instalator automatycznie konfiguruje 2 węzły Postgres, aby działały jako podstawowy i rezerwowy z replikacją.

Konfigurowanie replikacji podstawowej i gotowości po instalacji

Po instalacji możesz skonfigurować replikację podstawową i rezerwową, wykonując te czynności:

  1. Określ, który węzeł PostgreSQL będzie serwerem głównym, a który serwerem rezerwowym.
  2. W węźle głównym zmodyfikuj plik konfiguracji, aby ustawić:
    PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
    PG_STANDBY=IPorDNSofNewStandby
  3. Włącz replikację na nowej instancji podstawowej:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  4. Na węźle rezerwowym zmodyfikuj plik konfiguracji, aby ustawić:
    PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
    PG_STANDBY=IPorDNSofNewStandby
  5. Zatrzymaj węzeł rezerwowy:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. Na węźle rezerwowym usuń wszystkie istniejące dane Postgres:
    rm -rf /opt/apigee/data/apigee-postgresql/
  7. Skonfiguruj węzeł gotowości:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile

Testowanie replikacji podstawowej i zapasowej

Po zakończeniu replikacji sprawdź jej stan, uruchamiając te skrypty na obu serwerach. System powinien wyświetlić identyczne wyniki na obu serwerach, co oznacza, że replikacja się powiodła:

  1. Na węźle głównym uruchom:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Sprawdź, czy jest oznaczona jako podstawowa.

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

    Sprawdź, czy jest oznaczony jako zapasowy.