
Concetti di Informatica | Tipologie di backup
Nel mondo digitale di oggi i dati sono una risorsa preziosa. Che si tratti di ricordi personali o del patrimonio informativo di un'azienda, perderli può causare danni enormi. Per questo effettuare un backup regolare è di fondamentale importanza.
Tuttavia, è cruciale fare una premessa: i backup da soli non sono sufficienti a garantire che tutto funzioni correttamente, bisogna anche considerare tutta una serie di procedure di ripristino (recovery).
Per quale motivo?
Perché se i backup e le procedure di ripristino non vengono testati, il lavoro è fatto solo a metà. In caso di problemi – come malware, danni all'infrastruttura, allagamenti, incendi o qualsiasi altro evento catastrofico – ci troveremmo a dover ripristinare l'operatività il più rapidamente possibile e per farlo è indispensabile che le procedure siano state accuratamente testate e validate.
Chiusa questa parentesi sulla recovery, concentriamoci ora sulle tipologie di backup.
Essenzialmente ne esistono tre: completo, differenziale e incrementale.
Vediamo le differenze e in quali casi conviene utilizzare ciascuna di esse.
Backup completo
É forse il più semplice da comprendere perchè consiste nell'effettuare una copia completa di tutti i dati che vogliamo preservare.
Se abbiamo una cartella di 100 GB, il backup completo ne occuperà altrettanti. Se il giorno dopo modifichiamo o aggiungiamo dati (ad esempio 1 GB) un nuovo backup completo copierà tutto generando un archivio completo, inserendo tutti i file, indipendentemente da cosa sia stato aggiunto o modificato.
Il vantaggio principale è nella semplicità di ripristino: basta prendere il file di backup e recuperare tutto il suo contenuto.
Lo svantaggio è invece rappresentato dal notevole spazio di archiviazione richiesto.
I tempi per completare l'operazione possono essere lunghi, specialmente in presenza di grandi quantità di dati per cui questo approccio può essere insostenibile quando è prevista una frequenza elevata di backup.
Backup differenziale
In questo caso si parte sempre da un backup completo iniziale.
Nei giorni successivi il backup differenziale salva solo i dati che sono stati aggiunti o modificati rispetto all'ultimo backup completo. Ad esempio, dopo un backup completo il primo giorno, se il secondo giorno viene aggiunto 1 GB di dati solo quest'ultimo verrà effettivamente salvato.
Se il terzo giorno si aggiungono altri 2 GB, il backup differenziale salverà tutti i dati modificati o aggiunti dall'ultimo backup completo (quindi 1 GB del secondo giorno più i 2 GB del terzo giorno per un totale di 3 GB).
In pratica cumula tutte le modifiche effettuate rispetto all'ultimo backup completo.
I vantaggi riguardano il minore spazio di archiviazione richiesto nonchè i tempi di esecuzione altrettanto inferiori rispetto al backup completo.
Gli svantaggi sono essenzialmente:
- complessità nel ripristino: non basta l'ultimo backup differenziale ma è necessario anche l'ultimo completo
- crescita delle dimensioni nel tempo: poiché vengono memorizzate tutte le modifiche dall'ultimo backup completo, le dimensioni dei backup differenziali tendono a crescere in funzione della frequenza di esecuzione. Da un certo punto in poi possono soffrire di problemi simili al backup completo che quindi va ripetuto ad intervalli regolari.
####### Backup incrementale
Questa tipologia adotta una logica leggermente diversa per ottimizzare ulteriormente spazio e tempo.
Anche in questo caso si parte da un backup completo.
Il secondo giorno si memorizzano solo i dati modificati o aggiunti (ad esempio 1 GB di dati). La differenza sostanziale si vede dal terzo giorno: vengono memorizzate solo le modifiche apportate rispetto all'ultimo backup incrementale. Quindi se si tratta di altri 2 GB di dati, verranno salvati solo questi 2 GB e non tutti i 3 GB dall'ultimo backup completo come farebbe il differenziale.
In sostanza considera solo le modifiche dall'ultimo backup effettuato, qualunque esso sia (completo o incrementale).
I vantaggi sono evidenti:
- dimensioni dei backup di gran lunga inferiori rispetto alle altre due tipologie
- maggiore velocità di esecuzione
Quindi si presta bene a situazioni in cui è necessaria una frequenza di backup molto elevata.
Lo svantaggio principale è dato dalla maggiore complessità nel ripristino che richiede sia il backup completo iniziale (o l'ultimo disponibile) che tutti quelli incrementali creati successivamente.
Ciascun backup incrementale rappresenta un anello di una catena: se manca uno solo di questi non è possibile ripristinare correttamente tutte le modifiche effettuate.
Ma come scegliere la strategia giusta?
In linea di massima non esiste una soluzione universale: la scelta dipende dal contesto specifico.
Se la frequenza di modifica dei dati è bassa una strategia con backup differenziali può avere senso ma se i dati cambiano frequentemente o si ha la necessità di fare backup molto ravvicinati, il backup incrementale è più conveniente perché è più veloce e occupa meno spazio.
La frequenza con cui si effettuano i backup è strettamente legata alla quantità di dati che possiamo permetterci di perdere in caso di incidente.
Questo concetto è legato a due metriche fondamentali nel disaster recovery: l'RPO (Recovery Point Objective) e l'RTO (Recovery Time Objective).
Il primo definisce la quantità massima di dati che un'azienda può permettersi di perdere, influenzando direttamente la frequenza dei backup.
L'RTO invece definisce il tempo massimo accettabile per ripristinare l'operatività.
Stabilire con esattezza questi valori è cruciale per determinare non solo la frequenza, ma anche le strategie di backup e recovery da adottare.
Parleremo di RPO e RTO in dettaglio in un prossimo articolo.
Spesso le strategie vengono combinate e prevedono un backup completo seguito da una serie di backup incrementali o differenziali, e poi un altro backup completo periodico per "consolidare" i dati e ridurre la lunghezza della catena di ripristino necessaria.
E ricordiamoci sempre che il backup è solo una parte della soluzione: testare regolarmente le procedure di ripristino è altrettanto vitale.