Referensi kesalahan Cloud SQL failover

Halaman ini menjelaskan apa yang terjadi selama eksperimen dengan jenis kesalahan Cloud SQL Failover.

Cara kerja kesalahan Cloud SQL Failover

Kesalahan Cloud SQL Failover memicu failover ketersediaan tinggi (HA) untuk instance Cloud SQL dengan memanggil metode failover di Cloud SQL Admin API. Tujuan kesalahan ini adalah untuk memungkinkan Anda menguji perilaku dan ketahanan layanan saat instance Cloud SQL utama bertransisi ke instance standby di zona lain dalam region yang sama.

Target untuk kesalahan ini adalah instance Cloud SQL.

Yang terjadi selama eksekusi eksperimen

Saat eksperimen berlangsung melalui status, resource yang terlibat akan mengalami perubahan berikut.

Resource

PREPARING

INJECTING

REVERTING

Instance

Tidak ada

Promosikan instance standby HA

Tidak berlaku

Validasi dan percobaan ulang failover HA

Backend Pengujian Injeksi Kesalahan melakukan pemeriksaan validasi sebelum memulai failover untuk memastikan lingkungan sesuai. Proses ini terjadi selama tahap INJECTING, sebelum mengirimkan panggilan API sqladmin.instances.failover ke bidang kontrol Cloud SQL:

Jika kondisi ini tidak terpenuhi, permintaan failover akan dimasukkan ke dalam antrean untuk dicoba lagi.

Menangani kegagalan

Jika failover sudah berlangsung atau mengalami error:

  • Selama injeksi: Jika panggilan failover ditolak oleh bidang kontrol Cloud SQL (misalnya, jika instance standby tidak sehat), eksperimen akan berpindah ke status STOPPING.
  • Pemantauan pasca-failover: Jika operasi failover tidak mencapai status DONE dalam durasi 10 menit yang telah ditentukan, backend Pengujian Injeksi Kesalahan akan mengkueri error operasi, memindahkan eksperimen ke status STOPPING, dan menandai eksperimen sebagai mengalami error.

Pengujian Injeksi Kesalahan mengandalkan bidang kontrol Cloud SQL sebagai sumber kebenaran. Bidang kontrol menolak upaya failover jika instance standby tidak sehat. Pengujian Injeksi Kesalahan menggunakan pemeriksaan pra-penerbangan dan pemantauan status untuk menghindari atau melaporkan kegagalan ini, bukan mencoba percobaan ulang otomatis setelah penolakan.

Failback manual

Karena failover adalah perubahan stateful, menghentikan eksperimen tidak otomatis melakukan failback ke instance utama asli (seperti yang ditunjukkan oleh 'Tidak berlaku' di tahap REVERTING). Database akan terus berjalan di zona sekunder.

Untuk mengembalikan instance ke zona aslinya setelah eksperimen selesai, Anda harus memulai failover lain secara manual menggunakan Google Cloud konsol atau gcloud CLI.