Gestione del failover di un database PostgreSQL

Edge per il cloud privato v. 4.16.05

Durante un failover del database PostgreSQL, esegui le seguenti operazioni:

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

Se in futuro verrà ripristinato il master precedente, impostalo come nodo in 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
  5. Nel vecchio master, 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 vecchio master 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 inviando i seguenti script su entrambi i server. Il sistema dovrebbe mostrare 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 il master.
    2. Sul nodo standby:
      > /<inst_root>/apigee/apigee-service/bin/Apigee-service-apigee-postgresql postgres-check-standby

      Verifica che sia in standby.