Gunakan mode zero-downtime untuk meningkatkan versi mesin utama instans ApsaraDB RDS for PostgreSQL sambil menjaga database tetap beroperasi penuh. Instans menerima operasi baca dan tulis sepanjang proses. Selama alih bencana akhir, instans masuk ke mode read-only hanya selama beberapa detik—durasi pastinya bergantung pada jumlah sequences dan volume transaksi besar yang ditulis.
Untuk pendekatan peningkatan lainnya, lihat Pengenalan solusi peningkatan versi utama.
Cara kerja
Mode zero-downtime menjalankan pg_upgrade untuk meningkatkan snapshot instans Anda ke versi target, lalu menggunakan replikasi logis native untuk menyinkronkan perubahan inkremental dari sumber. Anda memverifikasi instans tujuan sebelum memicu alih bencana. Saat Anda memulai alih bencana, instans menjadi read-only sebentar selama sequences disinkronkan, lalu trafik dialihkan ke versi baru.
Penagihan
Tanpa biaya.
Prasyarat
Sebelum memulai, pastikan bahwa:
Instans menjalankan ApsaraDB RDS for PostgreSQL 16 atau versi sebelumnya.
Jenis penyimpanan adalah cloud disk. Instans dengan disk lokal berkinerja tinggi hanya dapat menggunakan mode penyebaran biru-hijau.
Metode penagihan adalah pay-as-you-go atau subscription. Instans Serverless hanya dapat menggunakan mode penyebaran biru-hijau.
Instans bukan instansi hanya baca atau instansi klaster khusus.
Parameter
wal_leveldiatur kelogical. Jika tidak, modifikasi parameter instans sebelum melanjutkan.Babelfish tidak diaktifkan. Nomor versi mesin minor tidak boleh diakhiri dengan
babelfish.
Catatan penggunaan
Tinjau hal-hal berikut sebelum memulai peningkatan.
Dampak bisnis
Operasi DDL (Data Definition Language) dilarang sejak peningkatan dimulai hingga alih bencana selesai. Waktu downtime untuk instans sumber diukur dalam hitungan detik dan bergantung pada jumlah sequences serta volume transaksi besar yang ditulis.
Slot replikasi
Jika instans sumber memiliki publication (ujung penerbit slot replikasi), slot replikasi tersebut akan hilang setelah peningkatan.
Jika instans sumber memiliki subscriber (ujung pelanggan slot replikasi), peningkatan dapat menyebabkan masalah sinkronisasi data akibat preemption slot replikasi. Lihat bagian FAQ untuk detailnya.
Perubahan parameter
Parameter yang tidak didukung oleh versi tujuan akan dihapus secara otomatis.
Parameter yang nilainya berada di luar rentang valid untuk versi tujuan akan diatur ulang ke nilai default dari template parameter versi tujuan.
statement_timeoutsementara diatur ke0selama peningkatan dan dikembalikan ke nilai aslinya setelahnya.
Tugas DTS
Jika instans merupakan sumber atau tujuan untuk Data Transmission Service (DTS), buat ulang tugas DTS setelah peningkatan.
Kompatibilitas plugin
Peningkatan secara otomatis memperbarui instans ke versi mesin minor terbaru, yang dapat menyebabkan masalah kompatibilitas plugin.
Cadangan
Cadangan penuh dilakukan baik sebelum maupun setelah peningkatan untuk mendukung pemulihan berbasis clone.
Dampak pada berbagai tahap peningkatan
| Tahap peningkatan | Dampak |
|---|---|
| Mulai peningkatan versi utama | Operasi DDL dilarang. |
| Buat slot replikasi dan publication | Operasi DDL dilarang. Log WAL mulai menumpuk. |
| Mulai subscriber dan bangun hubungan replikasi logis | Operasi DDL dilarang. Log WAL mulai dikonsumsi dan tidak lagi menumpuk. Replikasi logis menghasilkan muatan resource tertentu; muatan tersebut berkaitan erat dengan jumlah database dan traffic. |
| Mulai alih bencana | Operasi DDL dilarang. Replikasi logis menghasilkan muatan resource tertentu; muatan tersebut berkaitan erat dengan jumlah database dan traffic. Instans dalam mode read-only; durasi read-only berkaitan dengan jumlah sequences. |
| Selesaikan alih bencana (peningkatan selesai) | Slot replikasi logis dihapus dan muatan resource yang dihasilkan oleh replikasi logis dihilangkan. Instans kembali ke operasi baca dan tulis normal. |
Setelah tugas peningkatan dimulai, buka tab Upgrade History. Di kolom Upgrade Log pada tugas peningkatan target, klik View Information untuk melihat proses peningkatan secara detail.
Langkah 1: Jalankan pemeriksaan pra-peningkatan
Masuk ke Konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah tempat instans berada, temukan instans tersebut, lalu klik ID-nya.
Di panel navigasi kiri, klik Major Version Upgrade.
Jika Major Version Upgrade tidak muncul, periksa versi dan konfigurasi instans Anda. Untuk detailnya, lihat Prasyarat.
Di tab Upgrade Check, klik Create upgrade check report.
Pilih versi tujuan, atur Upgrade Mode ke Zero Downtime, lalu klik OK. Status instans berubah menjadi Maintaining Instance. Setelah pemeriksaan selesai, status kembali menjadi Running.
Tinjau hasil pemeriksaan: Untuk bantuan menafsirkan hasil pemeriksaan, lihat Menafsirkan laporan pemeriksaan peningkatan versi utama ApsaraDB RDS for PostgreSQL.
Success atau Warning: lanjutkan ke Langkah 2.
Failed: klik View Information, perbaiki masalah yang dilaporkan, lalu jalankan pemeriksaan lagi.
Penting- Jika hasilnya Warning, perbaiki semua masalah yang dilaporkan dan jalankan ulang pemeriksaan hingga hasilnya Success. - Jika Anda membuat plugin pada instans utama setelah pemeriksaan berhasil, jalankan ulang pemeriksaan sebelum melakukan peningkatan.
Langkah 2: Mulai peningkatan
Klik tab Upgrade Instance, baca peringatan, pilih versi dari Select The Destination Version, lalu klik Create Upgrade Task.
Di kotak dialog, baca prompt lalu klik OK.
Di bagian Create Major Engine Version Upgrade Task, atur Upgrade Mode ke Zero Downtime lalu klik Create.
Saat status instans berubah menjadi Migrating, tugas peningkatan telah dimulai.
Waktu yang dibutuhkan bergantung pada jumlah objek database dalam instans — semakin banyak objek, semakin lama waktunya. Lacak progres di Task Hub.
Tugas peningkatan tidak dapat dimodifikasi atau dihapus setelah dibuat.
Selama instans berada dalam status Migrating, tugas O&M (operations and maintenance) seperti memodifikasi parameter, me-restart, atau melepas instans tidak didukung.
Langkah 3: Verifikasi dan alih bencana
Verifikasi instans tujuan
Saat status instans berubah dari Migrating menjadi Migrating Data Out, replikasi logis telah dibangun dan instans tujuan siap diverifikasi.
Buka tab Upgrade History dan gunakan Later Version Verification URL dari catatan peningkatan untuk terhubung ke instans tujuan dan memverifikasi data.
Instans tujuan dalam mode read-only selama fase ini. Operasi tulis tidak didukung.
Beralih ke versi baru
Setelah memastikan data sesuai harapan dan Upgrade Result menunjukkan Synchronizing, klik Switchover di kolom Upgrade Log.
- Jika Upgrade Result menunjukkan status berbeda, lihat Deskripsi hasil peningkatan. - Untuk membatalkan peningkatan, klik Cancel di kolom Upgrade Log. Tindakan ini akan menghapus slot replikasi logis, menghilangkan beban replikasi dari instans sumber, dan mengaktifkan kembali operasi DDL.
Di kotak dialog Switchover, atur Write Downtime Tolerance (dalam detik) lalu klik OK. Pengaturan ini memberi tahu sistem untuk menunggu replikasi lag selesai sebelum menyelesaikan alih bencana, yang menjamin konsistensi data. Selama menunggu ini, Upgrade Result menunjukkan Read-only. Jika periode toleransi terlampaui, sistem kembali ke Synchronizing dan menghapus batasan read-only. Saat Upgrade Result berubah menjadi Read-only, alih bencana sedang berlangsung dan status instans adalah Migrating. Untuk membatalkan alih bencana yang sudah dimulai, klik Interrupted di kolom Upgrade Log.
Saat Upgrade Result berubah menjadi Succeeded, alih bencana selesai dan status instans adalah Running. Verifikasi versi saat ini di halaman Basic Information instans.
Untuk melihat durasi read-only pasti setelah peningkatan, buka tab Upgrade History dan klik View Information di kolom Upgrade Log. Waktu read-only adalah interval antara Switching time dan Switching completion time, dan tidak termasuk waktu ketika instans tidak dapat dijangkau akibat propagasi Cache DNS.
Deskripsi hasil peningkatan
Kolom Upgrade Result pada tab Upgrade History menampilkan salah satu nilai berikut selama peningkatan.
| Hasil peningkatan | Status instans | Deskripsi | Aksi yang tersedia |
|---|---|---|---|
| Running | Migrating | Tugas peningkatan sedang berjalan. | Tidak ada. |
| Synchronizing | Migrating Data Out | Replikasi logis normal. | Alih ke versi baru, atau batalkan peningkatan. |
| Replication Interrupted | Migrating Data Out | Replikasi logis tidak normal. | Lihat log peningkatan untuk menentukan penyebabnya, atau batalkan peningkatan. |
| Read-only | Migrating | Alih bencana sedang berlangsung. Instans dalam mode read-only selama sequences disinkronkan. | Break: batalkan failover. |
| Switchover | Migrating | Sinkronisasi sequence selesai; menyelesaikan alih bencana. | Tidak ada. |
| Cancel | Running | Tugas peningkatan dibatalkan. | Tidak ada. |
| Succeeded | Running | Tugas peningkatan berhasil diselesaikan. | Tidak ada. |
Referensi API
| Operasi API | Deskripsi |
|---|---|
| UpgradeDBInstanceMajorVersionPrecheck | Menjalankan pemeriksaan pra-peningkatan untuk peningkatan versi utama. |
| DescribeUpgradeMajorVersionPrecheckTask | Mengkueri laporan pemeriksaan pra-peningkatan. |
| UpgradeDBInstanceMajorVersion | Meningkatkan versi mesin utama. |
| DescribeUpgradeMajorVersionTask | Mengkueri riwayat tugas peningkatan versi utama. |