PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

ClusterControl - Gestione avanzata dei backup - PostgreSQL

Le informazioni sono una delle risorse più preziose in un'azienda, quindi avrai bisogno di un buon Disaster Recovery Plan (DRP) per prevenire la perdita di dati in caso di incidente o guasto dell'hardware. I backup sono un passaggio fondamentale in tutti i piani di ripristino di emergenza, ma la loro gestione e monitoraggio potrebbe essere un compito difficile se si dispone di un ambiente complesso.

ClusterControl ha molte funzionalità di gestione avanzata del backup (tra le altre importanti funzionalità come il failover automatico, il monitoraggio, ecc.), che consentono non solo di eseguire diversi tipi di backup, in modi diversi, ma anche di comprimere, crittografare, verificare e altro ancora.

In questo blog, vedremo come puoi utilizzare ClusterControl per gestire i tuoi backup in modo avanzato per il tuo cluster di database PostgreSQL.

Tipi di backup

Innanzitutto, menzioniamo quali tipi di backup puoi utilizzare per proteggere i tuoi dati.

  • Logico:il backup è archiviato in un formato leggibile come SQL.

  • Fisico:il backup contiene dati binari.

  • Completo/Incrementale/Differenziale:la definizione di questi tre tipi di backup è implicita nel nome. Il backup completo è una copia completa di tutti i tuoi dati. Il backup incrementale esegue solo il backup dei dati che sono stati modificati rispetto al backup precedente e il backup differenziale contiene solo i dati che sono stati modificati dall'ultimo backup completo eseguito. I backup incrementali e differenziali sono stati introdotti per ridurre la quantità di tempo e l'utilizzo dello spazio su disco necessari per eseguire un backup completo.

  • Compatibile con il Point In Time Recovery:PITR Implica il ripristino del database in un dato momento del passato. Per poterlo fare, dovrai ripristinare un backup completo, quindi applicare tutte le modifiche avvenute dopo il backup fino a poco prima dell'errore.

Utilizzando ClusterControl, puoi eseguire tutti questi tipi di backup per il tuo database PostgreSQL o persino combinarli per migliorare la tua strategia di backup.

Funzionalità di gestione del backup di ClusterControl

Ora, vediamo come ClusterControl può aiutarti a gestire tutti i diversi tipi di backup dalla stessa interfaccia utente e sistema di facile utilizzo.

Supponiamo che tu abbia installato il tuo server ClusterControl e che stia gestendo il tuo cluster PostgreSQL. Altrimenti, puoi seguire la nostra documentazione ufficiale per installare ClusterControl e distribuire o importare il tuo cluster PostgreSQL utilizzandolo.

Creazione di un backup

Per questo, vai su ClusterControl -> Seleziona il tuo cluster PostgreSQL -> Backup -> Crea backup.

Puoi creare un nuovo backup o configurarne uno pianificato. Per il nostro esempio, creeremo istantaneamente un singolo backup.

Qui hai un metodo per ogni tipo di backup menzionato in precedenza.

Tipo di backup

Strumento

Definizione

Logico

pg_dumpall

È un'utilità per scrivere tutti i database PostgreSQL di un cluster in un unico file di script. Il file di script contiene comandi SQL che possono essere utilizzati per ripristinare i database.

Fisico

pg_basebackup

Viene utilizzato per creare una copia binaria dei file del cluster di database assicurandosi che il sistema venga automaticamente attivato e disattivato dalla modalità di backup. Vengono sempre eseguiti backup dell'intero cluster di database di un cluster di database PostgreSQL in esecuzione. Questi vengono presi senza influenzare altri client nel database.

Completo/Incremento/Diff

pgbackrest

Si tratta di una soluzione di backup e ripristino semplice e affidabile in grado di scalare senza problemi fino ai database e ai carichi di lavoro più grandi utilizzando algoritmi ottimizzati per i requisiti specifici del database. Una delle funzionalità più importanti è il supporto per backup completi, incrementali e differenziali.

PITR

pg_basebackup + WAL

Per creare un backup compatibile PITR, ClusterControl utilizzerà pg_basebackup e i file WAL per poter ripristinare il database in qualsiasi momento del passato.

Devi scegliere un metodo, il server da cui verrà eseguito il backup e dove desideri archiviare il backup. Puoi anche caricare il backup nel cloud (AWS, Google Cloud o Azure) nello stesso processo di backup abilitando l'opzione corrispondente.

Quindi, puoi specificare la compressione, la crittografia e il periodo di conservazione del tuo backup.

Nella sezione backup, puoi vedere lo stato di avanzamento del backup e informazioni come il metodo, le dimensioni, la posizione e altro.

Ripristino di un backup

Una volta terminato il backup, puoi ripristinarlo utilizzando ClusterControl. Per questo, nella tua sezione di backup (ClusterControl -> Seleziona PostgreSQL Cluster -> Backup), puoi selezionare Ripristina backup o Ripristina direttamente sul backup che desideri ripristinare.

Sono disponibili tre opzioni per ripristinare il backup. Puoi ripristinarlo in un nodo di database esistente, ripristinare e verificare il backup su un host autonomo o creare un nuovo cluster dal backup.

Se stai tentando di ripristinare un backup compatibile con PITR, devi anche specificare l'ora.

I dati verranno ripristinati come erano all'ora specificata. Tieni presente che viene utilizzato il fuso orario UTC e che il tuo servizio PostgreSQL verrà riavviato nel nodo di destinazione.

Puoi monitorare l'avanzamento del ripristino dalla sezione Attività del server ClusterControl.

Verifica automatica del backup

Un backup non è un backup se non è ripristinabile. La verifica dei backup è qualcosa che di solito viene trascurato da molti. Vediamo come ClusterControl può automatizzare la verifica dei backup di PostgreSQL ed evitare sorprese in caso di ripristino.

In ClusterControl, seleziona il tuo cluster e vai alla sezione Backup, quindi seleziona Crea backup.

La funzione di verifica automatica del backup è disponibile per i backup pianificati. Quindi, scegliamo l'opzione Pianifica backup.

Quando si pianifica un backup, oltre a selezionare le opzioni comuni come il metodo o l'archiviazione, è necessario specificare anche la pianificazione/frequenza.

Nel passaggio successivo, puoi comprimere e crittografare il backup e specificare il periodo di conservazione. Qui hai anche la funzione Verifica backup.

Per utilizzare questa funzione, è necessario un host dedicato (o VM) che non fa parte del cluster.

ClusterControl installerà il software e ripristinerà il backup in questo host. Puoi mantenere questo nodo in esecuzione per il test o la creazione di report oppure chiudere il nodo fino al prossimo processo di verifica.

Dopo il ripristino, puoi vedere l'icona di verifica nella sezione Backup ClusterControl.

Conclusione

I backup sono obbligatori in qualsiasi ambiente poiché ti aiutano a proteggere i tuoi dati. Per gestirli, è importante disporre di un buon strumento con funzionalità di backup avanzate, per renderlo il più semplice possibile.

ClusterControl ha molte funzioni per aiutarti in questa attività, come la pianificazione del backup, il monitoraggio, la verifica del backup e altro ancora. Supporta anche diversi metodi di backup e puoi combinarli per avere un buon DRP in atto.