In uno dei precedenti articoli ho parlato di storage pools e storage spaces. Su un volume creato dentro uno storage pool è possibile abilitare una nuova caratteristica di Windows Server 2012 che prende il nome di deduplicazione dei dati (data deduplication).
In pratica i file archiviati sul volume dove è attiva la deduplicazione vengono divisi in blocchi di dimensione variabile tra i 32KB e i 128KB. I blocchi possono quindi essere comuni a più file e i file diventano dei puntatori a tutti i blocchi che li compongono. Una serie di blocchi identici comune a n file comporta una singola archiviazione su disco al posto di n, e quindi il risparmio di spazio sul nostro storage può raggiungere anche livelli importanti.
Se si pensa ad un classico file server aziendale ci si rende conto immediatamente che molti file (magari immagini, progetti CAD, ISO, ecc.) sono archiviati in diverse cartelle da diversi utenti e generano quindi un’occupazione di spazio molto alta e soprattutto inutile. Va inoltre chosiderato che i blocchi possono essere comuni anche a file diversi tra loro.
Vediamo come configurare la data deduplication su Windows Server2012 per beneficiare del risparmio.
Innanzitutto devo aggiungere il ruolo Deduplicazione dati che trovo sotto Servizi file e archiviazione, Servizi file e iSCSI.
Ora sono pronto per verificare gli effetti della deduplicazione. Creo un nuovo storage pool e uno storage space sul server. Per farlo è possibile sbirciare l’articolo di qualche giorno fa che spiega come muoversi step-by-step.
Sul disco E: appena creato vado dunque a creare tre cartelle e in ciascuna copio l’immagine ISO del DVD di installazione di Windows Server.
La deduplicazione dei dati sul volume non è ancora attiva, quindi dovrei vedere un’occupazione di spazio di circa 9GB, trattandosi di 3 ISO da circa 3GB cadauna.
Ora avvio la configurazione della deduplicazione dei dati, cliccando con il tasto destro sul volume E: e selezionando la voce Configura deduplicazione dati.
Attivo il flag accanto alla voce Abilita deduplicazione dati. Per questo esempio inoltre modifico a 0 il numero di giorni relativi all’età dei file di cui eseguire la deduplica. In un ambiente di produzione è consigliato lasciare qualche giorno per l’”assestamento” dei file che, appena creati, tendono ad essere modificati con più frequenza. Il wizard, di default, propone 5 giorni che può essere un buon compromesso.
Confermo cliccando su OK.
In Server Manager mi sposto su Server e clicco con il tasto destro sul nome del server. Seleziono dunque Pianificazione deduplicazione sul menù.
Abilito la schedulazione e inserisco un orario di avvio della procedura di deduplicazione dei dati.
Il sistema così configurato esegue una deduplicazione in background durante la normale attività del server, sospendendola quando il sistema è occupato. All’ora specificata, invece, la deduplicazione avviene a velocità effettiva sfruttando completamente le risorse disponibili per il numero di ore specificate.
Tornando ad analizzare il volume posso vedere che la deduplicazione è attiva. Non essendo ancora partito il primo processo di deduplica ho, ovviamente, uno spazio risparmiato pari a zero.
A questo punto posso attendere fino a vedere la deduplicazione avviarsi, oppure forzarla manualmente da powershell con il comando:
Start-DedupJob –Type Optimization –Volume E:
E, sempre da powershell, posso tenere sotto controllo lo stato di avanzamento dei job di deduplica con il comando
Get-DedupJob
Ad ogni modo, una volta avviato il processo grazie alla schedulazione o ad una forzatura manuale, si possono cominciare a vederne i benefici tramite Server Manager. A lavoro ultimato il risparmio di spazio sarà quindi il massimo possibile.
Anche dalle proprietà del volume è possibile vedere, in modo molto chiaro, la percentuale di spazio risparmiata e i GB effettivamente “guadagnati” che, nel mio caso, corrispondono effettivamente a circa 2 volte la dimensione dell’immagine ISO.
Una cosa importante che va specificata: la deduplicazione dei dati non è supportata su volumi contenenti i database di Exchange Server o di SQL Server. Ottima, invece, se utilizzata su file server, su librerie di VHD in ambiente di virtualizzazione, su volumi che di Exchange e SQL contengono i backup.
Leave a Reply