Menangani Failover Database PostgreSQL

Edge untuk Private Cloud v. 4.16.09

Lakukan hal berikut selama failover database PostgreSQL:

  1. Hentikan apigee-postgresql di master saat ini jika masih berjalan:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  2. Buka node standby, lalu panggil perintah berikut untuk menjadikannya sebagai master:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master IPorDNSofOldMaster

Jika master lama suatu saat dipulihkan, jadikan node tersebut sebagai standby:

  1. Pada master saat ini, edit file konfigurasi untuk menetapkan:
    PG_MASTER=IPorDNSofNewMaster
    PG_standBY=IPorDNSofOldMaster
  2. Aktifkan replikasi pada master baru:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  3. Di master lama, edit file konfigurasi untuk menetapkan:
    PG_MASTER=IPorDNSofNewMaster
    PG_standBY=IPorDNSofOldMaster
  4. Hentikan apigee-postgresql di master lama:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. Di master lama, hapus data Postgres lama:
    > rm -rf /<inst_root>/apigee/data/apigee-postgresql/

    Catatan: Jika perlu, Anda dapat mencadangkan data ini sebelum menghapusnya.
  6. Konfigurasikan master lama sebagai standby:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. Setelah replikasi selesai, verifikasi status replikasi dengan menerbitkan skrip berikut di kedua server. Sistem akan menampilkan hasil yang identik di kedua server guna memastikan replikasi yang berhasil:
    1. Pada node master, jalankan:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      Validasi bahwa node tersebut merupakan master.
    2. Di node standby:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

      Validasi bahwa node tersebut merupakan standby.