Tentang failover manual

Halaman ini memberikan ringkasan tentang failover manual untuk Memorystore for Redis. Untuk mempelajari cara melakukan failover, lihat Memulai failover manual.

Apa yang dimaksud dengan failover manual?

Instance Memorystore for Redis tingkat standar menggunakan node replika untuk mencadangkan node utama. Failover normal terjadi saat node utama menjadi tidak sehat, sehingga menyebabkan replika ditetapkan sebagai node utama baru. Failover manual berbeda dengan failover normal karena Anda memulainya sendiri. Untuk mengetahui informasi selengkapnya tentang cara kerja replikasi Memorystore for Redis, lihat Ketersediaan tinggi.

Mengapa memulai failover manual?

Dengan memulai failover manual, Anda dapat menguji respons aplikasi terhadap failover. Pengetahuan ini dapat memastikan proses failover yang lebih lancar jika terjadi failover yang tidak terduga nanti.

Mode perlindungan data opsional

Dua mode perlindungan data yang tersedia adalah:

  • Mode limited-data-loss (default).
  • Mode force-data-loss.

Untuk menetapkan mode perlindungan data, gunakan salah satu perintah berikut:

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=limited-data-loss

atau

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=force-data-loss

Cara kerja mode perlindungan data

Mode limited-data-loss meminimalkan kehilangan data dengan memverifikasi bahwa perbedaan data antara instance utama dan replika berada di bawah 30 MB sebelum memulai failover. Offset pada primary bertambah untuk setiap byte data yang harus disinkronkan ke replikanya. Dalam mode limited-data-loss, failover akan dibatalkan jika delta offset terbesar antara primer dan setiap replika adalah 30 MB atau lebih besar. Jika Anda dapat mentolerir lebih banyak kehilangan data dan ingin menjalankan failover secara agresif, coba tetapkan mode perlindungan data ke force-data-loss.

Mode force-data-loss menggunakan rantai strategi failover untuk mengeksekusi failover secara agresif. Fitur ini tidak memeriksa delta offset antara replika dan primer sebelum memulai failover; Anda berpotensi kehilangan perubahan data lebih dari 30 MB.

Metrik byte yang menunggu replikasi

Metrik byte yang menunggu replikasi memberi tahu Anda jumlah byte yang tersisa yang perlu disalin oleh replika sebelum database utama dicadangkan sepenuhnya. Anda mungkin mengamati peningkatan byte yang tertunda saat primer direplikasi ke replika selama failover. Jika failover dipicu oleh error hardware, Anda mungkin melihat byte kosong yang menunggu replikasi karena nilai offset tidak dapat diperoleh hingga replika baru diperbaiki dari error host.

Anda dapat mengakses metrik ini di konsol Google Cloud pada halaman detail instance. Untuk melihat halaman detail instance, klik ID instance di halaman daftar instance project Anda.

Atau, akses Metrics Explorer untuk project Anda, lalu telusuri metrik redis.googlapis.com/replication/offset_diff.

Kapan harus menjalankan failover manual

Failover manual menggunakan mode perlindungan limited-data-loss default hanya berhasil jika metrik byte yang menunggu replika kurang dari 30 MB. Jika Anda ingin menjalankan failover manual dengan byte yang menunggu replika lebih tinggi dari 30 MB, gunakan mode perlindungan force-data-loss.

Jika Anda mencoba mempertahankan data sebanyak mungkin, hentikan sementara aplikasi Anda agar tidak menulis ke instance Redis, dan tunggu untuk menjalankan penggantian manual hingga metrik byte yang menunggu replika serendah yang Anda anggap dapat diterima.

Potensi masalah yang memblokir failover manual

  • Menjalankan failover manual pada instance Paket Dasar tidak berfungsi karena instance Paket Dasar tidak memiliki replika yang dapat digunakan untuk failover utama.

  • Jika instance Redis Anda tidak sehat, operasi failover manual dengan kehilangan data terbatas akan gagal karena diblokir untuk pengurangan kehilangan data.

  • Jika menjalankan skrip Lua yang dieksekusi tanpa batas waktu, Anda harus menggunakan force-data-loss untuk memulai failover. Dalam situasi ini, operasi failover dengan kehilangan data terbatas tidak akan berhasil diselesaikan.

  • Jika instance Anda memiliki operasi yang tertunda dan tidak lengkap, seperti penskalaan atau update, operasi failover manual akan diblokir. Anda harus menunggu hingga instance berada dalam status READY untuk menjalankan failover manual.

