Backup and DR Service untuk PostgreSQL

PostgreSQL adalah sistem database relasional objek open source yang canggih yang menggunakan dan memperluas bahasa SQL yang dikombinasikan dengan banyak fitur yang menyimpan dan menskalakan beban kerja data yang paling rumit dengan aman.

API pencadangan PostgreSQL yang digunakan oleh Pencadangan dan DR

  • Pencadangan tingkat volume (pelacakan blok perubahan Linux dan snapshot LVM): Pencadangan dan DR menggunakan perintah pg_start_backup(label) dan pg_stop_backup() PostgreSQL saat melakukan pencadangan dengan pelacakan blok perubahan Linux dan snapshot LVM.

  • Pencadangan Full+Incremental (tradisional berbasis file): Pencadangan dan DR menggunakan perintah pencadangan berbasis file pg_dump PostgreSQL. Perintah pg_dump tidak memiliki opsi untuk merekam perubahan inkremental database, sehingga setiap pencadangan adalah pencadangan dump database penuh.

    Pemulihan database akan memulihkan database dengan menimpa area data secara fisik.

  • Pencadangan log PostgreSQL: Selama pencadangan log, Pencadangan dan DR secara fisik menyalin semua WAL PostgreSQL (WriteAheadLog). Untuk menghapus log, Pencadangan dan DR menggunakan perintah tingkat OS.

Cara kerjanya: Pencadangan berbasis volume Backup and DR dengan CBT Linux

Hanya blok yang diubah yang dilacak dalam bitmap: tidak ada operasi salin-saat-tulis, tidak ada operasi yang intensif I/O.

Langkah-langkah berikut menjelaskan proses pencadangan dan pemulihan data:

  1. Agen Pencadangan dan DR memiliki CBT untuk melacak blok yang diubah di area data database.

  2. Agen memanggil API database untuk membekukan atau menjeda database untuk pencadangan data.

  3. Agen membuat snapshot LVM dari area data database dan menyintesis bitmap.

  4. Panggilan agen ke API database untuk mencairkan database.

  5. Agen menyalin blok yang diubah ke perangkat pencadangan/pemulihan, yang kemudian menghapus snapshot dan membuat katalog pencadangan.

  6. Appliance ini mengeluarkan snapshot internal dan menyintesis pencadangan penuh virtual point-in-time.

  7. Untuk pemulihan data, Pencadangan dan DR langsung memasang disk staging yang dapat ditulis ulang dan mengaktifkan database secara online.

Perintah quiesce atau unquiesce dijalankan di utama untuk tugas snapshot level volume:

select pg_start_backup(<label>);
select pg_stop_backup();

Perintah quiesce dan unquiesce dijalankan di node standby untuk tugas snapshot tingkat volume:

Jika versi PostgreSQL adalah 10.x atau yang lebih baru:

select pg_wal_replay_pause();
select pg_wal_replay_resume();

Jika versi PostgreSQL adalah 9.x:

select pg_xlog_replay_pause();
select pg_xlog_replay_resume();

Cara kerjanya: pencadangan berbasis file

Langkah-langkah berikut menjelaskan proses cara melakukan pencadangan dan pemulihan data dengan image cadangan berbasis file:

  1. Agen Pencadangan dan DR di-deploy di server database.

  2. Pasang disk staging di server database.

  3. Panggil pencadangan penuh menggunakan perintah pencadangan dump, yang menulis pencadangan ke disk yang terpasang.

  4. Backup and DR mengambil snapshot internal. Pencadangan log dilakukan dengan cara yang serupa langsung dari sistem file pada jadwal apa pun yang Anda konfigurasikan.

  5. Untuk pemulihan data, Pencadangan dan DR langsung memasang disk staging ke server database dan memulai operasi pemulihan database. Log dapat diputar ke titik waktu mana pun setelah database dipulihkan.

Langkah selanjutnya

Menyiapkan database untuk Cadangan dan DR

Dokumentasi lainnya untuk Pencadangan dan DR untuk PostgreSQL