Windows Server Data Deduplication: installazione, configurazione e gestione della deduplica
La quantità di dati archiviati sui file server e sulle piattaforme di virtualizzazione continua a crescere anno dopo anno. Tra documenti, immagini ISO, backup e soprattutto dischi virtuali (VHD/VHDX), non è raro ritrovarsi con decine o centinaia di gigabyte di dati che, in realtà, contengono moltissime informazioni duplicate. Pensiamo, ad esempio, a un ambiente Hyper-V in cui sono presenti numerose macchine virtuali installate a partire dalla stessa immagine di Windows Server: gran parte dei file di sistema sarà identica in ogni disco virtuale, con un conseguente spreco di spazio che potrebbe essere evitato.
Per risolvere questo problema, Microsoft ha introdotto in Windows Server 2012 la funzionalità Data Deduplication, che in questo articolo chiameremo semplicemente deduplica. Lo scopo della deduplica è individuare i blocchi di dati identici presenti all’interno di un volume, conservarne una sola copia e sostituire tutte le altre con riferimenti al blocco originale. Il risultato è una significativa riduzione dello spazio occupato su disco, senza modificare il modo in cui utenti e applicazioni accedono ai file.
Questa tecnologia è particolarmente efficace negli ambienti in cui sono presenti molti file simili, come repository di backup, condivisioni contenenti immagini ISO o raccolte di dischi virtuali (VHD/VHDX). In questi scenari il risparmio di spazio può essere davvero significativo.
In questa guida vi voglio mostrare come installare e configurare la deduplica in Windows Server, analizzeremo i prerequisiti e le limitazioni della funzionalità e realizzeremo una demo dedicata alla deduplica dei dischi delle macchine virtuali Hyper-V. Approfondiremo inoltre quali workload sono supportati da Microsoft e quali sono le best practice da seguire prima di abilitare la funzionalità.

Figura 1: Funzionamento della deduplica: i blocchi di dati duplicati vengono memorizzati una sola volta e condivisi tra più file
Prerequisiti e limitazioni
Prima di abilitare la deduplica è importante conoscere alcuni prerequisiti e le principali limitazioni della funzionalità.
La deduplica può essere abilitata solo sui volumi dati e non è supportata sul volume di sistema o sul volume di avvio del sistema operativo. Prima di poterla utilizzare è inoltre necessario installare la funzionalità Data Deduplication, inclusa nel ruolo File and Storage Services.
Per ottenere le migliori prestazioni, Microsoft consiglia di utilizzare un volume NTFS formattato con Allocation Unit Size di 64 KB. Questa configurazione è particolarmente indicata per volumi che ospitano file di grandi dimensioni, come i VHDX delle macchine virtuali Hyper-V.
La deduplica viene eseguita a livello di volume e non di singolo file. Dopo l’abilitazione, un processo di ottimizzazione analizza i dati, identifica i blocchi duplicati e li sostituisce con riferimenti a una copia univoca. L’operazione è completamente trasparente per applicazioni e utenti.
Nel corso degli anni Microsoft ha introdotto diversi workload, ciascuno ottimizzato per uno specifico scenario di utilizzo, come file server, repository di backup, infrastrutture VDI e Hyper-V. Nel corso della guida analizzeremo nel dettaglio il workload Hyper-V, evidenziando quali configurazioni sono supportate e quali limitazioni è necessario tenere presenti.
Scenari di utilizzo consigliati
La deduplica offre i maggiori benefici quando il volume contiene una quantità elevata di dati simili o ripetitivi. Gli scenari consigliati da Microsoft includono i file server, i repository di backup e i volumi che ospitano dischi virtuali Hyper-V, dove è frequente trovare numerosi file con contenuti quasi identici.
Prima di abilitarla in produzione è comunque opportuno valutare il carico di lavoro e stimare il potenziale risparmio di spazio. Non tutti gli scenari traggono gli stessi benefici dalla deduplica e, in alcuni casi, il rapporto tra risparmio ottenuto e overhead introdotto potrebbe non essere conveniente.
| Scenario di utilizzo | Supportato | Note |
| File Server per utilizzo generale | SI | Ideale per condivisioni di documenti, immagini ISO, software e dati con elevata duplicazione. |
| Virtualizzazione Hyper-V | SI | Consigliato per volumi che ospitano file VHD/VHDX di macchine virtuali. In Windows Server 2016 e successivi è supportato anche per workload Hyper-V con VM Windows Server. |
| Virtual Desktop Infrastructure (VDI) | SI | Ottimizzato per infrastrutture con numerosi desktop virtuali che condividono la stessa immagine di base. |
| Repository di backup | SI | Indicato per archivi di backup che contengono più versioni degli stessi dati. |
| Volumi CSV (Cluster Shared Volumes) | SI | Supportato nei cluster di failover, nel rispetto delle configurazioni supportate da Microsoft. |
| Volume di sistema o di avvio | NO | La deduplica non può essere abilitata sul volume contenente il sistema operativo. |
Installazione della funzionalità Data Deduplication
La deduplica non è installata per impostazione predefinita in Windows Server e deve essere aggiunta tramite Server Manager oppure utilizzando PowerShell.
Aprite Server Manager, selezionate Add Roles and Features e seguite la procedura guidata fino alla sezione Server Roles. Espandete File and Storage Services > File and iSCSI Services, selezionate Data Deduplication e confermate l’installazione delle funzionalità richieste, come mostrato nella figura seguente:

