既定ではインストールされていませんが、Windows Server 2012 / 2012 R2 標準の機能としてデータ重複除去というデータの重複を検出し、そのデータの正確さや整合性を損なうことなく削除する機能や PowerShell コマンドレットなどの関連ツールを提供しています。
データ重複除去関連の PowerShell コマンドレットのヘルプに関しては英語のみとなっており、日本語による情報はあまり公開されていません。
ここでは、データ重複除去 に関する PowerShell コマンドレットの 1 つである「Start-DedupJob」について、日本語の情報として纏めてみました ((他の PowerShell コマンドレットについては、「Windows Server 2012 / 2012 R2 におけるデータ重複除去関連のコマンドレットについて」を参照)。
※Windows Server 2012 / 2012 R2 と比較した際、内容の相違がほとんどないことから、Windows Server 2012 R2 (内容については「Get-Help」コマンドレットの -Full オプションを用いて実行した結果を編集したものとなります) の情報を元に編集、意訳したものとなります。
■名前
Start-DedupJob
■概要
データ重複除去ジョブを開始します。
■構文
Start-DedupJob [-Type] <Type> [[-Volume] <String[]>] [-AsJob] [-CimSession <CimSession[]>] [-Full] [-InputOutputThrottleLevel <InputOutputThrottleLevel>] [-Memory <UInt32>] [-Preempt] [-Priority <Priority>] [-ReadOnly] [-StopWhenSystemBusy] [-ThrottleLimit <Int32>] [-Timestamp <DateTime>] [-Wait] [<CommonParameters>] |
■説明
Start-DedupJob コマンドレットは、1 つ以上のボリュームに対し、新しいデータ重複除去を開始します。データ重複除去ジョブは、サーバーが同じボリューム上で別のジョブを実施している場合、もしくはコンピューターがジョブを実行するのに十分なリソースを持っていない場合にキュー化されます。サーバーは、手動ジョブとしてこのコマンドレットで開始したキューに入れられたジョブをマークし、スケジュールされたジョブを手動でジョブの優先順位を与えます。サーバーは、このコマンドレットともに開始された各ジョブに対する DeduplicationJob オブジェクトを返します。
マルチ ボリューム データ重複除去ジョブに対し、ジョブ キューの先頭にジョブを移動するために Preempt パラメーターを使用することが可能であり、現在のジョブをキャンセルします。
■パラメーター
-AsJob [<SwitchParameter>]
バックグラウンド ジョブとしてコマンドレットを実行します。完了するまでに長い時間がかかるコマンドを実行するには、このパラメーターを使用します。コマンドレットは、即座にジョブを表すオブジェクトを返し、コマンドプロンプトに表示します。ジョブが完了する間のセッション上で作業を続けることが可能です。ジョブを完了するために、*-Job コマンドレットを使用します。ジョブの結果を取得するために、 Receive-Job コマンドレットを使用します。Windows PowerShell バックグラウンド ジョブに関する詳細な情報は、about_Jobs を参照してください。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-CimSession <CimSession[]>
リモート セッション、もしくはリモート コンピューターでコマンドレットを実行します。New-CimSession コマンドレット、もしくは Get-CimSession コマンドレットの出力として、コンピューター名、もしくはセッション オブジェクトを入力します。既定では、ローカル コンピューター上の現在のセッションです。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-Full [<SwitchParameter>]
Type パラメーターに対して GarbageCollection を指定する場合:
ガーベージ コレクション ジョブは、ボリューム上のすべて削除された、もしくは参照されていないデータの解放を示します。このパラメーターを使用しない場合、ガーベージ コレクション ジョブは削除されたデータのシステム閾値を超えた後、空き容量として開放します。このパラメーターを指定せずに定期的にガーベージ コレクションを実行し、月に一度このパラメーターを指定して再度ガーベージ コレクションを実行することを推奨します。
Type パラメーターに対して Scrubbing を指定する場合:
スクラブ ジョブは、ボリューム上のすべてのデータ整合性を検証することを示します。このコマンドを指定しない場合、スクラブ ジョブはデータ重複除去が以前遭遇した重要なメタデータおよびデータ整合性の問題を検証します。このパラメーターを指定せずに定期的にスクラブを実行し、月に一度このパラメーターを指定して再度スクラブを実行することを推奨します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-InputOutputThrottleLevel <InputOutputThrottleLevel>
ジョブが他の I/O 集中型の処理を妨害しないことを確実とするために提供されるジョブのスロットリング I/O 量を指定します。このパラメーターに対する利用可能な値は以下のとおりです。
- None
- Low
- Medium
- High
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-Memory <UInt32>
データ重複除去ジョブを使用することができる物理コンピューター メモリの最大パーセンテージを指定します。
最適化ジョブに対して、15 から 50 の範囲および StopWhenSystemBusy を指定するときに実行できるようスケジュールされたジョブに対する高いメモリ消費量を設定することを推奨します。一般的に時間外で実行するようなガーベージ コレクションおよびスクラブ ジョブに対して、50 のような高いメモリ消費量を設定することが可能です。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-Preempt [<SwitchParameter>]
重複除去エンジンはジョブ キューの先頭にジョブを移動し、現在のジョブをキャンセルすることを示します。サーバーは、現在のジョブをキャンセルした後、サーバーがジョブを実行するための十分なメモリがない場合には、重複除去エンジンは先取りジョブを実行することはできません。
このパラメーターは、データ重複除去ジョブを手動で適用し、スケジュールされたジョブでは無視されます。複数のボリューム上の唯一の重複除去ジョブを先取りすることが可能です。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-Priority <Priority>
このコマンドレットを使用して実行される最適化ジョブに対する CPU および I/O の優先度を指定します。ジョブに対して StopWhenSystemBusy パラメーターを使用する場合、このパラメーターを High と設定することを推奨します。典型的な最適化ジョブに対しては、このパラメーターを Normal と設定することを推奨します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-ReadOnly [<SwitchParameter>]
見つかったが任意の修復オプションを実行しない破損上のスクラブ ジョブの処理およびレポートを示します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-StopWhenSystemBusy [<SwitchParameter>]
システムがビジーおよび後で実行する場合、サーバーがジョブを停止するよう指定します。ジョブに対して低い優先度を設定するとき、このパラメーターの指定を推奨します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-ThrottleLimit <Int32>
コマンドレットを実行するために確立できる同時操作の最大数を指定します。このパラメーターが省略、もしくは値 0 が入力された場合、Windows PowerShell は、コンピュータ上で実行されている CIM コマンドレットの数に基づいて、コマンドレットのための最適なスロットル限界を計算します。スロットル限界は、セッションもしくはコンピューターではなく、現在のコマンドレットのみ適用されます。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-Timestamp <DateTime>
日時を指定します。このパラメータは、非最適化ジョブにのみ適用されます。重複除去エンジンは、指定した DateTime 値から最適化された、もしくは再最適化されたファイルのみを非最適化します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-Type <Type>
データ重複除去ジョブの型を指定します。このパラメーターで利用可能な値は以下のとおり:
- Optimization
- GarbageCollection
- Scrubbing
- Unoptimization
必須 | true |
位置 | 1 |
既定値 | True (ByPropertyName) |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-Volume <String[]>
データ重複除去ジョブを手動でキューするためのシステム ボリュームの配列を指定します。(D: のような) ドライブ レター、もしくは (フォーム「\\?\Volume{{GUID}}\」を用いて) GUID パラメーターとして、1 つ以上のボリューム ID を指定します。カンマで複数のボリュームを区切ります。
必須 | false |
位置 | 2 |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-Wait [<SwitchParameter>]
コマンドレットはジョブが完了するのを待ち、クライアントに進捗情報を提供することを示します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: –Verbose、-Debug、-ErrorAction、-ErrorVariable、-WarningAction、-WarningVariable、-OutBuffer、-PipelineVariable、および -OutVariable。詳細については、about_CommonParameters を参照してください。
■入力
- System.Management.Automation.SwitchParameter
- System.String[]
- System.UInt32
- Microsoft.PowerShell.Cmdletization.GeneratedTypes.DedupJob.Priority
- Microsoft.PowerShell.Cmdletization.GeneratedTypes.DedupJob.Type
■出力
- Microsoft.Management.Infrastructure.CimInstance#
Microsoft.Management.Infrastructure.CimInstance オブジェクトは、Windows Management Instrumentation(WMI)オブジェクトを表示するラッパー クラスです。シャープ記号(#)以降のパスは、基礎となる WMI オブジェクトの名前空間とクラス名を提供します。
■メモ
- 詳細については、「Get-Help Start-DedupJob -detailed」と入力してください。
- 技術情報については、「Get-Help Start-DedupJob -full」と入力してください。
■エイリアス
- なし
■例
例 1:
Start-DedupJob D: -Type Optimization –Memory 50
このコマンドは、ドライブ D: 上のデータ重複除去最適化ジョブを開始し、RAM の最大 50% まで消費します。
■関連するトピック
- Get-DedupJob
- Stop-DedupJob
[参考]
- Start-DedupJob – Windows Server 2012 and Windows 8
https://technet.microsoft.com/en-us/library/hh848442(v=wps.620).aspx - Start-DedupJob – Windows Server 2012 R2 and Windows 8.1
https://technet.microsoft.com/en-us/library/hh848442(v=wps.630).aspx