Abbiamo già parlato in modo piuttosto esteso delle funzionalità e dei vantaggi dell’uso di FreeNAS come gestore dello storage, ma in questo articolo andremo a vedere in modo semplice e operativo come creare, utilizzare e ripristinare gli snapshot.
Uno snapshot si può descrivere con una “fotografia” dello stato dello storage in un determinato istante nel tempo, che permette di effettuare il cosiddetto Rollback a una situazione precedente. Grazie al meccanismo Copy-On-Write di ZFS (descritto nel precedente articolo) le operazioni di snapshot sono particolarmente veloci e occupano pochissimo spazio.
Partendo da una installazione di FreeNAS già funzionante e dotata di storage configurato, la situazione più comune in cui ci troveremo è quella di un volume ZFS a cui corrispondono una o più cartelle condivise in rete. Queste share possono essere attaccate da un ransomware o possono semplicemente subire cancellazioni parziali o accidentali. In una situazione del genere, la presenza degli snapshot correttamente configurati può risultare una soluzione salvavita.
Andremo prima di tutto ad analizzare i passaggi necessari su FreeNAS, per poi procedere con le attività sul client Windows. In primo luogo bisogna attivare il servizio di condivisione (CIFS) e creare la cartella da condividere: per semplicità in questo esempio ne utilizzeremo una sola che corrisponde all’intero storage a disposizione nell’ambiente di test.
Una volta creata la condivisione, si può attivare creazione automatica degli snapshot, che possono essere pianificati definendo: la finestra temporale di esecuzione, il tempo di mantenimento in memoria, i giorni della settimana e l’intervallo tra eventuali tentativi falliti.
Dalla lista degli snapshot eseguiti è possibile, per ognuno, effettuare tre operazioni principali: clonarlo, cancellarlo o effettuarne il rollback. Quest’ultima operazione è quella che principalmente ci interessa, infatti permette di ripristinare lo storage esattamente allo stato in cui si trovava in quel momento.
A questo punto si può passare al client Windows, dove sarà necessario verificare il corretto accesso alla cartella di rete. Da qui si può osservare in modo diretto il funzionamento degli snapshot: dopo aver rimosso alcune cartelle, abbiamo effettuato un rollback e nella slide 5 si può osservare come il ripristino sia andato a buon fine.
L'esempio che abbiamo portato si riferisce a una situazione di test estremamente semplificata, ma vuole essere di spunto per il setup in condizioni reali di produzione con tutte le complessità conseguenti. E' importante specificare che la gestione di permessi, cartelle, sottocartelle e relativi snapshot può essere molto più granulare di quella riportata nell'articolo. FreeNAS consente la creazione di Dataset e volumi dedicati (al cui interno si possono creare le share di rete con una gestione totale dei permessi di accesso), ognuno con i relativi task di snapshot e conseguenti possibilità di ripristino.