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 penggunapostgres
-nya tanpa sandi.Ruang penyimpanan disk yang cukup di server target untuk menyimpan database yang dipulihkan.
Memulihkan menggunakan cadangan tertentu
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
.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 perintahbarman show-backup
.Untuk memulihkan cadangan yang dipilih ke server AlloyDB Omni target, jalankan perintah
barman recover
.Saat menjalankan perintah, sertakan hal berikut:
- Gunakan opsi pemulihan jarak jauh.
- Tentukan direktori data server target sebagai direktori tujuan.
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 subdirektoridata
dari direktori data server target—misalnya,/home/your-username/alloydb-data/data
.
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 formattimestamp
PostgreSQL apa pun yang menentukan tanggal dan waktu—misalnya,2024-02-06 00:00:00
.DATA_PATH
: jalur ke subdirektoridata
dari direktori data server target—misalnya,/home/your-username/alloydb-data/data
.