Windows10で重複排除(Dedup)を使う(Part1.導入編)
Windows10で重複排除(Dedup)を使う(Part2.設定編)
Windows10で重複排除(Dedup)を使う(Part3.運用編)
前回、Windows10に重複排除機能を追加しましたが、まだ有効になっていないので、有効にする必要があります。
サーバOSであれば、以下のようにサーバマネージャというGUIツールを利用して、ドライブの重複排除の有効化や各種設定、状況確認などができるのですが、Win10にはそのようなものはありませんので、すべてPowerShellから設定、状況確認をする必要があります。




では、コマンドを利用して有効化します。
対象は、ドライブ単位になります。
今回は D:\ドライブをReFS 3.4でフォーマットしていますので、こちらを有効化します。
一旦、以下の条件で、設定してます。
設定ドライブ D: (ReFS 3.4フォーマット)
使用用途 Defualt(General purpose file Server)
(有効化)
Enable-DedupVolume -Volume “D:” -UsageType Default
(設定確認)
Get-DedupVolume –Volume “D:”
(詳細設定確認)
Get-DedupVolume –Volume “D:” | select *
なお、一部項目はすべて表示されない場合があるので、以下のように入力すると表示されます。(以下はNoCompressionFileTypeを表示する場合)
Get-DedupVolume -Volume “D:” | foreach-object NoCompressionFileType
PS C:\WINDOWS\system32>Enable-DedupVolume -Volume "D:" -UsageType Default
Enabled UsageType SavedSpace SavingsRate Volume
------- --------- ---------- ----------- ------
True Default 0 B 0 % D:
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:"
Enabled UsageType SavedSpace SavingsRate Volume
------- --------- ---------- ----------- ------
True Default 0 B 0 % D:
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:" | select *
ObjectId : \\?\Volume{cec30693-28e9-4130-84fa-386e17a18115}\
UsageType : Default
AutoStart : False
Capacity : 536669585408
ChunkIndexCacheVolume :
ChunkRedundancyThreshold : 100
DataAccessEnabled : True
Enabled : True
ExcludeFileType :
ExcludeFileTypeDefault : {edb, jrs}
ExcludeFolder :
FreeSpace : 533286092800
IdleTimeoutDefault : 60
InputOutputScale : 0
MinimumFileAgeDays : 3
MinimumFileSize : 32768
NearInlineMode : False
NoCompress : False
NoCompressionFileType : {asf, mov, wma, wmv...}
OptimizeInUseFiles : False
OptimizePartialFiles : False
SavedSpace : 0
SavingsRate : 0
UnoptimizedSize : 3383492608
UsedSpace : 3383492608
Verify : False
Volume : D:
VolumeId : \\?\Volume{cec30693-28e9-4130-84fa-386e17a18115}\
PSComputerName :
CimClass : ROOT/Microsoft/Windows/Deduplication:MSFT_DedupVolume
CimInstanceProperties : {AutoStart, Capacity, ChunkIndexCacheVolume, ChunkRedundancyThreshold...}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:" | foreach-object NoCompressionFileType
asf
mov
wma
wmv
ace
arj
bhx
bz2
cab
gz
gzip
hpk
lha
lzh
lzx
pak
pit
rar
sea
sit
tgz
z
zip
zoo
これで、D:ドライブが重複排除として設定されましたが、一部設定を変更することもできます。
なお、使用用途については、”Defualt(General purpose file Server)”をいったん設定しましたが、用途は、以下からセレクトできます。
(MSドキュメント)
| 用途 ________ | 設定値 _____ | 特徴 _______________________ | 動作________________________ |
| 汎用ファイルサーバ | Default | 汎用ファイル サーバーでは、同じファイルの多くのコピーまたはバージョンを複数のユーザーが所有する傾向があるため、データ重複除去の有力候補です。 ソフトウェア開発用の共有は、多くのバイナリがビルドごとに基本的に変更されていないため、データ重複除去の恩恵を受けることになります。 | バックグラウンドの最適化 既定の最適化ポリシー:ファイルの最小経過期間 = 3 日 使用中のファイルの最適化 = なし 部分的なファイルの最適化 = なし |
| 仮想デスクトップ インフラストラクチャ (VDI) の展開 | HyperV | 仮想デスクトップ インフラストラクチャ (VDI) の展開: リモート デスクトップ サービスなどの VDI サーバーは、組織がユーザーにデスクトップをプロビジョニングするための軽量のオプションになります。 | バックグラウンドの最適化 既定の最適化ポリシー:ファイルの最小経過期間 = 3 日 使用中のファイルの最適化 = あり 部分的なファイルの最適化 = あり Hyper-V 相互運用のための「内部的」な調整 |
| 仮想化されたバックアップ アプリケーションなどのバックアップ先 | Backup | バックアップ スナップショット間には大幅な重複があるため、Microsoft Data Protection Manager (DPM) などのバックアップ アプリケーションはデータ重複除去の有力候補です。(WinSV2016から設定可能) | 優先度の最適化 既定の最適化ポリシー:ファイルの最小経過期間 = 0 日 使用中のファイルの最適化 = あり 部分的なファイルの最適化 = なし DPM または DPM に似たソリューションとの相互運用のための「内部的」な調整 |
変更コマンドは、以下の通りです。(初期の有効化時と同じコマンドです)
一部パラメータは、自動調整されます。
(Default)に再設定する場合
Enable-DedupVolume -Volume “D:” -UsageType Default
(HyperV)に再設定する場合
Enable-DedupVolume -Volume “D:” -UsageType HyperV
(Backup)に再設定する場合
Enable-DedupVolume -Volume “D:” -UsageType Backup
それでは、特定の設定項目を設定してみます。
ここでは、以下の条件で設定変更します(よく設定変更する項目)。
(その他項目は、MSドキュメントを参照ください。)
| 設定 _________________ | パラメータ名 ________________ | Default時 の初期値 _______ | 変更値 ______ |
| ファイルが最適化のポリシー内であるとみなされる前にファイルが作成されてから経過した日数 | MinimumFileAgeDays | 3 | 0 |
| ファイルが最適化のポリシー内であるとみなされる必要がある最小ファイル サイズ | MinimumFileSize | 32768 | 32768 |
| 最適化から除外されるファイルの種類 | ExcludeFileType | なし | .tmp .temp |
| 最適化の対象としないフォルダーのパスの指定 | ExcludeFolder | なし | d:\TEMP |
コマンド例(設定、確認)
Set-DedupVolume -Volume “D:” -MinimumFileAgeDays 0 -MinimumFileSize 32768
get-DedupVolume -Volume “D:” | select MinimumFileAgeDays,MinimumFileSize
Set-DedupVolume -Volume “D:” -ExcludeFileType @(“tmp”,”temp”)
get-DedupVolume -Volume “D:” | select ExcludeFileType
Set-DedupVolume -Volume “D:” -ExcludeFolder @(“\TEMP”)
get-DedupVolume -Volume “D:” | select ExcludeFolder
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:" | select *
ObjectId : \\?\Volume{cec30693-28e9-4130-84fa-386e17a18115}\
UsageType : Default
AutoStart : False
Capacity : 536669585408
ChunkIndexCacheVolume :
ChunkRedundancyThreshold : 100
DataAccessEnabled : True
Enabled : True
ExcludeFileType :
ExcludeFileTypeDefault : {edb, jrs}
ExcludeFolder :
FreeSpace : 533286092800
IdleTimeoutDefault : 60
InputOutputScale : 0
MinimumFileAgeDays : 3
MinimumFileSize : 32768
NearInlineMode : False
NoCompress : False
NoCompressionFileType : {asf, mov, wma, wmv...}
OptimizeInUseFiles : False
OptimizePartialFiles : False
SavedSpace : 0
SavingsRate : 0
UnoptimizedSize : 3383492608
UsedSpace : 3383492608
Verify : False
Volume : D:
VolumeId : \\?\Volume{cec30693-28e9-4130-84fa-386e17a18115}\
PSComputerName :
CimClass : ROOT/Microsoft/Windows/Deduplication:MSFT_DedupVolume
CimInstanceProperties : {AutoStart, Capacity, ChunkIndexCacheVolume, ChunkRedundancyThreshold...}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties
PS C:\WINDOWS\system32> Set-DedupVolume -Volume "D:" -MinimumFileAgeDays 0 -MinimumFileSize 32768
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:" | select MinimumFileAgeDays,MinimumFileSize
MinimumFileAgeDays MinimumFileSize
------------------ ---------------
0 32768
PS C:\WINDOWS\system32> Set-DedupVolume -Volume "D:" -ExcludeFileType @("tmp","temp")
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:" | select ExcludeFileType
ExcludeFileType
---------------
{tmp, temp}
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:" | foreach-object ExcludeFileType
tmp
temp
PS C:\WINDOWS\system32> Set-DedupVolume -Volume "D:" -ExcludeFolder @("\TEMP")
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:" | select ExcludeFolder
ExcludeFolder
-------------
{\TEMP}
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:" | foreach-object ExcludeFolder
\TEMP
PS C:\WINDOWS\system32> get-DedupVolume -Volume "D:" | select *
ObjectId : \\?\Volume{cec30693-28e9-4130-84fa-386e17a18115}\
UsageType : Default
AutoStart : False
Capacity : 536669585408
ChunkIndexCacheVolume :
ChunkRedundancyThreshold : 100
DataAccessEnabled : True
Enabled : True
ExcludeFileType : {tmp, temp}
ExcludeFileTypeDefault : {edb, jrs}
ExcludeFolder : {\TEMP}
FreeSpace : 533286879232
IdleTimeoutDefault : 60
InputOutputScale : 0
MinimumFileAgeDays : 0
MinimumFileSize : 32768
NearInlineMode : False
NoCompress : False
NoCompressionFileType : {asf, mov, wma, wmv...}
OptimizeInUseFiles : False
OptimizePartialFiles : False
SavedSpace : 0
SavingsRate : 0
UnoptimizedSize : 3382706176
UsedSpace : 3382706176
Verify : False
Volume : D:
VolumeId : \\?\Volume{cec30693-28e9-4130-84fa-386e17a18115}\
PSComputerName :
CimClass : ROOT/Microsoft/Windows/Deduplication:MSFT_DedupVolume
CimInstanceProperties : {AutoStart, Capacity, ChunkIndexCacheVolume, ChunkRedundancyThreshold...}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties
上記のように項目を設定していくことができます。
これで、D:ドライブを重複排除ストレージとして使用できるようになりました。
このままDドライブにファイルを保存すれば、サーバのアイドル時に自動的に重複排除が行われます。
また、スケジュールされた時間帯に、ガーベージコレクションや整合性チェックも行われます。
この時点での状況を確認してみます。
Get-DedupProperties D Dドライブの利用状況
Get-dedupjob 実行中の重複排除ジョブ
Get-dedupstatus 重複排除状況(ファイル数)
Get-DedupVolume 重複排除状況(重複排除による削減結果)
Get-DedupSchedule 設定されているスケジュール情報
Get-DedupMetadata メタデータ情報
PS C:\WINDOWS\system32> Get-DedupProperties D
InPolicyFilesCount : 0
InPolicyFilesSize : 0
OptimizedFilesCount : 0
OptimizedFilesSavingsRate : 0
OptimizedFilesSize : 0
SavingsRate : 0
SavingsSize : 0
UnoptimizedSize : 3586297692
PSComputerName :
PS C:\WINDOWS\system32> Get-DedupJob
PS C:\WINDOWS\system32> Get-DedupStatus
FreeSpace SavedSpace OptimizedFiles InPolicyFiles Volume
--------- ---------- -------------- ------------- ------
496.66 GB 0 B 0 0 D:
PS C:\WINDOWS\system32> Get-DedupVolume
Enabled UsageType SavedSpace SavingsRate Volume
------- --------- ---------- ----------- ------
True Default 0 B 0 % D:
PS C:\WINDOWS\system32> Get-DedupSchedule
Enabled Type StartTime Days Name
------- ---- --------- ---- ----
True Optimization BackgroundOptimization
True GarbageCollection 2:45 Saturday WeeklyGarbageCollection
True Scrubbing 3:45 Saturday WeeklyScrubbing
PS C:\WINDOWS\system32> Get-DedupMetadata
Volume : D:
VolumeId : \\?\Volume{cec30693-28e9-4130-84fa-386e17a18115}\
StoreId : {00000000-0000-0000-0000-000000000000}
DataChunkCount : 0
DataContainerCount : 0
DataChunkAverageSize : 0 B
DataChunkMedianSize : 0 B
DataStoreUncompactedFreespace : 0 B
StreamMapChunkCount : 0
StreamMapContainerCount : 0
StreamMapAverageDataChunkCount :
StreamMapMedianDataChunkCount :
StreamMapMaxDataChunkCount :
HotspotChunkCount : 0
HotspotContainerCount : 0
HotspotMedianReferenceCount :
CorruptionLogEntryCount : 0
TotalChunkStoreSize : 0 B
次回は、運用編として、強制的に重複排除を実行するコマンド等、
特定のシナリオに従って、どのように動作するかを見てみたいと思います。
Views: 37