Topik ini menjelaskan cara melakukan peningkatan versi utama untuk database RDS PostgreSQL tanpa downtime, membantu Anda menghindari gangguan layanan selama proses peningkatan.
Proses peningkatan
Dampak peningkatan
Selama proses peningkatan tanpa downtime, fase-fase berikut dapat memengaruhi penggunaan instans:
Periode Pembatasan DDL: Mulai dari awal tugas peningkatan hingga pergantian instans selesai, semua operasi DDL dilarang.
Periode Akumulasi Log WAL: Setelah instans tujuan ditingkatkan ke versi yang lebih tinggi, hubungan replikasi logis harus dibentuk untuk memastikan konsistensi data. Sebelum melakukan peningkatan versi utama, slot replikasi logis dibuat, yang menghasilkan periode akumulasi log.
CatatanAnda bisa mendapatkan informasi tentang periode akumulasi log WAL dengan melihat log peningkatan dalam riwayat peningkatan. Log mencatat peristiwa pembuatan slot replikasi dan publikasi pada sumber. Ketika log WAL mulai disimpan, mereka akan mulai menumpuk hingga subscriber pada tujuan dimulai dan membentuk hubungan replikasi logis, pada titik mana log WAL akan mulai dikonsumsi dan tidak lagi menumpuk.
Periode Sinkronisasi Replikasi Logis: Seluruh periode dari pembentukan hubungan replikasi logis hingga menyelesaikan pergantian instans. Setelah replikasi logis dibentuk, itu akan menghasilkan beban sumber daya tertentu, yang erat kaitannya dengan jumlah database dan lalu lintas.
Periode Pergantian: Instans berada dalam mode read-only. Durasi read-only berkaitan dengan jumlah sequence.
Langkah 1: Pemeriksaan pra-peningkatan
Peningkatan versi utama tanpa downtime menggunakan replikasi logis dan memerlukan larangan operasi DDL sepanjang proses. Oleh karena itu, penting untuk memeriksa dan membatasi keterbatasan replikasi logis serta plugin yang mungkin memicu operasi DDL.
Masuk ke Konsol ApsaraDB RDS dan buka halaman Instans. Di bilah navigasi atas, pilih wilayah di mana instans RDS berada. Kemudian, temukan instans RDS dan klik ID instans tersebut.
(Opsional) Jika instans hanya baca telah dibuat untuk instans yang akan ditingkatkan, Anda perlu mengubah alamat koneksi yang dikonfigurasi di aplikasi Anda dari instans hanya baca ke instans utama, dan hapus instans hanya baca.
CatatanUntuk stabilitas layanan, kami sarankan Anda mengubah konfigurasi endpoint pada aplikasi Anda selama jam-jam sepi.
Di panel navigasi sisi kiri, klik Major Version Upgrade.
CatatanJika Anda tidak melihat Major Version Upgrade di konsol, periksa versi dan konfigurasi seri instans RDS PostgreSQL Anda. Untuk informasi lebih lanjut, lihat Tingkatkan Versi Mesin Utama.
Di tab Upgrade Check, klik Create Upgrade Check Report.
Select The Upgrade Version, dan untuk Upgrade Mode, pilih Zero Downtime, lalu klik OK.
Anda dapat melihat hasil pemeriksaan peningkatan di bagian Upgrade Check Log.
PentingUntuk memastikan bahwa peningkatan dapat diselesaikan dengan sukses, pastikan bahwa Check Result dari laporan pemeriksaan peningkatan adalah berhasil sebelum melanjutkan ke langkah peningkatan berikutnya. Saat hasil pemeriksaan laporan peningkatan gagal, Anda dapat mengklik View Information untuk melihat isi rinci laporan. Untuk kesalahan umum dan penyebabnya, lihat Menginterpretasi Laporan Pemeriksaan Peningkatan Versi Utama RDS PostgreSQL.
Setelah pemeriksaan peningkatan berhasil, jika plugin telah dibuat pada instans tujuan, Anda perlu melakukan pemeriksaan ulang.
Langkah 2: Tingkatkan versi utama
Klik tab Upgrade Instance, baca konten peringatan, lalu Select The Upgrade Version, dan klik Create Upgrade Task.
Di kotak dialog yang muncul, baca prompt dan klik OK.
Di bagian Create Major Version Upgrade Task, pilih Zero-downtime untuk Upgrade Mode.
Klik Create Now.
Ketika status instans berubah menjadi Migrating, itu menunjukkan bahwa tugas peningkatan telah dimulai secara resmi.
Anda dapat melihat hasil peningkatan di tab Upgrade History.
Monitor beban instans
Selama proses peningkatan, Anda dapat memantau beban instans dan penggunaan disk untuk memahami status performa instans.
Selama periode akumulasi log WAL, penggunaan disk instans akan meningkat sementara. Setelah replikasi logis dibentuk, penggunaan disk akan berkurang.
Selama fase replikasi logis, lalu lintas dan jumlah database akan memengaruhi beban pada instans sumber. Anda dapat mengevaluasi dampak replikasi logis dengan mengamati penggunaan sumber daya wal_sender di berbagai kategori sumber daya.
Langkah 3: Beralih ke versi lebih tinggi
Verifikasi instans versi lebih tinggi.
Ketika status instans berubah dari Migrating menjadi Migrating Data, itu menunjukkan bahwa replikasi logis telah dibentuk, dan proses pembuatan tugas peningkatan akan berakhir. Anda dapat memverifikasi data di instans versi lebih tinggi.
Buka tab Upgrade History dan gunakan Higher Version Verification Address dari catatan peningkatan target untuk terhubung ke instans versi lebih tinggi guna memverifikasi data yang ditingkatkan.
CatatanInstans versi lebih tinggi berada dalam mode Read-Only dan tidak dapat ditulis.
Beralih ke instans versi lebih tinggi.
Setelah memastikan bahwa data di instans versi lebih tinggi sesuai harapan dan hasil peningkatan adalah Synchronizing, klik kolom Upgrade Log tombol Change untuk beralih bisnis Anda ke instans versi lebih tinggi.
CatatanJika Upgrade Result menunjukkan status lain, lihat Deskripsi Hasil Peningkatan untuk instruksi penanganan.
Jika Anda memutuskan untuk membatalkan peningkatan ini, Anda dapat mengklik kolom Upgrade Log tombol Cancel. Ini akan menghapus slot replikasi logis, membatalkan dampak replikasi logis pada instans sumber, dan mengizinkannya melakukan operasi DDL.
Tetapkan Tolerable Write Suspension Time (dalam detik), dan klik OK.
Karena replikasi logis tidak dapat menyinkronkan tabel Sequence, akan ada periode selama pergantian untuk menyinkronkan tabel Sequence. Anda dapat menetapkan Tolerable Write Suspension Time saat beralih untuk memastikan pergantian selesai dalam waktu yang dapat diterima. Selama proses ini, Upgrade Result akan berubah menjadi Read Only. Jika waktu ini terlampaui, sistem akan kembali ke status Synchronizing dan menghapus batasan read-only.
Periksa hasil pergantian.
Ketika status instans adalah Migrating, itu menunjukkan bahwa pergantian sedang berlangsung. Di tab Upgrade History dari Major Version Upgrade, klik tombol Break di kolom Upgrade Log untuk membatalkan operasi pergantian ini.
Ketika status instans berubah menjadi The Instance Is Running., itu menunjukkan bahwa pergantian berhasil. Di halaman Basic Information instans, Anda dapat melihat informasi versi saat ini dari instans.
Pengembalian
Setelah beralih, jika Anda perlu mengembalikan ke instans versi lebih rendah, Anda dapat mengkloning instans baru dari cadangan terakhir versi lebih rendah sebelum beralih, dan mengubah alamat koneksi instans ini ke alamat koneksi instans lama untuk mencapai pengembalian ke versi lebih rendah.
Sebelum beralih, sistem akan mencadangkan instans versi lebih rendah.
Deskripsi hasil peningkatan
Catatan peningkatan di tab Upgrade History terutama mencakup status berikut untuk Upgrade Result:
Status | Makna | Tindakan yang Tersedia |
Berjalan | Tugas peningkatan sedang berjalan. | Tidak ada. |
Synchronizing | Status replikasi logis normal. |
|
Replication Interrupted | Status replikasi logis abnormal. |
|
Read Only | Pergantian sedang berlangsung, instans dalam mode read-only, dan tabel Sequence sedang disinkronkan. | Batalkan: Batalkan operasi pergantian ini. |
Switch | Sinkronisasi tabel Sequence selesai, dan tugas akhir sedang berjalan. | Tidak ada. |
Canceled | Tugas peningkatan dibatalkan. | Tidak ada. |
Success | Tugas peningkatan berhasil. | Tidak ada. |