Halaman ini menunjukkan cara memulihkan cluster AlloyDB Omni menggunakan cadangan yang dibuat dengan pgBackRest, solusi pencadangan open source yang disertakan dengan penampung Docker AlloyDB Omni.
Karena AlloyDB Omni kompatibel dengan PostgreSQL, perintah dan teknik pemulihan data yang dijelaskan oleh panduan pgBackRest juga berlaku untuk AlloyDB Omni. Halaman ini menunjukkan pilihan tugas pemulihan umum, dengan contoh perintah yang relevan.
Untuk informasi selengkapnya tentang cara mengonfigurasi pgBackRest agar berfungsi dengan AlloyDB Omni, lihat Menyiapkan pgBackRest untuk AlloyDB Omni.
Lihat Mencadangkan dan memulihkan di Kubernetes untuk informasi berbasis Kubernetes.
Sebelum memulai
Sebelum mengonfigurasi AlloyDB Omni agar berfungsi dengan pgBackrest, Anda harus menginstal dan menjalankan AlloyDB Omni di server yang Anda kontrol.
Server database target, yang menjalankan versi utama AlloyDB Omni yang sama dengan cadangan yang ingin Anda pulihkan. Untuk informasi selengkapnya tentang cara menginstal AlloyDB Omni, lihat Menginstal AlloyDB Omni.
Repositori pencadangan pgBackRest yang berisi minimal satu pencadangan database AlloyDB Omni sumber.
Ruang penyimpanan disk yang cukup di server target untuk menyimpan database yang dipulihkan.
Ringkasan
Untuk melakukan pemulihan AlloyDB Omni menggunakan pgBackRest, jalankan
perintah pgbackrest restore
. Parameter yang Anda berikan perintahnya bervariasi bergantung pada situasi Anda.
Secara umum, Anda
menjalankan perintah pgbackrest restore
dengan flag yang memberikan informasi berikut:
- Lokasi file
pgbackrest.conf
Anda. - Nama repositori cadangan pgBackRest yang ingin Anda pulihkan. Repositori
ini diberi nama dan ditentukan dalam file
pgbackrest.conf
. - Lokasi di sistem file lokal tempat data yang dipulihkan akan ditulis.
- ID cadangan atau titik waktu tertentu yang ingin Anda pulihkan.
Saat menjalankan perintah pgbackrest restore
dalam penampung, jangan lupa untuk menggunakan jalur sistem file dari sudut pandang penampung. Misalnya, jalur
ke direktori data AlloyDB Omni Anda selalu /var/lib/postgresql/data
,
terlepas dari lokasinya di server host Anda. Untuk mengetahui informasi selengkapnya, lihat
Catatan tentang jalur sistem file.
Melakukan pemulihan point-in-time
Contoh ini memulihkan data dari repositori pgBackRest, dengan menyebutkan titik waktu tertentu
yang akan dipulihkan. Jika Anda telah menentukan beberapa repositori dalam
file pgbackrest.conf
lingkungan target, pgBackRest akan memilih
repositori yang akan dipulihkan berdasarkan ketersediaan, kecepatan yang diharapkan, dan faktor lainnya.
Contoh ini mengasumsikan hal berikut:
Anda memiliki file
pgbackrest.conf
yang terletak di level teratas direktori data AlloyDB Omni target. Hal ini membuat file tersedia untukpgbackrest
dalam penampung sebagai/var/lib/postgresql/data
.Anda telah mengaktifkan pencadangan berkelanjutan dengan konfigurasi pgBackRest.
Di lingkungan target, lakukan pemulihan PITR, dengan menentukan stempel waktu untuk dipulihkan ke:
docker exec CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/data \ --stanza=STANZA \ --type=time \ --pg1-path=/var/lib/postgresql/data/data-RESTORED \ --target="TIMESTAMP" \ restore
Ganti kode berikut:
CONTAINER_NAME
: nama yang Anda tetapkan ke penampung AlloyDB Omni saat menginstalnya—misalnya,my-omni
.STANZA
: stanza konfigurasi, yang ditentukan oleh filepgbackrest.conf
, yang akan diterapkan ke pemulihan ini—misalnya,omni
.TIMESTAMP
: waktu untuk memulihkan—misalnya,2024-02-22 19:50:00
.
Di lingkungan target, hentikan penampung menggunakan perintah berikut:
docker container stop CONTAINER_NAME
Ganti nama subdirektori
data
di direktori data Anda, sebagai tindakan pengamanan:cd DATA_DIR
sudo mv data data-OLD
Ganti
DATA_DIR
dengan jalur sistem file ke direktori data AlloyDB Omni Anda.Pindahkan data yang dipulihkan ke tempatnya, dan bersihkan
postgresql.auto.conf
:sudo mv data-RESTORED data
sudo sed -i 's|data-RESTORED|data|' data/postgresql.auto.conf
Mulai penampung AlloyDB Omni dengan server database:
docker container start CONTAINER_NAME
Sekarang Anda dapat terhubung ke database menggunakan psql
dan mengonfirmasi bahwa data telah dipulihkan seperti yang Anda harapkan. Jika demikian, Anda dapat menghapus salinan data-OLD
subdirektori data
yang Anda buat sebelumnya.
Untuk informasi selengkapnya tentang PITR di pgBackRest, lihat Pemulihan Point-in-Time.
Untuk informasi selengkapnya tentang menyiapkan
file pgbackrest.conf
untuk digunakan dengan AlloyDB Omni, lihat Menyiapkan pgBackRest untuk AlloyDB Omni.
Opsi lain
Perintah pgbackrest restore
sangat fleksibel, dengan berbagai opsi dan
fitur yang dapat Anda kontrol dengan meneruskan berbagai opsi command line. Contoh ini meliputi:
- Membatasi pemulihan hanya untuk file yang diubah.
- Hanya memulihkan database yang dipilih.
Untuk panduan lengkap tentang cara melakukan pemulihan di pgBackRest, lihat Pemulihan.