Poiché AlloyDB Omni è compatibile con PostgreSQL, i comandi e le tecniche di ripristino dei dati descritti nel manuale di pgBackRest si applicano anche ad AlloyDB Omni. Questa pagina mostra una selezione di attività di ripristino comuni, con esempi di comandi pertinenti.
Per ulteriori informazioni sulla configurazione di pgBackRest per l'utilizzo con AlloyDB Omni, consulta Configurare pgBackRest per AlloyDB Omni.
Per informazioni basate su Kubernetes, consulta Eseguire il backup e il ripristino in Kubernetes.
Prima di iniziare
Prima di configurare AlloyDB Omni per l'utilizzo con pgBackrest, devi aver installato e in esecuzione AlloyDB Omni su un server che controlli.
Un server di database di destinazione che esegue la stessa versione principale di AlloyDB Omni del backup che vuoi ripristinare. Per ulteriori informazioni sull'installazione di AlloyDB Omni, consulta Installare AlloyDB Omni.
Un repository di backup pgBackRest contenente almeno un backup del database AlloyDB Omni di origine.
Spazio su disco libero sufficiente sul server di destinazione per contenere il database ripristinato.
Panoramica
Per eseguire un ripristino di AlloyDB Omni utilizzando pgBackRest, esegui
il pgbackrest restore comando. I parametri che fornisci al comando variano a seconda della situazione.
In generale, esegui il comando pgbackrest restore con flag che forniscono le seguenti informazioni:
- La posizione del file
pgbackrest.conf. - Il nome del repository di backup pgBackRest in cui vuoi eseguire il ripristino. Questi repository sono denominati e definiti nel file
pgbackrest.conf. - La posizione nel file system locale in cui scrivere i dati ripristinati.
- Un identificatore del backup o del momento specifico da cui vuoi eseguire il ripristino.
Quando esegui i comandi pgbackrest restore in container, ricorda di utilizzare i percorsi del file system dal punto di vista del container. Ad esempio, il percorso della directory dei dati di AlloyDB Omni è sempre /var/lib/postgresql/data, indipendentemente dalla sua posizione sul server host. Per ulteriori informazioni, consulta
Una nota sui percorsi del file system.
Eseguire un ripristino point-in-time
Questo esempio ripristina i dati da un repository pgBackRest, specificando un momento specifico in cui eseguire il ripristino. Se hai definito più repository nel file pgbackrest.conf dell'ambiente di destinazione, pgBackRest sceglie il repository da cui eseguire il ripristino in base alla disponibilità, alla velocità prevista e ad altri fattori.
L'esempio presuppone quanto segue:
Hai un file
pgbackrest.confche si trova al livello superiore della directory dei dati di AlloyDB Omni di destinazione. In questo modo, il file è disponibile perpgbackrestin container come/var/lib/postgresql/data.Hai abilitato i backup continui con la configurazione di pgBackRest.
Nell'ambiente di destinazione, esegui un ripristino PITR, specificando un timestamp in cui eseguire il ripristino:
Docker
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" \ restoreSostituisci quanto segue:
CONTAINER_NAME: il nome che hai assegnato al container AlloyDB Omni durante l'installazione, ad esempiomy-omni.STANZA: la stanza di configurazione, definita dal filepgbackrest.conf, da applicare a questo ripristino, ad esempioomni.TIMESTAMP: l'ora in cui eseguire il ripristino, ad esempio2024-02-22 19:50:00.
Podman
podman exec CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/data \ --stanza=STANZA \ --type=time \ --pg1-path=/var/lib/postgresql/data/data-RESTORED \ --target="TIMESTAMP" \ restoreSostituisci quanto segue:
CONTAINER_NAME: il nome che hai assegnato al container AlloyDB Omni durante l'installazione, ad esempiomy-omni.STANZA: la stanza di configurazione, definita dal filepgbackrest.conf, da applicare a questo ripristino, ad esempioomni.TIMESTAMP: l'ora in cui eseguire il ripristino, ad esempio2024-02-22 19:50:00.
Nell'ambiente di destinazione, arresta il container utilizzando il seguente comando:
Docker
docker container stop CONTAINER_NAMEPodman
podman container stop CONTAINER_NAMERinomina la sottodirectory
datadella directory dei dati, per precauzione:cd DATA_DIRsudo mv data data-OLDSostituisci
DATA_DIRcon il percorso del file system della directory dei dati di AlloyDB Omni.Sposta i dati ripristinati e pulisci
postgresql.auto.conf:sudo mv data-RESTORED datasudo sed -i 's|data-RESTORED|data|' data/postgresql.auto.confAvvia il container AlloyDB Omni con il server di database:
Docker
docker container start CONTAINER_NAMEPodman
podman container start CONTAINER_NAME
Ora puoi connetterti al database utilizzando psql e verificare che i dati siano stati ripristinati come previsto. In caso affermativo, puoi eliminare la copia data-OLD
della data sottodirectory che hai creato in precedenza.
Per ulteriori informazioni su PITR in pgBackRest, consulta Recupero point-in-time.
Per ulteriori informazioni sulla preparazione
di un file pgbackrest.conf per l'utilizzo con AlloyDB Omni, consulta Configurare pgBackRest per AlloyDB Omni.
Altre opzioni
Il comando pgbackrest restore è molto flessibile, con una serie di opzioni e funzionalità che puoi controllare tramite l'inserimento di diverse opzioni della riga di comando. Di seguito sono elencati alcuni esempi:
- Limitare un ripristino solo ai file modificati.
- Ripristinare solo i database selezionati.
Per una guida completa all'esecuzione dei ripristini in pgBackRest, consulta Ripristino.