Figura 2: Installazione della funzionalità Data Deduplication da Server Manager
In alternativa, è possibile installare la funzionalità con un unico comando PowerShell:
|
1 2 |
Install-WindowsFeature FS-Data-Deduplication -IncludeManagementTools |
Al termine dell’installazione non è necessario riavviare il server. La funzionalità è immediatamente disponibile e può essere configurata sui volumi dati.
Valutare il potenziale di deduplica
Prima di abilitare la deduplica in un ambiente di produzione, è consigliabile stimare il risparmio di spazio ottenibile. A questo scopo Microsoft mette a disposizione DDPEval, uno strumento che analizza il contenuto di un volume o di una cartella e calcola il potenziale beneficio della deduplica, senza apportare alcuna modifica ai dati.
Dopo aver installato la funzionalità Data Deduplication, lo strumento è disponibile nel percorso C:\Windows\System32\DDPEval.exe
Per analizzare il volume D: è sufficiente eseguire il comando seguente:
|
1 2 |
DDPEval.exe D:\ |
In alternativa, è possibile analizzare una cartella specifica:
|
1 2 |
DDPEval.exe D:\VMs |
Al termine dell’analisi viene visualizzato un report contenente diverse informazioni, tra cui il numero di file analizzati, lo spazio occupato, il potenziale risparmio ottenibile e la relativa percentuale. Questi dati consentono di valutare rapidamente se il volume è un buon candidato per la deduplica.
Nell’esempio seguente l’analisi è stata eseguita mentre le macchine virtuali erano accese e in esecuzione. Nonostante alcuni file risultino in uso e non possano essere analizzati completamente (Files excluded by error), DDPEval è comunque in grado di fornire una stima attendibile del potenziale risparmio di spazio.
Nel nostro caso lo strumento ha stimato un recupero di circa 95,3 GB, pari al 79% dei dati analizzati. La presenza di alcuni file bloccati dalle macchine virtuali in esecuzione può influenzare leggermente il risultato, ma non impedisce di valutare l’efficacia della deduplica.

Figura 3: Valutazione del potenziale risparmio di spazio con DDPEval prima dell’abilitazione della deduplica
Nota: quando le macchine virtuali sono accese, alcuni file VHDX o relativi checkpoint possono essere aperti esclusivamente dal processo di Hyper-V. In questi casi DDPEval li segnala come Files excluded by error, ma continua comunque l’analisi degli altri file presenti sul volume. Questo comportamento è normale e non rappresenta un malfunzionamento dello strumento.
Abilitazione della deduplica
Per abilitare la deduplica tramite interfaccia grafica, aprite Server Manager e selezionate File and Storage Services > Volumes. Selezionate il volume sul quale desiderate abilitare la funzionalità, fate clic con il pulsante destro del mouse e scegliete Configure Data Deduplication.

Figura 4: Abilitazione della deduplica sul volume D: utilizzando Server Manager
Prima di abilitare la deduplica, è necessario scegliere il workload più adatto allo scenario di utilizzo. Questa impostazione determina i criteri con cui Windows Server ottimizza i dati e pianifica i processi di deduplica.
Sono disponibili tre workload:
- General Purpose File Server: consigliato per i file server tradizionali e rappresenta l’impostazione predefinita.
- Virtualized Desktop Infrastructure (VDI) server: progettato per i volumi che ospitano i dischi virtuali (VHD/VHDX) delle macchine virtuali e ottimizzato per gli ambienti di virtualizzazione.
- Virtualized Backup Server: ottimizzato per i repository di backup, ad esempio quelli utilizzati da Microsoft System Center Data Protection Manager (DPM) e da altre soluzioni di backup.
Nel nostro scenario utilizzeremo il workload VDI, poiché il volume D: ospita esclusivamente i file delle macchine virtuali.
NOTA: La documentazione Microsoft utilizza una terminologia che può trarre in inganno. Il workload Hyper-V (che nella GUI di Server Manager in alcune versioni compare ancora come Virtual Desktop Infrastructure (VDI) server) è stato originariamente progettato per gli ambienti VDI, cioè raccolte di desktop virtuali Windows Client. Tuttavia, a partire da Windows Server 2016, Microsoft ha esteso il supporto anche ai general purpose Hyper-V hosts, purché vengano valutati correttamente il carico di lavoro e i benefici della deduplica. Non è più limitato alle sole VM Windows Client come accadeva in Windows Server 2012 R2.

