Indice dei contenuti dell'articolo:
Un piano di disaster recovery è fondamentale per le aziende, poiché garantisce la continuità delle attività in caso di eventi imprevisti come interruzioni di corrente, incendi, inondazioni, attacchi informatici e altri disastri naturali o artificiali. Borg è una soluzione Open Source, gratuita ed altamente performante per il backup dei dati, che consente di creare copie di sicurezza dei dati aziendali in modo semplice e affidabile. Grazie alla sua elevata compressione e alla funzione di deduplicazione dei dati, Borg consente di utilizzare al meglio lo spazio di archiviazione disponibile, riducendo al minimo i costi di archiviazione. Inoltre, Borg offre una facile integrazione con altri sistemi e strumenti, rendendolo un’ottima scelta per le aziende di qualsiasi dimensione.
Cos’è Borg
BorgBackup (abbreviazione: Borg) è un programma di backup per la deduplicazione. Facoltativamente, supporta la compressione e la crittografia autenticata.
L’obiettivo principale di Borg è fornire un modo efficiente e sicuro per eseguire il backup dei dati. La tecnica di deduplicazione dei dati utilizzata rende Borg adatto ai backup giornalieri poiché vengono archiviate solo le modifiche. La tecnica di crittografia autenticata lo rende adatto per backup su destinazioni non completamente attendibili.
Consulta il manuale di installazione o, se hai già scaricato Borg, docs/installation.rst
per iniziare con Borg. È disponibile anche una documentazione offline , in più formati.
Sui sistemi Linux, hai molte opzioni per creare e mantenere i backup dei tuoi file. Oggi parliamo di un altro strumento che potresti trovare utile: BorgBackup.
BorgBackup, o “Borg” in breve, è un programma di backup che supporta la deduplicazione, la compressione e la crittografia. Borg fornisce un modo efficiente e sicuro per eseguire il backup dei dati.
Caratteristiche principali di Borg Backup
- Archiviazione efficiente in termini di spazio
-
La deduplicazione basata sul chunking definito dal contenuto viene utilizzata per ridurre il numero di byte archiviati: ogni file viene suddiviso in un numero di blocchi di lunghezza variabile e solo i blocchi che non sono mai stati visti prima vengono aggiunti al repository.
Un pezzo è considerato duplicato se il suo valore id_hash è identico. Un hash crittograficamente forte o una funzione MAC viene utilizzata come id_hash, ad esempio (hmac-)sha256.
Per la deduplicazione vengono presi in considerazione tutti i chunk nello stesso repository, indipendentemente dal fatto che provengano da macchine diverse, da backup precedenti, dallo stesso backup o anche dallo stesso singolo file.
Rispetto ad altri approcci di deduplicazione, questo metodo NON dipende da:
- i nomi di file/directory rimangono gli stessi: così puoi spostare le tue cose senza interrompere la deduplicazione, anche tra macchine che condividono un repository.
- file completi o timestamp rimangono gli stessi: se un file di grandi dimensioni cambia leggermente, è necessario archiviare solo alcuni nuovi blocchi: questo è ottimo per macchine virtuali o dischi non elaborati.
- La posizione assoluta di un blocco di dati all’interno di un file: le cose potrebbero essere spostate e verranno comunque trovate dall’algoritmo di deduplicazione.
- Velocità
-
- il codice critico per le prestazioni (chunking, compressione, crittografia) è implementato in C/Cython
- memorizzazione nella cache locale di file/blocchi di dati dell’indice
- rilevamento rapido di file non modificati
- Crittografia dei dati
- Tutti i dati possono essere protetti utilizzando la crittografia AES a 256 bit, l’integrità e l’autenticità dei dati vengono verificate utilizzando HMAC-SHA256. I dati sono crittografati lato client.
- Offuscazione
- Facoltativamente, borg può offuscare attivamente, ad esempio, la dimensione di file / blocchi per rendere più difficili gli attacchi di fingerprinting.
- Compressione
-
Tutti i dati possono essere opzionalmente compressi:
- lz4 (super veloce, bassa compressione)
- zstd (vasta gamma da alta velocità e bassa compressione a alta compressione e bassa velocità)
- zlib (velocità media e compressione)
- lzma (bassa velocità, alta compressione)
- Backup fuori sede
- Borg può archiviare dati su qualsiasi host remoto accessibile tramite SSH. Se Borg è installato sull’host remoto, è possibile ottenere grandi guadagni in termini di prestazioni rispetto all’utilizzo di un filesystem di rete (sshfs, nfs, …).
- Backup montabili come filesystem
- Gli archivi di backup possono essere montati come filesystem di spazio utente per un facile esame interattivo di backup e ripristini (ad esempio utilizzando un normale file manager).
- Facile installazione su più piattaforme
-
Offriamo binari a file singolo che non richiedono l’installazione di nulla: puoi semplicemente eseguirli su queste piattaforme:
- Linux
- Mac OS X
- FreeBSD
- OpenBSD e NetBSD (nessun supporto per xattr/ACL o binari ancora)
- Cygwin (sperimentale, non ancora binari)
- Sottosistema Linux di Windows 10 (sperimentale)
- Software gratuito e open source
-
- sicurezza e funzionalità possono essere verificate in modo indipendente
- concesso in licenza con la licenza BSD (3 clausole), vedere Licenza per la licenza completa
Perché usare Borg?
A causa della funzione di deduplicazione di Borg, memorizza solo le modifiche tra le directory. Questo rende il backup con Borg veloce! Borg ti offre anche un’opzione per comprimere file e directory, in modo che anche i tuoi backup siano efficienti in termini di spazio.
Infine, Borg supporta la crittografia dei tuoi file lato client. Ciò significa che puoi eseguire il backup su spazi di archiviazione di cui non ti fidi completamente poiché i tuoi dati verrebbero crittografati prima che vengano trasferiti!
Installare BorgBackup
BorgBackup non è installato sui sistemi Linux per impostazione predefinita. Quindi, per iniziare a usare Borg, dovrai prima installarlo. Puoi installare Borg con un solo comando.
sudo apt-get install borgbackup
Creare un archivio di backup
Ora che hai installato Borg, iniziamo a eseguire il backup dei tuoi file! Prima che i backup possano essere archiviati, dovrai avviare un repository di backup Borg. Per creare un repository di backup crittografato, è necessario utilizzare il --encryption
flag.
borg init --encryption = repokey /percorso/a/backup_repo
Borg ti chiederà di inserire la passphrase che dovrebbe essere utilizzata per crittografare il repository.
Creare un backup
E ora è il momento di creare il nostro primo backup! Puoi creare un backup della directory_origine in un archivio di backup chiamato “archivio1” nel backup_repo:
borg create /percorso/a/backup_repo::archive1 /percorso/a/directory_origine
Puoi anche usare il --compression
flag per creare un archivio di backup compresso.
borg create --compression COMPRESSION_ALGORITHM.COMPRESSION_LEVEL /path/to/backup_repo::archive1 /path/to/source_directory
Borg ti offre quattro COMPRESSION_ALGORITHM tra cui scegliere lz4
, zstd
, zlib
e lzma
. La compressione è lz4
di default. COMPRESSION_LEVEL
può variare da 0
a 9
, 9
essendo il più alto. Ad esempio, per utilizzare zlib
con il livello di compressione più alto, puoi eseguire:
borg create --compression zlib,9 /path/to/backup_repo::archive1 /path/to/source_directory
Recuperare un backup
Probabilmente vorrai ripristinare un backup ad un certo punto. Per fortuna, recuperare un backup con Borg è altrettanto semplice!
Innanzitutto, puoi elencare tutti gli archivi di backup nel tuo repository di backup.
borg list /percorso/di/backup_repo
Borg elencherà tutti gli archivi di backup archiviati nel repository:
archivio1 gio, 23-04-2020 01:20:30
archivio2 ven, 24-04-2020 01:20:30
Puoi anche elencare i contenuti all’interno di un archivio.
borg list /percorso/di/backup_repo::archivio1
Per estrarre un backup e scaricarne i file nella directory corrente, puoi utilizzare:
borg extract /percorso/di/backup_repo::archive1
Prima di estrarre un particolare file di archivio, potresti voler confrontare diversi archivi per trovare la versione giusta che desideri utilizzare. Puoi confrontare gli archivi senza estrarli usando:
borg diff /percorso/di/backup_repo::archivio1 archivio2
Puoi usare Borg anche per operare su una directory di backup remota. Tutta la sintassi sarebbe la stessa, ma dovrai specificare il nome utente e il server nel percorso del repository di backup.
borg extract username@server:/path/to/backup_repo::archive1
Montare un repository di backup
Infine, se non sai quali file vuoi ripristinare e devi esaminare i file, puoi montare un archivio o l’intera directory di backup. Ciò ti consentirà di sfogliare l’archivio e ripristinare i singoli file.
Per montare una directory remota, devi prima creare una directory locale scrivibile. Quindi, puoi andare avanti e montare il repository.
mkdir /tmp/mountborg mount nomeutente@server:/percorso/a/backup_repo /tmp/mount
Dopo aver finito di operare sul repository di backup, puoi smontarlo:
borg smonta /tmp/monta
Conclusione
Borg è un modo efficiente per eseguire il backup dei tuoi file! In questo post, abbiamo trattato la maggior parte degli usi di base di Borg. Ricorda, puoi sempre ottenere aiuto usando il comando borg help
o visitando la pagina della documentazione di Borg!