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 di 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 ripristino comuni, con esempi di comandi pertinenti.

Per ulteriori informazioni sulla configurazione di Barman per l'utilizzo con AlloyDB Omni, consulta 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 ulteriori informazioni sull'installazione di AlloyDB Omni, consulta Installare AlloyDB Omni.

  • 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 eseguire l'autenticazione 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.

Eseguire il ripristino utilizzando un backup specifico

  1. Sul server di destinazione, arresta AlloyDB Omni:

       sudo systemctl stop alloydbomni18
  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 backup specifico, esegui il barman show-backup comando.

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

    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 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/18.

  1. Sul server di database di destinazione AlloyDB Omni, avvia il servizio:

    sudo systemctl start alloydbomni18

Dopo il riavvio del servizio, connettiti al server AlloyDB Omni. Dovresti visualizzare i database e i dati ripristinati.

Eseguire il ripristino a un momento specifico

Per eseguire un ripristino 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 recupero point-in-time di Barman.

Il seguente comando mostra un esempio di utilizzo di barman recover con AlloyDB Omni con un'opzione di ripristino point-in-time:

barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="TARGET_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 PostgreSQL timestamp che specifichi sia una data sia 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/18.