Deduplicare, comprimere e crittografare i dati con Borg Backup

Una soluzione per gestire i backup in modo efficace grazie alla deduplicazione dei dati, abilitata automaticamente. Cos'è e come funziona Borg Backup.

Gli amministratori di sistema che necessitano di una soluzione per il backup programmabile e gestibile da riga di comando troveranno in Borg Backup un valido alleato.
Distribuito come software open source (i sorgenti sono pubblicati su GitHub), Borg Backup (in breve Borg) nasce come software che utilizza la deduplicazione per velocizzare i backup e gestirli in maniera efficiente.

Deduplicare i dati significa astenersi dal creare più copie identiche delle stesse informazioni: si tratta di un approccio che permette di ridurre lo spazio occupato su disco e, nel caso dei backup, concludere le operazioni di trasferimento dei dati in meno tempo.

La tecnica di deduplicazione dei dati utilizzata da Borg rende questo programma particolarmente adatto per la gestione dei backup giornalieri in quanto vengono archiviate solo le modifiche. Ogni file viene suddiviso in un numero di blocchi di lunghezza variabile e solo i blocchi mai visti prima vengono aggiunti al repository ovvero al “contenitore” che contiene i backup via via effettuati.
Ai fini della deduplicazione vengono considerati tutti i frammenti o chunk nello stesso repository, indipendentemente dal fatto che provengano da macchine diverse, da backup precedenti, dallo stesso backup o anche dallo stesso file.

Rispetto ad altri approcci al problema della deduplicazione, il metodo usato da Borg risulta efficiente poiché i dati possono essere spostati liberamente: l’algoritmo di deduplicazione sarà comunque in grado di riconoscerli.

Tutti i dati possono essere opzionalmente compressi e si può attivare la crittografia a 256 bit (algoritmi AES-OCB o ChaCha20-Poly1305), garantendo riservatezza, integrità e autenticità.

Borg nasce come applicazione destinata ai sistemi Linux ma può essere eventualmente eseguito anche su macOS, su Windows con WSL 2 oltre che su FreeBSD, OpenBSD e NetBSD.
Supportando SSH ma anche SMB e NFS, Borg può accedere ad altri sistemi collegati in rete locale o accessibili da remoto creando backup e usando cartelle condivise come destinazioni per la memorizzazione dei backup.
Gli archivi di backup possono inoltre essere montati come file system permettendo all’utente l’esame del contenuto e il ripristino delle informazioni che servono.

Chi volesse abbinare a Borg un’interfaccia grafica, può valutare l’installazione e l’utilizzo di Vorta, un pratico client open source.

Come installare e usare Borg in breve

Per installare ed utilizzare Borg su Ubuntu basta digitare quanto segue nella finestra del terminale:

sudo apt install borgbackup -y

Il comando borg --version permette di verificare la release installata sul sistema e confrontarla con le versioni di Borg disponibili.

Il seguente comando permette di inizializzare un repository di Borg specificando l’attivazione della crittografia (viene chiesto di inserire la passphrase da reinserire in fase di decodifica per accedere ai dati):

borg init --encryption=repokey /percorso-repository

Nell’esempio che segue viene chiesto di creare il backup del contenuto delle cartelle Documents e Images all’interno di un archivio chiamato Backup1:

borg create /percorso-repository::Backup1 ~/Documents ~/Images

L’archivio di backup viene automaticamente creato nel repository indicato e che è stato predisposto in precedenza.

Aggiungendo ad esempio anche l’opzione --compression zlib,9, si attiva la compressione più spinta possibile con l’algoritmo zlib:

borg create --compression zlib,9 /percorso-repository::Backup1 ~/Documents ~/Images

Recuperare il contenuto di un archivio di backup

Nel caso in cui si avesse la necessità di accedere al contenuto dei backup creati con Borg, è possibile innanzitutto ottenere la lista degli archivi salvati nel repository:

borg list /percorso-repository

Aggiungendo anche il nome dell’archivio, è possibile verificare il contenuto dello specifico backup:

borg list /percorso-repository::Backup1

La sintassi seguente permette di confrontare i backup per individuare tutte le differenze:

borg diff /percorso-repository::Backup1 Backup2

Infine, con il comando indicato di seguito si può estrarre il contenuto del backup all’interno della cartella corrente:

borg extract /percorso-repository::Backup1

Aggiungendo eventualmente anche un nome utente e una password si possono specificare le credenziali che Borg deve usare per accedere a un repository conservato su una macchina remota.

Maggiori informazioni insieme con una serie di esempi pratici sono presenti nella guida di Borg Backup in cui viene spiegato anche come accedere ai repository remoti, programmare le attività di backup e montare il contenuto degli archivi.

Ti consigliamo anche

Link copiato negli appunti