Koneksi aplikasi klien

Saat node utama Anda beralih ke replika, koneksi yang ada ke Memorystore untuk Redis akan dihentikan. Namun, saat terhubung kembali, aplikasi Anda akan otomatis dialihkan ke node utama baru menggunakan string koneksi atau alamat IP yang sama.

Memverifikasi failover manual

Anda dapat memverifikasi keberhasilan operasi failover manual dengan Konsol Google Cloud atau gcloud.

Verifikasi konsol Google Cloud

Sebelum memulai failover manual, buka halaman daftar instance Memorystore for Redis, lalu klik nama instance Anda.

Kemudian, di tab Konfigurasi, di samping Primary Location, lihat zona tempat node utama Anda berada. Catat zona. Periksa halaman ini lagi saat Anda menyelesaikan failover manual untuk mengonfirmasi bahwa node utama telah beralih zona.

Verifikasi Cloud Monitoring

Untuk melihat metrik untuk resource yang dimonitor menggunakan Metrics Explorer, lakukan langkah berikut:

  1. Di konsol Google Cloud, buka halaman  Metrics explorer:

    Buka Metrics explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Pada elemen Metric, luaskan menu Select a metric, masukkan Node role di panel filter, lalu gunakan submenu untuk memilih jenis dan metrik resource tertentu:
    1. Di menu Active resources, pilih Cloud Memorystore Redis.
    2. Di menu Active metric categories, pilih replication.
    3. Di menu Active metrics, pilih Node role.
    4. Klik Terapkan.
  3. Untuk menghapus deret waktu dari tampilan, gunakan elemen Filter.

  4. Untuk menggabungkan deret waktu, gunakan menu pada elemen Agregasi. Misalnya, untuk menampilkan pemakaian CPU bagi VM Anda, berdasarkan zonanya, tetapkan menu pertama ke Rataan dan menu kedua ke zona.

    Semua deret waktu ditampilkan saat menu pertama elemen Agregasi ditetapkan ke Unaggregated. Setelan default untuk elemen Agregasi ditentukan oleh jenis metrik yang Anda pilih.

  5. Untuk kuota dan metrik lain yang melaporkan satu sampel per hari, lakukan tindakan berikut:
    1. Di panel Display, tetapkan Jenis widget ke Diagram batang bertumpuk.
    2. Tetapkan jangka waktu setidaknya satu minggu.

Diagram Cloud Monitoring menampilkan node utama dan replika dengan dua garis. Jika garis node memiliki nilai nol pada diagram, node tersebut adalah node replika. Jika garis node memiliki nilai satu pada diagram, node tersebut adalah node utama. Diagram ini mewakili failover dengan menunjukkan bagaimana garis beralih dari satu ke nol, dan nol ke satu.

Verifikasi gcloud

Sebelum memulai failover manual, gunakan perintah berikut untuk memeriksa zona tempat node utama Anda berada:

gcloud redis instances describe [INSTANCE_ID] --region=[REGION]

Node utama Anda berada di zona yang diberi label currentLocationId. Catat zona.

Setelah menyelesaikan failover manual, Anda dapat mengonfirmasi bahwa node primer Anda beralih ke zona baru dengan menjalankan perintah gcloud redis instances describe lagi dan memeriksa apakah currentLocationId mengubah zona.

Selain itu, label locationId memberi tahu Anda zona tempat Anda awalnya menyediakan node utama. Label alternativeLocationId memberi tahu Anda zona tempat sistem awalnya menyediakan node replika Anda. Setiap kali failover terjadi, utama dan replika akan beralih di antara kedua zona ini. Namun, zona yang terkait dengan locationId dan alternativeLocationId tidak berubah.