Memulihkan cluster AlloyDB Omni menggunakan Barman

Halaman ini menunjukkan cara memulihkan cluster AlloyDB Omni menggunakan cadangan yang dibuat dengan Barman, server cadangan database open source.

Karena AlloyDB Omni kompatibel dengan PostgreSQL, perintah dan teknik pemulihan data yang dijelaskan oleh panduan Barman juga berlaku untuk AlloyDB Omni. Halaman ini menunjukkan pilihan tugas pemulihan umum, dengan contoh perintah yang relevan.

Untuk informasi selengkapnya tentang cara mengonfigurasi Barman agar berfungsi dengan AlloyDB Omni, lihat Menyiapkan Barman untuk AlloyDB Omni.

Sebelum memulai

Sebelum memulihkan data AlloyDB Omni, Anda memerlukan hal berikut:

  • Server database target, yang menjalankan versi utama AlloyDB Omni yang sama dengan server database sumber. Untuk informasi selengkapnya tentang cara menginstal AlloyDB Omni, lihat Menginstal AlloyDB Omni.

    Server target dapat berupa mesin yang sama dengan server sumber.

  • Utilitas rsync, yang diinstal di server target.

  • Server pencadangan Barman, dengan setidaknya satu pencadangan Barman yang valid dari database AlloyDB Omni sumber di dalamnya.

  • Konektivitas SSH antara server pencadangan Barman dan server target.

  • Kunci SSH disiapkan untuk mengizinkan pengguna barman di server Barman mengautentikasi dengan server target sebagai pengguna postgres-nya tanpa sandi.

  • Ruang penyimpanan disk yang cukup di server target untuk menyimpan database yang dipulihkan.

Memulihkan menggunakan cadangan tertentu

  1. Di server target, hentikan AlloyDB Omni.

    Docker

     docker stop CONTAINER_NAME

    Ganti CONTAINER_NAME dengan nama yang Anda tetapkan ke penampung AlloyDB Omni saat menginstalnya—misalnya, my-omni.

    Podman

     podman stop CONTAINER_NAME

    Ganti CONTAINER_NAME dengan nama yang Anda tetapkan ke penampung AlloyDB Omni saat menginstalnya—misalnya, my-omni.

  2. Di server Barman, pilih cadangan yang akan dipulihkan. Untuk melihat cadangan yang tersedia, jalankan perintah barman list-backups. Untuk melihat detail tentang pencadangan tertentu, jalankan perintah barman show-backup.

  3. Untuk memulihkan cadangan yang dipilih ke server AlloyDB Omni target, jalankan perintah barman recover.

    Saat menjalankan perintah, sertakan hal berikut:

    Perintah berikut menunjukkan contoh penggunaan barman recover dengan AlloyDB Omni:

    barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID DATA_PATH

    Ganti kode berikut:

    • TARGET_IP: alamat IP server target.

    • TARGET_LABEL: label yang Anda tetapkan ke server dalam file konfigurasi Barman.

    • BACKUP_ID: ID cadangan yang akan digunakan untuk memulihkan, yang diidentifikasi pada langkah sebelumnya—misalnya, 20230810T210200.

    • DATA_PATH: jalur ke subdirektori data dari direktori data server target—misalnya, /home/your-username/alloydb-data/data.

  4. Di server database target AlloyDB Omni, mulai layanan:

    Docker

    docker start CONTAINER_NAME

    Podman

    podman start CONTAINER_NAME

Setelah layanan dimulai ulang, hubungkan ke server AlloyDB Omni Anda. Anda akan melihat database dan data yang dipulihkan.

Memulihkan ke titik waktu tertentu

Untuk melakukan pemulihan point-in-time, ikuti langkah-langkah yang sama seperti yang tercantum di bagian sebelumnya, dengan satu perubahan. Saat menjalankan perintah barman recover, Anda juga harus menentukan salah satu opsi pemulihan titik waktu Barman.

Perintah berikut menunjukkan contoh penggunaan barman recover dengan AlloyDB Omni dengan opsi pemulihan titik waktu:

barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="RESTORE_TIMESTAMP" DATA_PATH

Ganti kode berikut:

  • TARGET_IP: alamat IP server target.

  • TARGET_LABEL: label yang Anda tetapkan ke server dalam file konfigurasi Barman.

  • BACKUP_ID: ID cadangan yang akan digunakan untuk memulihkan, yang diidentifikasi pada langkah sebelumnya—misalnya, 20230810T210200.

  • TARGET_TIMESTAMP: waktu untuk melakukan pemulihan, dalam format timestamp PostgreSQL apa pun yang menentukan tanggal dan waktu—misalnya, 2024-02-06 00:00:00.

  • DATA_PATH: jalur ke subdirektori data dari direktori data server target—misalnya, /home/your-username/alloydb-data/data.