Cluster yang mendukung TDE mendukung pencadangan dan pemulihan transparan menggunakan pgBackRest, dan Anda tidak perlu melakukan langkah tambahan apa pun. Untuk mengetahui informasi selengkapnya, lihat Membuat cluster yang mendukung TDE.
Untuk mengetahui informasi selengkapnya tentang pgBackRest, lihat panduan penggunanya.
Sebelum memulai
Sebelum mengonfigurasi AlloyDB Omni agar berfungsi dengan pgBackRest, selesaikan prasyarat berikut:
- Instal dan jalankan AlloyDB Omni di server yang Anda kontrol.
Konfigurasi dasar dengan pencadangan lokal
Langkah-langkah di bagian ini memandu Anda melalui penyiapan dasar pgBackRest. Konfigurasi dasar tidak mengaktifkan pencadangan sesuai jadwal. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan pencadangan terjadwal.
Karena pgBackRest adalah produk pihak ketiga yang fleksibel dan kompatibel dengan AlloyDB Omni, Anda dapat mengubah langkah-langkah ini sesuai kebutuhan dan preferensi Anda sendiri.
Membuat direktori pencadangan
Untuk tujuan organisasi, sebaiknya buat direktori terpisah untuk pencadangan pgBackRest. Untuk menyiapkan direktori baru, selesaikan langkah-langkah berikut:
Jika AlloyDB Omni berjalan, hentikan.
sudo systemctl stop alloydbomni18
Buat direktori pencadangan.
sudo mkdir -p BACKUP_DIR
Ganti variabel berikut:
BACKUP_DIR: Direktori host tempat pencadangan Anda akan disimpan.
Buat direktori pencadangan dapat dibaca oleh
postgres.sudo chown -R postgres:postgres BACKUP_DIR
Ganti variabel berikut:
BACKUP_DIR: Direktori host tempat pencadangan Anda akan disimpan.
Mengonfigurasi pencadangan lokal
pgBackRest membuat subdirektori untuk setiap pencadangan yang dilakukan dan menyertakan file manifes teks biasa.
pgBackRest menggunakan istilah stanza untuk merujuk ke konfigurasi untuk cluster database PostgreSQL. Nama stanza bersifat arbitrer dan tidak harus cocok dengan server host, cluster PostgreSQL, atau nama database. Dokumentasi pgBackRest menyarankan untuk memberi nama stanza sesuai dengan fungsi cluster.
Repositori adalah tempat pencadangan ditulis. pgBackRest mendukung penulisan ke lebih dari satu repositori dalam stanza tertentu. Sebagian besar parameter konfigurasi yang terkait dengan repositori diindeks dengan nilai numerik. Misalnya, repo1-. Parameter yang terkait dengan cluster PostgreSQL juga diindeks secara independen. Misalnya, parameter khusus untuk cluster PostgreSQL pertama dalam stanza diberi awalan pg1-.
pgBackRest memanfaatkan file konfigurasi, yang disebut pgbackrest.conf, untuk menyimpan parameter global dan khusus stanza.
Untuk mem-build dan menginisialisasi file konfigurasi untuk mencadangkan cluster AlloyDB Omni Anda, buat file pgbackrest.conf di direktori pencadangan sisi host
yang Anda buat di
Memasang volume pencadangan ke penampung atau Membuat direktori pencadangan.
[global]
# Paths (all mandatory):
repo1-path=BACKUP_DIR
spool-path=BACKUP_DIR/spool
lock-path=BACKUP_DIR
# Retention details:
repo1-retention-full=3
repo1-retention-full-type=count
repo1-retention-diff=16
# Force a checkpoint to start backup immediately:
start-fast=y
# Logging parameters:
log-path=BACKUP_DIR
log-level-console=info
log-level-file=info
# Recommended ZSTD compression:
compress-type=zst
# Other performance parameters:
archive-async=y
archive-push-queue-max=1024MB
archive-get-queue-max=256MB
archive-missing-retry=y
[global:archive-push]
process-max=2
[global:archive-get]
process-max=2
[omni]
pg1-user=postgres
pg1-socket-path=/tmp
pg1-path=DATA_DIR
Beberapa parameter bersifat wajib, tetapi parameter lainnya dapat disesuaikan untuk memenuhi persyaratan spesifik Anda jika diperlukan, seperti berikut:
repo1-path: Lokasi direktori tempat pencadangan ditulis. Sebaiknya gunakan lokasi yang terlihat oleh server host dan penampung.log-path: Lokasi direktori tempat file log ditulis. Jika Anda ingin menulis file log ke lokasi terpisah, tidak dicampur dengan pencadangan itu sendiri, sesuaikan parameter ini.repo1-retention-full: Jumlah pencadangan penuh yang akan dipertahankan.repo1-retention-full-type: Apakah retensi diukur berdasarkan jumlah atau jangka waktu (hari).repo1-retention-diff: Jumlah pencadangan diferensial yang akan dipertahankan.
Setelan parameter non-kritis lainnya, tetapi direkomendasikan, yang kompatibel dengan AlloyDB Omni dalam file konfigurasi mencakup hal berikut:
log-level-console: Tingkat logging yang ditulis ke layar (STDOUT) saat menjalankan perintah pgBackup. Anda dapat menyesuaikannya untuk memenuhi kebutuhan Anda dalam file konfigurasi, atau mengganti nilai ini dengan argumen command line--log-level-console. Defaultnya adalahwarn.start-fast: Memaksa checkpoint untuk memulai pencadangan dengan cepat. Defaultnya adalahn.archive-async: Mendorong file segmen WAL secara asinkron untuk performa. Defaultnya adalahn.process-max: Jumlah maksimum proses yang akan digunakan untuk kompresi dan transfer. Biasanya ditetapkan kemax_cpu/4pada cluster utama ataumax_cpu/2pada cluster standby. Defaultnya adalah1.compress-type: Algoritma kompresi yang akan digunakan. Defaultnya adalahgz.
Ada banyak parameter konfigurasi pgBackRest lainnya yang dapat disesuaikan. Dokumentasi ini hanya mencakup parameter yang wajib untuk konfigurasi AlloyDB Omni default dan beberapa setelan parameter yang direkomendasikan. Untuk mengetahui daftar lengkap parameter konfigurasi, lihat dokumentasi online Referensi Konfigurasi pgBackRest.
Setelah mengonfigurasi pgBackRest, repositori target tempat pencadangan ditulis harus diinisialisasi dengan membuat stanza, yang menggunakan parameter seperti yang ditetapkan dalam file konfigurasi.
Untuk mengonfigurasi database Anda untuk pencadangan, selesaikan langkah-langkah berikut:
Buat stanza menggunakan perintah
stanza-create.sudo -u postgres pgbackrest \ --config-path=/var/lib/BACKUP_DIR \ --stanza=omni stanza-create
Konfigurasikan database Anda untuk pencadangan.
/usr/lib/postgresql/18/bin/psql -h localhost -U postgres \ -c "ALTER SYSTEM SET archive_command='pgbackrest --config-path=BACKUP_DIR --stanza=omni archive-push %p';" \ -c "ALTER SYSTEM SET archive_mode=on;" \ -c "ALTER SYSTEM SET max_wal_senders=10;" \ -c "ALTER SYSTEM SET wal_level=replica;"
Ganti variabel berikut:
BACKUP_DIR: Direktori host tempat pencadangan Anda akan disimpan.
Mulai ulang AlloyDB Omni.
sudo systemctl restart 18
Validasi konfigurasi pencadangan.
/usr/lib/postgresql/18/bin/psql -h localhost -U postgres \ -c "SELECT name, setting FROM pg_catalog.pg_settings WHERE name IN ('archive_command', 'archive_mode', 'max_wal_senders', 'wal_level') ORDER BY name"Lakukan pemeriksaan pgBackRest.
sudo -u postgres pgbackrest \ --config-path=BACKUP_DIR \ --stanza=omni \ check
Ganti variabel berikut:
BACKUP_DIR: Direktori host tempat pencadangan Anda akan disimpan.
Melakukan pencadangan
Lakukan pencadangan penuh.
sudo -u postgres pgbackrest \ --config-path=BACKUP_DIR \ --stanza=omni \ --type=full backup
Ganti variabel berikut:
BACKUP_DIR: Direktori host tempat pencadangan Anda akan disimpan.
Lakukan pencadangan diferensial.
sudo -u postgres pgbackrest \ --config-path=BACKUP_DIR \ --stanza=omni \ --type=diff backup
Ganti variabel berikut:
BACKUP_DIR: Direktori host tempat pencadangan Anda akan disimpan.
Laporkan pencadangan.
sudo -u postgres pgbackrest \ --config-path=BACKUP_DIR \ --stanza=omni \ info
Ganti variabel berikut:
BACKUP_DIR: Direktori host tempat pencadangan Anda akan disimpan.
Menyiapkan pencadangan terjadwal
Untuk menyiapkan pencadangan terjadwal, buat cron job yang menjalankan perintah pgbackrest backup sesering yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat
Menjadwalkan pencadangan.
Konfigurasi kustom dan pencadangan jarak jauh
Setelah konfigurasi dasar berfungsi, Anda dapat menyesuaikan file konfigurasi agar sesuai dengan kebutuhan dan preferensi Anda menggunakan opsi yang didokumentasikan dalam referensi konfigurasi pgBackRest.
Hal ini mencakup penentuan repositori pencadangan tambahan yang terletak di mesin jarak jauh, atau di cloud. Jika Anda menentukan beberapa repositori, pgBackRest akan menulis ke semuanya secara bersamaan sebagai tindakan pencadangan default.
Misalnya, pgBackRest mendukung penggunaan bucket Cloud Storage sebagai repositori pencadangan, dengan sejumlah opsi konfigurasi terkait. Bagian berikut menunjukkan salah satu cara menggunakan opsi ini.
Contoh konfigurasi menggunakan Cloud Storage
Langkah-langkah di bagian ini didasarkan pada file konfigurasi yang diperkenalkan di Konfigurasi dasar dengan pencadangan lokal. Perubahan pada file tersebut menentukan repositori pencadangan kedua di bucket Cloud Storage, yang diakses melalui Identity and Access Management (IAM).
Gaya autentikasi otomatis dalam contoh ini mengharuskan cluster AlloyDB Omni berjalan di instance VM Compute Engine. Jika Anda tidak menjalankan AlloyDB Omni di instance VM Compute Engine, Anda tetap dapat mencadangkan ke bucket Cloud Storage dengan menggunakan metode autentikasi lain, seperti Google Cloud kunci akun layanan yang disimpan ke sistem file lokal.
Untuk memperluas file konfigurasi sebelumnya guna menentukan repositori pgBackRest berbasis Cloud Storage, ikuti langkah-langkah berikut:
Konfigurasikan izin bucket untuk mengizinkan akun layanan yang terlampir ke instance VM Anda untuk menulis ke bucket. Hal ini memerlukan peran IAM Pengguna Objek Penyimpanan yang ditetapkan pada akun layanan tersebut.
Tambahkan baris berikut ke bagian
[global]filepgbackrest.confAnda:# Cloud Storage access details: repo2-type=gcs repo2-gcs-key-type=auto repo2-storage-verify-tls=n # Cloud Storage bucket and path details: repo2-gcs-bucket=BUCKET_NAME repo2-path=PATH_IN_BUCKET # Cloud Storage backup retention parameters: repo2-retention-full=8 repo2-retention-full-type=countGanti variabel berikut:
BUCKET_NAME: Nama bucket Cloud Storage yang Anda inginkan untuk menyimpan pencadangan pgBackRest.PATH_IN_BUCKET: Jalur direktori di bucket Cloud Storage yang Anda inginkan untuk menyimpan pencadangan pgBackRest.
Inisialisasi lokasi pencadangan berbasis cloud menggunakan the
pgbackrest stanza-createcommand:sudo -u postgres pgbackrest \ --config-path=BACKUP_DIR \ --stanza=omni stanza-create
Ganti variabel berikut:
BACKUP_DIR: Direktori host tempat pencadangan Anda akan disimpan.
Setelah Anda menginisialisasi repositori pencadangan di bucket Cloud Storage menggunakan perintah pgbackrest stanza-create, pgBackRest dapat mencadangkan ke dua lokasi:
Lokasi di sistem file lokal, yang ditentukan di tempat lain dalam file konfigurasi sebagai
repo1-path. Ini adalah lokasi default jika--repotidak ditentukan dalam perintahpgbackrest.Bucket Cloud Storage, yang ditentukan menggunakan perintah konfigurasi
repo2-gcs-bucketyang disiapkan oleh contoh ini. Untuk menggunakan bucket Cloud Storage, tentukan--repo=2dalam perintahpgbackrest.