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 akan mengalihkan instance utama ke offline.

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

  3. GDC menghapus cluster database aktif sebelumnya.

  4. GDC membuat replika standby baru.

Untuk cluster database AlloyDB Omni dan PostgreSQL, Anda dapat mengaktifkan atau menonaktifkan ketersediaan tinggi zona yang sama.

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 diupdate.

  3. Pilih edit Edit di bagian Ketersediaan tinggi.

    Edit setelan ketersediaan tinggi cluster database.

  4. Pilih Enable same zone standby 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.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \
        -n USER_PROJECT \
        -p '{"spec": {"availability": {"enableHighAvailability": HA_ENABLED}}}' \
        --type=merge
    

    Ganti variabel berikut:

    • DBENGINE_NAME: nama mesin database. Ini adalah salah satu dari alloydbomni, postgresql, atau oracle.
    • 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
    

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.