Ripristinare un cluster AlloyDB Omni utilizzando Barman

Seleziona una versione della documentazione:

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

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

Recuperare 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 container AlloyDB Omni durante l'installazione, ad esempio my-omni.

    Podman

     podman stop CONTAINER_NAME

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

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

  • TARGET_TIMESTAMP: l'ora di ripristino, in qualsiasi formato timestampPostgreSQL 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.