Ripristinare un cluster AlloyDB Omni utilizzando Barman

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 utente postgres senza una password.

  • Spazio libero su disco sufficiente sul server di destinazione per contenere il database ripristinato.

Ripristinare utilizzando un backup specifico

  1. 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 esempio my-omni.

    Podman

     podman stop CONTAINER_NAME

    Sostituisci CONTAINER_NAME con il nome assegnato al contenitore AlloyDB Omni durante l'installazione, ad esempio my-omni.

  2. 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 comando barman show-backup.

  3. Per recuperare il backup scelto nel server AlloyDB Omni di destinazione, esegui il comando barman recover.

    Quando esegui il comando, includi quanto segue:

    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 esempio 20230810T210200.

    • DATA_PATH: il percorso della sottodirectory data della directory dei dati del server di destinazione, ad esempio /home/your-username/alloydb-data/data.

  4. 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 esempio 20230810T210200.

  • TARGET_TIMESTAMP: la data e l'ora a cui eseguire il ripristino, in qualsiasi formato timestamp PostgreSQL che specifichi sia una data che un'ora, ad esempio 2024-02-06 00:00:00.

  • DATA_PATH: il percorso della sottodirectory data della directory dei dati del server di destinazione, ad esempio /home/your-username/alloydb-data/data.