既定ではインストールされていませんが、Windows Server 2012 / 2012 R2 標準の機能としてデータ重複除去というデータの重複を検出し、そのデータの正確さや整合性を損なうことなく削除する機能や PowerShell コマンドレットなどの関連ツールを提供しています。
データ重複除去関連の PowerShell コマンドレットのヘルプに関しては英語のみとなっており、日本語による情報はあまり公開されていません。
ここでは、データ重複除去 に関する PowerShell コマンドレットの 1 つである「New-DedupSchedule」について、日本語の情報として纏めてみました ((他の PowerShell コマンドレットについては、「Windows Server 2012 / 2012 R2 におけるデータ重複除去関連のコマンドレットについて」を参照)。
※Windows Server 2012 / 2012 R2 と比較した際、内容の相違がほとんどないことから、Windows Server 2012 R2 (内容については「Get-Help」コマンドレットの -Full オプションを用いて実行した結果を編集したものとなります) の情報を元に編集、意訳したものとなります。
■名前
New-DedupSchedule
■概要
データ重複除去スケジュールを作成します。
■構文
New-DedupSchedule [-Name] <String> [-Type] <Type> [-AsJob] [-CimSession <CimSession[]>] [-Days <DayOfWeek[]>] [-Disable] [-DurationHours <UInt32>] [-Full] [-InputOutputThrottleLevel <InputOutputThrottleLevel>] [-Memory <UInt32>] [-Priority <Priority>] [-ReadOnly] [-Start <DateTime>] [-StopWhenSystemBusy] [-ThrottleLimit <Int32>] [<CommonParameters>] |
■説明
New-DedupSchedule コマンドレットは、データ重複除去スケジュールを作成します。このコマンドレットは、データ重複除去スケジュールをカスタマイズすることが可能な DeduplicationSchedule オブジェクトを返します。このコマンドレットは、指定されていないパラメータに対するデータ重複除去スケジュールを作成するために既定の設定を使用します。
以下のデータ重複除去ジョブの型を実行するためのスケジュールを作成することが可能です。
- Optimization: このジョブ型は、ボリュームにチアするデータ重複除去ポリシーに基づくファイルの重複除去および圧縮の両方を実行します。ファイルの初期最適化後、ファイルが修正および最適化に対するデータ重複除去ポリシーの閾値に再度満たした場合、ファイルは再度最適化されます。
- GarbageCollection: このジョブでは、もはや参照されないデータ チャンクがクリーンアップされたボリューム上のデータを削除もしくは修正を処理します。ガーベージ コレクション ジョブは、以前に削除された、もしくは論理的に上書きされた利用可能なボリュームの空き領域を作成するために最適化されたコンテンツを処理します。最適化されたファイルが新しいデータによって削除または上書きされたときに、チャンク ストア内にある古いデータは即座に削除されません。ガーベージ コレクションは、既定では週に実行されるようスケジュールされます。ガーベージ コレクションは集中処理型操作であり、削除負荷が閾値の到達を許可するためにはこのジョブ型を手動で実行、もしくは時間外にスケジュールする必要があります。
- Scrubbing: このジョブは、データの整合性の検証中に見つけたデータ破損、修復の修正の可能な実行、およびスクラブ レポートの生成を処理します。
- Unoptimization: このジョブは、ボリューム上の最適化されたすべてのファイルのデータ重複除去を元に戻します。成功した非最適化ジョブの終了時に、サーバーはボリュームからすべてのデータ重複除去メタデータを削除します。
より詳細な情報は、TechNet 上の Install and Configure Data Deduplication を参照してください。
■パラメーター
-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 |
-Days <DayOfWeek[]>
サーバーがデータ重複除去ジョブを実行する週の日の配列を指定します。このパラメーターに対する利用可能な値は以下のとおりです。
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
必須 | false |
位置 | named |
既定値 | Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-Disable [<SwitchParameter>]
サーバーは、作成直後にデータ重複除去スケジュールを無効にすることを示しています。サーバーは、Start パラメーターで指定した時刻にデータ重複除去スケジュールを実行しません。データ重複除去スケジュールを無効にした後、スケジュールを有効にするために Set-DedupSchedule コマンドレットを使用することが可能です。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-DurationHours <UInt32>
キャンセルする前にサーバーがタスクを実行する時間の数字を指定します。値 0 は、サーバーが完了するまでジョブを実行することを示しています。このコマンドレットは、安全にデータの重複除去ジョブを停止し、それがジョブをキャンセルするとサーバーが処理しているファイルには影響がありません。
必須 | false |
位置 | named |
既定値 | 2 |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-Full [<SwitchParameter>]
Type パラメーターに対して GarbageCollection を指定する場合:
ガーベージ コレクション ジョブは、ボリューム上のすべて削除された、もしくは参照されていないデータの解放を示します。このパラメーターを使用しない場合、ガーベージ コレクション ジョブは削除されたデータのシステム閾値を超えた後、空き容量として開放します。このパラメーターを指定せずに定期的にガーベージ コレクションを実行し、月に一度このパラメーターを指定して再度ガーベージ コレクションを実行することを推奨します。
Type パラメーターに対して Scrubbing を指定する場合:
スクラブ ジョブは、ボリューム上のすべてのデータ整合性を検証することを示します。このコマンドを指定しない場合、スクラブ ジョブはデータ重複除去が以前遭遇した重要なメタデータおよびデータ整合性の問題を検証します。このパラメータを指定せずに定期的にスクラブを実行し、月に一度このパラメーターを指定して再度スクラブを実行することを推奨します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-InputOutputThrottleLevel <InputOutputThrottleLevel>
ジョブが他の I/O 集中型の処理を妨害しないことを確実とするために提供されるジョブのスロットリング I/O 量を指定します。このパラメーターに対する利用可能な値は以下のとおりです。
- None
- Low
- Medium
- High
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-Memory <UInt32>
データ重複除去ジョブを使用することができる物理コンピューター メモリの最大パーセンテージを指定します。
最適化ジョブに対して、15 から 50 の範囲および StopWhenSystemBusy を指定するときに実行できるようスケジュールされたジョブに対する高いメモリ消費量を設定することを推奨します。一般的に時間外で実行するようなガーベージ コレクションおよびスクラブ ジョブに対して、50 のような高いメモリ消費量を設定することが可能です。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-Name <String>
データ重複除去スケジュール ジョブ名を指定します。
必須 | true |
位置 | 1 |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-Priority <Priority>
このコマンドレットを使用して実行される最適化ジョブに対する CPU および I/O の優先度を指定します。ジョブに対して StopWhenSystemBusy パラメーターを使用する場合、このパラメーターを High と設定することを推奨します。典型的な最適化ジョブに対しては、このパラメーターを Normal と設定することを推奨します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-ReadOnly [<SwitchParameter>]
見つかったが任意の修復オプションを実行しない破損上のスクラブ ジョブの処理およびレポートを示します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-Start <DateTime>
このジョブを開始するための時刻を指定します。既定値は 1:45am です。
システム ロケールに対する標準となるデータの型は、dd-MM-yyyy (German [Germany]) や MM/dd/yyyy (English [United States]) のようなものです。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-StopWhenSystemBusy [<SwitchParameter>]
システムがビジーおよび後で実行する場合、サーバーがジョブを停止するよう指定します。ジョブに対して低い優先度を設定するとき、このパラメーターの指定を推奨します。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
-ThrottleLimit <Int32>
コマンドレットを実行するために確立できる同時操作の最大数を指定します。このパラメーターが省略、もしくは値 0 が入力された場合、Windows PowerShell は、コンピューター上で実行されている CIM コマンドレットの数に基づいて、コマンドレットのための最適なスロットル限界を計算します。スロットル限界は、セッションもしくはコンピューターではなく、現在のコマンドレットのみ適用されます。
必須 | false |
位置 | named |
既定値 | none |
パイプライン入力を許可する | false |
ワイルドカード文字を許可する | false |
-Type <Type>
データ重複除去ジョブの型を指定します。このパラメーターに対する利用可能な値は以下のとおりです。
- Optimization
- GarbageCollection
- Scrubbing
- Unoptimization
必須 | true |
位置 | 2 |
既定値 | Optimization |
パイプライン入力を許可する | True (ByPropertyName) |
ワイルドカード文字を許可する | false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: –Verbose、-Debug、-ErrorAction、-ErrorVariable、-WarningAction、-WarningVariable、-OutBuffer、-PipelineVariable、および -OutVariable。詳細については、about_CommonParameters を参照してください。
■入力
- System.DateTime
- System.DayOfWeek[]
- System.Management.Automation.SwitchParameter
- System.UInt32
- Microsoft.PowerShell.Cmdletization.GeneratedTypes.DedupSchedule.Priority
- Microsoft.PowerShell.Cmdletization.GeneratedTypes.DedupSchedule.Type
■出力
- Microsoft.Management.Infrastructure.CimInstance#
Microsoft.Management.Infrastructure.CimInstance オブジェクトは、Windows Management Instrumentation(WMI)オブジェクトを表示するラッパー クラスです。シャープ記号(#)以降のパスは、基礎となる WMI オブジェクトの名前空間とクラス名を提供します。
■メモ
- 詳細については、「Get-Help New-DedupSchedule -detailed」と入力してください。
- 技術情報については、「Get-Help New-DedupSchedule -full」と入力してください。
■エイリアス
- なし
■例
例 1: ガーベージ コレクション ジョブに対するデータ重複除去スケジュールを作成する。
New-DedupSchedule –Name "OffHoursGC" –Type GarbageCollection –Start 08:00 –DurationHours 5 –Days Sun –Priority Normal
このコマンドは、ガーベージ コレクション ジョブ名「OffHoursGC」に対するデータ重複除去を作成します。このジョブは、日曜 8:00 に通常の優先度で実行するようスケジュールされます。このコマンドは、処理が干渉していない場合に 5 時間後にサーバーがキャンセルすることを指定します。
例 2: スクラブ ジョブに対するデータ重複除去スケジュールを作成する。
New-DedupSchedule –Name "OffHoursScrub" –Type Scrubbing –Start 23:00 –StopWhenSystemBusy –DurationHours 6 –Days Mon,Tues,Wed,Thurs,Fri –Priority Normal
このコマンドは、スクラブ ジョブ名「OffHoursScrub」に対する重複除去スケジュールを作成します。このコマンドは、月曜から金曜の 23:00 に通常の優先度でスクラブ ジョブを開始します。StopWhenSystemBusy パラメーターは、サーバーがビジーおよび後で実行するときにサーバーがジョブを停止するように指定します。DurationHours パラメーターは、処理が終了していない場合に 6 時間後にサーバーがキャンセルすることを指定します。
例 3: 最適化ジョブに対するデータ重複除去スケジュールを作成する。
New-DedupSchedule –Name "MyWeekendOptimization" –Type Optimization –Days Mon,Tues,Wed,Thurs,Fri –Start 08:00 –DurationHours 9
このコマンドは、最適化ジョブ名「MyWeekdayOptimization」に対するデータ重複除去スケジュールを作成します。最適化ジョブは平日夜 8:00 に通常の優先度で実行されます。DurationHours は、プロセスが完了していない場合に 9 時間後にサーバーがキャンセルすることを指定します。
■関連するトピック
- Get-DedupSchedule
- Remove-DedupSchedule
- Set-DedupSchedule
[参考]
- New-DedupSchedule – Windows Server 2012 and Windows 8
https://technet.microsoft.com/en-us/library/hh848445(v=wps.620).aspx - New-DedupSchedule – Windows Server 2012 R2 and Windows 8.1
https://technet.microsoft.com/en-us/library/hh848445(v=wps.630).aspx