Windows: Using deduplication on a volume

Hi,

since Server 2012R2 Windows has the ability to enable deduplication on volumes. This means Windows can find identically blocks on a volume and create references to them. So the block is just stored one time.

To use deduplication the Windows feature Data Deduplication (FS-Data-Deduplication) has to be enabled.

PS d:\> Import-Module ServerManager
PS d:\> Add-WindowsFeature -name FS-Data-Deduplication

The deduplication ratio can evaluated without enabling. Use the ddpeval command.


C:\>ddpeval e:\FolderToDeDup
Data Deduplication Savings Evaluation Tool
Copyright (c) 2013 Microsoft Corporation.  All Rights Reserved.

Evaluated folder: e:\FolderToDeDup
Evaluated folder size: 1,59 TB
Files in evaluated folder: 1041406

Processed files: 409789
Processed files size: 1,59 TB
Optimized files size: 610,76 GB
Space savings: 1012,87 GB
Space savings percent: 62

Optimized files size (no compression): 634,29 GB
Space savings (no compression): 989,35 GB
Space savings percent (no compression): 60

Files excluded by policy: 631617
     Small files (<32KB): 631617
Files excluded by error: 0

The expected saving for this volume is 62%. It makes sense to active deduplication.

Load the necessary powershell modules for managing deduplication.

PS d:\> Import-Module Deduplication

Enable deduplication on Volume E:

PS d:\> Enable-DedupVolume -Volume E: -UsageType Default

To List all volumes where dedup is enabled use Get-DeDupVolume

PS d:\> Get-DedupVolume

Deduplication does not work on the fly during files are stored on the volume. Means the deduplication process on a volume must triggered periodically.
Start-DedupJob starts a deduplication one time.

PS d:\> Start-DedupJob –Volume E: –Type Optimization -InputOutputThrottleLevel Medium -Memory 70 -Priority Normal 

To Schedule a deduplication use New-DedupSchedule

PS d:\> New-DedupSchedule -Days Saturday -DurationHours 0 -InputOutputThrottleLevel Medium -Memory 70 -Name "Dedup Scheduled optimization" -Start "18:00" -StopWhenSystemBusy -Type Optimization

To disable dedup on a volume. Remove the schedule and disable it. Ensure that the volume is large enough to hold the whole data :-).

PS d:\> if((Get-Volume E).Size -le (Get-DedupStatus -Volume E:).UnoptimizedSize){write-warning "Not enough Space for disable deduplication"}

Disable deduplication

PS d:\> 
PS d:\> Remove-DedupSchedule -Name "Dedup Scheduled optimization"
PS d:\> Disable-DedupVolume -Volume E: 

Michael

Leave a Reply Cancel reply