Figura 5: Selezione del workload durante la configurazione della deduplica
Dopo aver selezionato il workload, è possibile personalizzare alcuni parametri della deduplica.
Il campo Deduplicate files older than (in days) definisce l’età minima che un file deve avere prima di essere preso in considerazione dal processo di deduplica. Nel workload Virtual Desktop Infrastructure (VDI) server il valore predefinito è 3 giorni, una scelta che evita di elaborare file ancora soggetti a frequenti modifiche.
L’elenco Default file extensions to exclude contiene le estensioni che vengono escluse automaticamente dalla deduplica. Si tratta principalmente di file temporanei, file di paging e altri file di sistema che non trarrebbero beneficio dall’ottimizzazione.
Il campo Custom file extensions to exclude permette di aggiungere ulteriori estensioni da escludere, mentre la sezione sottostante consente di indicare eventuali cartelle che non devono essere elaborate dalla deduplica.
Facendo clic sul pulsante Set Deduplication Schedule… è possibile personalizzare la pianificazione dei processi di deduplica.
L’opzione Enable background optimization è abilitata per impostazione predefinita e consente di eseguire la deduplica in background con priorità bassa. In questo modo Windows Server ottimizza i dati quando le risorse del sistema sono disponibili, riducendo al minimo l’impatto sulle prestazioni.
È inoltre possibile abilitare uno o due processi di Throughput Optimization, che eseguono la deduplica con priorità normale nelle fasce orarie configurate. Questa modalità è indicata quando si desidera completare l’ottimizzazione in tempi più rapidi, ad esempio durante le ore notturne o nei periodi di minore attività del server.
Per ogni pianificazione è possibile definire i giorni della settimana, l’ora di avvio e la durata del processo. Nella maggior parte degli scenari è comunque sufficiente mantenere la configurazione predefinita.
Nota: la deduplica non viene eseguita immediatamente dopo l’abilitazione della funzionalità. I file vengono elaborati durante i processi di Optimization, eseguiti automaticamente secondo la pianificazione configurata oppure avviati manualmente tramite PowerShell.

Figura 6: Configurazione del workload e delle impostazioni della deduplica per il volume D:
Dopo aver confermato la configurazione, la deduplica viene abilitata sul volume selezionato. Tornando alla sezione File and Storage Services > Volumes di Server Manager è possibile verificarne immediatamente lo stato.
Poiché il processo di ottimizzazione non è ancora stato eseguito, le colonne Deduplication Rate e Deduplication Savings riportano rispettivamente un valore pari a 0% e 0,00 B, come mostrato nella figura seguente. Questi valori verranno aggiornati automaticamente al termine dell’ottimizzazione.

Figura 7: Il volume D: è stato configurato per la deduplica, ma non è ancora stato eseguito alcun processo di ottimizzazione
Verificare lo stato della deduplica
Dopo aver abilitato la deduplica, è possibile verificarne lo stato utilizzando PowerShell.
Il cmdlet Get-DedupStatus restituisce informazioni sul volume, sullo spazio ottimizzato e sul risparmio ottenuto.
|
1 2 |
Get-DedupStatus |
Tra le informazioni più interessanti troviamo il numero di file ottimizzati, lo spazio occupato prima e dopo la deduplica, il risparmio ottenuto e la percentuale di ottimizzazione. Prima dell’esecuzione del primo job di Optimization, questi valori saranno pari a zero.

Figura 8: Verifica dello stato della deduplica con il cmdlet Get-DedupStatus
Avviare manualmente un job di ottimizzazione
Per la nostra demo non attenderemo l’esecuzione automatica della deduplica, ma avvieremo manualmente il processo di Optimization.
|
1 2 |
Start-DedupJob -Volume D: -Type Optimization |
Per monitorarne l’avanzamento è sufficiente eseguire nuovamente:
|
1 2 |
Get-DedupJob | Format-Table -AutoSize |

