Mengonfigurasi ketersediaan tinggi

Tujuan konfigurasi ketersediaan tinggi adalah untuk mengurangi periode nonaktif saat instance cluster database menjadi tidak tersedia. Hal ini dapat terjadi saat instance kehabisan memori. Dengan ketersediaan tinggi, data Anda akan tetap tersedia untuk aplikasi klien.

Dalam situs, konfigurasi terdiri dari instance utama dan replika standby. Semua penulisan yang dilakukan ke instance utama direplikasi ke replika standby sebelum transaksi dilaporkan sudah di-commit. Jika terjadi kegagalan instance, Anda dapat meminta agar replika standby menjadi instance utama baru. Traffic aplikasi kemudian dialihkan ke instance utama yang baru. Proses ini disebut failover.

Anda dapat memicu failover secara manual kapan saja. Failover melibatkan proses berikut, secara berurutan:

  1. GDC membuat instance utama menjadi offline.

  2. GDC mengubah replika standby menjadi cluster database aktif baru.

  3. GDC menghapus cluster database aktif sebelumnya.

  4. GDC membuat replika standby baru.

Mengupdate cluster yang ada

Anda dapat memperbarui setelan ketersediaan tinggi untuk cluster database yang ada:

Konsol

  1. Di menu navigasi, pilih Database Service.

  2. Dari daftar cluster database, klik cluster database yang akan diperbarui.

  3. Pilih edit Edit di bagian Ketersediaan tinggi.

    Edit setelan ketersediaan tinggi cluster database.

  4. Pilih Aktifkan standby zona yang sama untuk mengaktifkan atau menonaktifkan ketersediaan instance standby di zona yang sama dengan cluster database utama Anda.

  5. Klik Simpan.

  6. Verifikasi bahwa cluster database Anda mencerminkan update ketersediaan tinggi dengan melihat statusnya di kolom Ketersediaan tinggi pada daftar cluster database.

gdcloud

  1. Perbarui konfigurasi ketersediaan tinggi cluster database Anda:

    gdcloud database clusters update CLUSTER_NAME \
        --availability-type HA_TYPE
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster database.
    • HA_TYPE: tingkat ketersediaan tinggi untuk cluster database. Anda dapat menyetel zonal atau zonal_ha. Nilai zonal ditetapkan secara default.
  2. Verifikasi bahwa cluster database Anda mencerminkan update ketersediaan tinggi Anda:

    gdcloud database clusters list
    

API

  1. Perbarui konfigurasi ketersediaan tinggi cluster database Anda:

      kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME \
        -n USER_PROJECT \
        -p '{"spec": {"availability": {"enableHighAvailability": HA_ENABLED}}}' \
        --type=merge
    

    Ganti variabel berikut:

    • DBCLUSTER_NAME: nama cluster database.
    • USER_PROJECT: nama project pengguna tempat cluster database dibuat.
    • HA_ENABLED: tingkat ketersediaan tinggi untuk cluster database. Anda dapat menyetel true atau false. Nilai false ditetapkan secara default.
  2. Verifikasi bahwa cluster database Anda mencerminkan update ketersediaan tinggi Anda:

    kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \
      -n USER_PROJECT \
      -o yaml
    

Bermigrasi ke implementasi ketersediaan tinggi terbaru

Untuk memverifikasi bahwa cluster database ketersediaan tinggi Anda menggunakan penerapan terbaru, periksa apakah anotasi dbcluster.dbadmin.goog/raasEnabled ada di CR cluster database ketersediaan tinggi Anda. Anotasi ini hanya akan muncul di cluster yang menggunakan implementasi baru. Jika tidak memiliki anotasi ini, Anda dapat mengaktifkannya dan memigrasikan cluster dengan langkah-langkah berikut:

  1. Hubungi Operator Infrastruktur Anda untuk memastikan lingkungan GDC Anda diupgrade ke versi 1.15.1 atau yang lebih baru.
  2. Nonaktifkan ketersediaan tinggi pada cluster database Anda. Tunggu hingga kondisi HAReady hilang, lalu aktifkan kembali ketersediaan tinggi.
  3. Setelah Anda melihat HAReady in progress atau HAReady setup complete, periksa CR cluster database Anda untuk anotasi dbcluster.dbadmin.goog/raasEnabled. Jika muncul, berarti cluster database Anda telah berhasil dimigrasikan.

Memicu failover

Jika telah mengonfigurasi ketersediaan tinggi untuk cluster database, Anda dapat memicu failover. Untuk memicu failover, selesaikan langkah-langkah berikut:

Konsol

  1. Di menu navigasi, pilih Database Service.

  2. Dari daftar cluster database, klik cluster database yang akan dipicu failover-nya. Cluster database Anda harus mengaktifkan ketersediaan tinggi agar memenuhi syarat untuk failover.

  3. Klik Failover.

  4. Ketik ID cluster untuk frasa konfirmasi, lalu klik Failover untuk memicu proses failover.

gdcloud

  • Memicu failover untuk cluster database:

    gdcloud database clusters failover CLUSTER_NAME
    

    Ganti CLUSTER_NAME dengan nama cluster database.

API

  apiVersion: fleet.dbadmin.gdc.goog/v1
  kind: Failover
  metadata:
    name: FAILOVER_NAME
  spec:
    dbclusterRef: DBCLUSTER_NAME

Ganti variabel berikut:

  • DBCLUSTER_NAME, nama cluster database.
  • FAILOVER_NAME, nama unik failover, misalnya failover-sample.