Gestione del failover di un database PostgreSQL

Edge for Private Cloud v. 4.16.09

Durante un failover del database PostgreSQL, esegui queste operazioni:

  1. Arresta apigee-postgresql sul master attuale se è ancora in esecuzione:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  2. Vai al nodo in standby e richiama il seguente comando per impostarlo come master:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master IPorDNSofOldMaster

Se il vecchio master viene ripristinato in un secondo momento, impostalo come nodo di standby:

  1. Sul master attuale, modifica il file di configurazione per impostare:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  2. Abilita la replica sul nuovo master:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  3. Sul vecchio master, modifica il file di configurazione per impostare:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  4. Arresta apigee-postgresql sul vecchio master:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. Sul master precedente, elimina tutti i dati Postgres precedenti:
    > rm -rf /<inst_root>/apigee/data/apigee-postgresql/

    Nota: se necessario, puoi eseguire il backup di questi dati prima di eliminarli.
  6. Configura il master precedente come standby:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. Al termine della replica, verifica lo stato della replica eseguendo i seguenti script su entrambi i server. Il sistema dovrebbe visualizzare risultati identici su entrambi i server per garantire una replica riuscita:
    1. Sul nodo master, esegui:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      Verifica che sia indicato che si tratta del master.
    2. Sul nodo in standby:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

      Verifica che sia indicato che è in standby.