Halaman ini menunjukkan cara memulihkan cluster AlloyDB Omni menggunakan cadangan yang dibuat dengan pgBackRest, solusi pencadangan open source yang disertakan dengan penampung 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.
Untuk informasi berbasis Kubernetes, lihat Mencadangkan dan memulihkan di Kubernetes.
Sebelum memulai
Sebelum memulihkan cluster AlloyDB Omni, pastikan Anda memiliki hal berikut:
Siapkan dan konfigurasikan pgBackRest untuk instance AlloyDB Omni Anda.
Ruang disk yang cukup di sistem file tujuan untuk menyimpan cluster database AlloyDB Omni yang dipulihkan.
Versi utama AlloyDB Omni yang sama digunakan untuk penampung pemulihan sebagai penampung sumber asli.
Untuk memeriksa versi PostgreSQL, jalankan perintah berikut:
Docker
docker exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Docker
docker exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Podman
podman exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Podman
podman exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.
Untuk memeriksa versi pgBackRest, jalankan perintah berikut:
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest version
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest version
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest version
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest version
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.
Jika penampung target Anda memiliki versi PostgreSQL, pgBackRest, atau keduanya yang berbeda, Anda harus membuat penampung target baru dengan versi yang cocok. Jika tidak memungkinkan, Anda harus menggunakan metode alternatif, seperti utilitas
pg_dump
ataupg_dumpall
yang disertakan PostgreSQL untuk menyalin database di seluruh versi. Untuk mengetahui informasi selengkapnya, lihat Mengekspor file DMP.
Menghentikan penampung AlloyDB Omni
Untuk menyimulasikan cluster database AlloyDB Omni yang tidak tersedia, hentikan penampung.
Docker
docker stop CONTAINER_NAME
docker rm CONTAINER_NAME
Docker
docker stop CONTAINER_NAME
docker rm CONTAINER_NAME
Podman
podman stop CONTAINER_NAME
podman rm CONTAINER_NAME
Podman
podman stop CONTAINER_NAME
podman rm CONTAINER_NAME
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.
Membuat penampung AlloyDB Omni yang tidak ada aktivitas
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest sleep infinity
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest sleep infinity
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest sleep infinity
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest sleep infinity
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.DATA_DIR
: Jalur direktori host tempat data Anda disimpan.BACKUP_DIR
: Jalur direktori eksternal tempat cadangan Anda disimpan.HOST_PORT
: Port TCP di mesin host tempat penampung harus memublikasikan port5432
-nya sendiri. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432
.
Menghapus direktori data
Untuk menghapus cluster database AlloyDB Omni, hapus direktori data.
Docker
docker exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Docker
docker exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Podman
podman exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Podman
podman exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.
Memvalidasi bahwa cadangan Anda terlihat
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.STANZA_NAME
: Nama stanza yang Anda buat. Contoh,my-stanza
.
Memulihkan cadangan
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.STANZA_NAME
: Nama stanza yang Anda buat. Contoh,my-stanza
.
Menghapus penampung AlloyDB Omni yang tidak ada aktivitas
Docker
docker kill CONTAINER_NAME
docker rm CONTAINER_NAME
Docker
docker kill CONTAINER_NAME
docker rm CONTAINER_NAME
Podman
podman kill CONTAINER_NAME
podman rm CONTAINER_NAME
Podman
podman kill CONTAINER_NAME
podman rm CONTAINER_NAME
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.
Membuat penampung AlloyDB Omni
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.DATA_DIR
: Jalur direktori host tempat data Anda disimpan.BACKUP_DIR
: Jalur direktori eksternal tempat cadangan Anda disimpan.HOST_PORT
: Port TCP di mesin host tempat penampung harus memublikasikan port5432
-nya sendiri. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432
.
Memvalidasi bahwa AlloyDB Omni dimulai
Docker
docker logs -f CONTAINER_NAME
Docker
docker logs -f CONTAINER_NAME
Podman
podman logs -f CONTAINER_NAME
Podman
podman logs -f CONTAINER_NAME
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk penampung. Contoh,my-omni-1
.
Opsi lain
Perintah restore
pgBackRest sangat fleksibel, dengan berbagai opsi dan
fitur yang dapat Anda kontrol dengan meneruskan berbagai opsi command line.
Untuk panduan lengkap tentang cara melakukan pemulihan, lihat
Pemulihan.