Questa pagina mostra come ripristinare un cluster AlloyDB Omni utilizzando un backup creato con Barman, un server di backup del database open source.
Poiché AlloyDB Omni è compatibile con PostgreSQL, i comandi e le tecniche di ripristino dei dati descritti nel manuale di Barman si applicano anche ad AlloyDB Omni. Questa pagina mostra una selezione di attività di recupero comuni, con esempi di comandi pertinenti.
Per ulteriori informazioni sulla configurazione di Barman per il funzionamento con AlloyDB Omni, consulta Configurare Barman per AlloyDB Omni.
Prima di iniziare
Prima di ripristinare i dati di AlloyDB Omni, devi avere quanto segue:
Un server database di destinazione che esegue la stessa versione principale di AlloyDB Omni del server database di origine. Per ulteriori informazioni sull'installazione di AlloyDB Omni, consulta Installare AlloyDB Omni.
Il server di destinazione può essere la stessa macchina del server di origine.
L'utilità
rsync
, installata sul server di destinazione.Un server di backup Barman con almeno un backup Barman valido del database AlloyDB Omni di origine.
Connettività SSH tra il server di backup Barman e il server di destinazione.
Chiavi SSH configurate per consentire all'utente
barman
sul server Barman di autenticarsi con il server di destinazione come utentepostgres
senza una password.Spazio libero su disco sufficiente sul server di destinazione per contenere il database ripristinato.
Ripristinare utilizzando un backup specifico
Sul server di destinazione, arresta AlloyDB Omni.
Docker
docker stop CONTAINER_NAME
Sostituisci
CONTAINER_NAME
con il nome assegnato al contenitore AlloyDB Omni durante l'installazione, ad esempiomy-omni
.Podman
podman stop CONTAINER_NAME
Sostituisci
CONTAINER_NAME
con il nome assegnato al contenitore AlloyDB Omni durante l'installazione, ad esempiomy-omni
.Sul server Barman, scegli un backup da cui eseguire il ripristino. Per visualizzare i backup disponibili, esegui il comando
barman list-backups
. Per visualizzare i dettagli di un determinato backup, esegui il comandobarman show-backup
.Per recuperare il backup scelto nel server AlloyDB Omni di destinazione, esegui il comando
barman recover
.Quando esegui il comando, includi quanto segue:
- Utilizza l'opzione di recupero remoto.
- Specifica la directory dei dati del server di destinazione come directory di destinazione.
Il seguente comando mostra un esempio di utilizzo di
barman recover
con AlloyDB Omni:barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID DATA_PATH
Sostituisci quanto segue:
TARGET_IP
: l'indirizzo IP del server di destinazione.TARGET_LABEL
: l'etichetta assegnata al server nel file di configurazione di Barman.BACKUP_ID
: l'ID del backup da cui eseguire il ripristino, identificato in un passaggio precedente, ad esempio20230810T210200
.DATA_PATH
: il percorso della sottodirectorydata
della directory dei dati del server di destinazione, ad esempio/home/your-username/alloydb-data/data
.
Sul server del database di destinazione AlloyDB Omni, avvia il servizio:
Docker
docker start CONTAINER_NAME
Podman
podman start CONTAINER_NAME
Dopo il riavvio del servizio, connettiti al server AlloyDB Omni. Dovresti vedere i database e i dati ripristinati.
Ripristinare a un punto nel tempo specifico
Per eseguire un recupero point-in-time, segui gli stessi passaggi descritti nella sezione precedente, con una sola modifica. Quando esegui il comando barman recover
, devi anche specificare una delle opzioni di recupero point-in-time di Barman.
Il seguente comando mostra un esempio di utilizzo di barman recover
con AlloyDB Omni con un'opzione di recupero point-in-time:
barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="RESTORE_TIMESTAMP" DATA_PATH
Sostituisci quanto segue:
TARGET_IP
: l'indirizzo IP del server di destinazione.TARGET_LABEL
: l'etichetta assegnata al server nel file di configurazione di Barman.BACKUP_ID
: l'ID del backup da cui eseguire il ripristino, identificato in un passaggio precedente, ad esempio20230810T210200
.TARGET_TIMESTAMP
: la data e l'ora a cui eseguire il ripristino, in qualsiasi formatotimestamp
PostgreSQL che specifichi sia una data che un'ora, ad esempio2024-02-06 00:00:00
.DATA_PATH
: il percorso della sottodirectorydata
della directory dei dati del server di destinazione, ad esempio/home/your-username/alloydb-data/data
.