Obsługa przełączania awaryjnego bazy danych PostgreSQL

Edge for Private Cloud, wer. 4.16.09

Podczas przełączania awaryjnego bazy danych PostgreSQL wykonaj te czynności:

  1. Zatrzymaj apigee-postgresql w bieżącym masterze, jeśli nadal jest uruchomiony:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  2. Przejdź do węzła gotowości i wywołaj to polecenie, aby ustawić je jako główne:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql promotion-standby-to-master IPorDNSofOldMaster

Jeśli kiedyś da się przywrócić stary element, musi on być węzłem gotowości:

  1. W bieżącym pliku głównym zmień plik konfiguracyjny, aby ustawić:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  2. Włącz replikację w nowym masterze:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  3. W starym pliku konfiguracji zmień plik konfiguracji, aby go ustawić:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  4. Zatrzymaj apigee-postgresql w starym kodzie głównym:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. W starym pliku mastera usuń wszystkie stare dane Postgres:
    > rm -rf /<inst_root>/apigee/data/apigee-postgresql/

    Uwaga: w razie potrzeby możesz utworzyć kopię zapasową tych danych, zanim je usuniesz.
  6. Skonfiguruj starego mastera w trybie gotowości:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. Po zakończeniu replikacji sprawdź stan replikacji, wydając następujące skrypty na obu serwerach. System powinien wyświetlać identyczne wyniki na obu serwerach, aby zapewnić udaną replikację:
    1. W węźle nadrzędnym uruchom polecenie:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      Sprawdź, czy jest to wzorzec.
    2. W węźle gotowości:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

      Sprawdź, czy mówi o trybie gotowości.