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 l'utilizzo con AlloyDB Omni, vedi Configurare Barman per AlloyDB Omni.
Prima di iniziare
Prima di ripristinare i dati di AlloyDB Omni, devi disporre di quanto segue:
Un server di database di destinazione che esegue la stessa versione principale di AlloyDB Omni del server di database di origine. Per saperne di più sull'installazione di AlloyDB Omni, consulta Installa 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 password.Spazio libero su disco sufficiente sul server di destinazione per contenere il database ripristinato.
Recuperare utilizzando un backup specifico
Sul server di destinazione, arresta AlloyDB Omni.
Docker
docker stop CONTAINER_NAME
Sostituisci
CONTAINER_NAME
con il nome assegnato al container AlloyDB Omni durante l'installazione, ad esempiomy-omni
.Podman
podman stop CONTAINER_NAME
Sostituisci
CONTAINER_NAME
con il nome assegnato al container AlloyDB Omni durante l'installazione, ad esempiomy-omni
.Sul server Barman, scegli un backup da ripristinare. Per visualizzare i backup disponibili, esegui il comando
barman list-backups
. Per visualizzare i dettagli di un backup specifico, 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 comando seguente 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 che hai assegnato 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 di 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.
Recuperare un momento specifico
Per eseguire un recupero point-in-time, segui gli stessi passaggi elencati nella sezione precedente, con una
modifica. Quando esegui il comando barman recover
, devi anche specificare una delle opzioni di ripristino 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 che hai assegnato 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
: l'ora di 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
.