Backup and DR Service untuk PostgreSQL di perangkat pencadangan/pemulihan

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 Backup and DR

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

  • Pencadangan Penuh+Inkremental (berbasis file tradisional): Backup and DR menggunakan perintah pencadangan berbasis file PostgreSQL pg_dump. Perintah pg_dump tidak memiliki opsi untuk mengambil perubahan inkremental database, sehingga setiap pencadangan adalah pencadangan dump database penuh.

    Pemulihan database memulihkan database dengan menimpa area data secara fisik.

  • Pencadangan log PostgreSQL: Selama pencadangan log, Backup and DR menyalin semua WAL PostgreSQL (WriteAheadLog) secara fisik. Untuk menghapus log, Backup and 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 salin-saat-tulis, tidak ada operasi intensif I/O.

Langkah-langkah berikut menjelaskan proses pencadangan dan pemulihan data:

  1. Agen Backup and 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 area data database dan mensintesis bitmap.

  4. Panggilan agen ke API database untuk mencairkan database.

  5. Agen menyalin blok yang diubah ke peralatan pencadangan/pemulihan, yang kemudian menghapus snapshot dan mengatalogkan pencadangan.

  6. Peralatan mengeluarkan snapshot internal dan mensintesis pencadangan penuh virtual point-in-time.

  7. Untuk pemulihan data, Backup and DR langsung memasang disk staging yang dapat ditulis ulang dan mengaktifkan database.

Perintah quiesce atau unquiesce dijalankan di utama untuk tugas snapshot tingkat 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 pencadangan berbasis file:

  1. Agen Backup and DR di-deploy di server database.

  2. Pasang disk staging di server database.

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

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

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

    pg_dump

Langkah berikutnya

Menyiapkan database untuk Backup and DR

Dokumentasi lainnya untuk Backup and DR untuk PostgreSQL