Figura 9: Verifica dello stato della deduplica e avvio manuale del job di Optimization tramite PowerShell
Tipi di job della deduplica
La deduplica utilizza diversi job per ottimizzare e mantenere i dati nel tempo. Oltre al job Optimization, che abbiamo utilizzato nella demo, sono disponibili altri processi dedicati alla manutenzione e alla verifica dell’integrità dei dati deduplicati.
| Job | Descrizione |
| Optimization | Analizza i file, identifica i blocchi duplicati e li sostituisce con riferimenti ai dati memorizzati nel Chunk Store, riducendo lo spazio occupato sul volume. |
| Garbage Collection | Rimuove i chunk che non sono più referenziati da alcun file, recuperando ulteriore spazio su disco. |
| Scrubbing | Verifica periodicamente l’integrità dei dati deduplicati e, se possibile, corregge eventuali errori utilizzando le informazioni ridondanti disponibili. |
| Unoptimization | Ripristina i file nel loro formato originale, rimuovendo la deduplica dal volume. |
I job possono essere avviati manualmente tramite il cmdlet Start-DedupJob, specificando il tipo di operazione desiderata. Ad esempio:
|
1 2 3 4 5 6 |
Start-DedupJob -Volume D: -Type GarbageCollection Start-DedupJob -Volume D: -Type Scrubbing Start-DedupJob -Volume D: -Type Unoptimization |
Nella maggior parte degli ambienti non è necessario avviare manualmente questi processi, poiché Windows Server li esegue automaticamente in base alla pianificazione configurata. Tuttavia, possono risultare utili durante attività di manutenzione o di troubleshooting.

Figura 10: Monitoraggio del job di Optimization e dei primi risultati della deduplica
Al termine del processo di Optimization, Server Manager mostra il risparmio di spazio ottenuto sul volume. Nel nostro ambiente di test la deduplica ha consentito di recuperare 317 GB, pari a un Deduplication Rate del 71%, confermando l’elevata efficacia della funzionalità quando applicata a un volume contenente numerosi dischi virtuali Hyper-V.

Figura 11: Risultato finale della deduplica sul volume D: al termine del processo di ottimizzazione
Nota: durante tutta la procedura le macchine virtuali sono rimaste accese e operative. La deduplica di Windows Server è una funzionalità online, che non richiede lo spegnimento delle VM né interrompe l’accesso ai file presenti sul volume. I processi di ottimizzazione vengono eseguiti in background e sono progettati per ridurre al minimo l’impatto sulle prestazioni del sistema.
Prestazioni e vantaggi
La deduplica consente di ridurre in modo significativo lo spazio occupato su disco, soprattutto nei volumi che ospitano grandi quantità di dati simili, come dischi virtuali, repository di backup e immagini ISO. In questi scenari è possibile ottenere risparmi di spazio anche superiori al 70-80%, a seconda del livello di duplicazione dei dati.
Un ulteriore vantaggio è rappresentato dalla trasparenza della funzionalità. Le applicazioni e gli utenti continuano ad accedere ai file senza alcuna modifica: la deduplica opera completamente a livello di file system e non richiede interventi da parte delle applicazioni.
Dal punto di vista delle prestazioni, la deduplica introduce un leggero overhead durante le operazioni di lettura, poiché i dati devono essere ricostruiti a partire dai blocchi memorizzati nel Chunk Store. Nella pratica, tuttavia, questo impatto è generalmente trascurabile e viene compensato dai benefici derivanti dalla riduzione dell’I/O e dallo sfruttamento più efficiente della cache di sistema.
L’elaborazione dei dati avviene tramite processi in background e può essere pianificata nelle fasce orarie di minore utilizzo del server, limitando ulteriormente l’impatto sulle prestazioni complessive.
Prima di abilitare la deduplica in produzione è comunque consigliabile valutare il carico di lavoro e verificare che rientri tra gli scenari supportati da Microsoft. Sebbene la funzionalità sia ormai matura e affidabile, non tutti i workload traggono gli stessi benefici dalla deduplica.
Conclusioni
La deduplica è una funzionalità semplice da configurare e completamente trasparente per applicazioni e utenti. Negli ambienti che ospitano grandi quantità di dati simili, come repository di backup, librerie software o raccolte di dischi virtuali Hyper-V, può ridurre in modo significativo lo spazio occupato senza richiedere modifiche all’infrastruttura.
Prima di abilitare la funzionalità in produzione è comunque consigliabile verificare che il workload sia tra quelli supportati da Microsoft e valutare il potenziale beneficio sul proprio ambiente. Se utilizzata negli scenari appropriati, la deduplica rappresenta uno strumento efficace per ottimizzare lo storage e ridurre i costi di gestione dell’infrastruttura.