第4回 ストレージの利用効率を高めるデータ重複除去機能:Windows Server 2012クラウドジェネレーション(2/2 ページ)
Windows Server 2012ではファイル内に含まれる重複したデータを自動的に検出して除去する機能が用意された。場合によっては8割以上ものディスク領域のスリム化が図れるという、待望の機能を解説する。
データ重複除去機能をインストールする
データ重複除去機能をWindows Server 2012にインストールするには、サーバ・マネージャから行う方法と、PowerShellで操作する方法がある。まずはサーバ・マネージャで操作してみよう。
データ重複除去機能をインストールするには、まずサーバ・マネージャを起動し、「役割と機能の追加」ウィザードを起動する。そして、「ファイル サービスおよび記憶域サービス」役割の中にある「データ重複除去」機能を選択してインストールするだけである。
データ重複除去機能のインストール
「ファイル サービスおよび記憶域サービス」の中にある「データ重複除去」機能を選択してインストールする。
(1)インストール済みのこのグループを展開する。
(2)これをオンにしてインストールする。
以上でインストール作業は終わりだ。システムの再起動は不要である。次はボリュームごとの設定を行う。
データ重複除去機能を有効化する
データ重複除去は、ボリュームごとに設定する機能である。データ重複除去を有効にしたいボリュームをサーバ・マネージャの画面で選んで、「データ重複除去の構成」メニューを起動すればよい。新しいディスクを接続しただけで、まだボリュームを作成していない場合は、対象となるディスクを選んで[ボリュームの新規作成]を選ぶ。するとウィザードの最後でデータ重複除去を有効にするかどうかを問い合わせる画面が表示されるので、そこで有効にすればよい。
以下では、すでに作成済みのボリュームを選んでデータ重複除去機能を有効にしてみる。なおボリューム上にあらかじめファイルが存在していてもよいし(つまり既存のボリュームに対してデータ重複除去機能を有効にしてもよい)、そうでなくてもよい。いずれにしろ、実際のデータ重複除去処理は、指定された日数が経過するまで実行されない(最終書き込みから何日経過したファイルを処理対象にするかをユーザーが設定する)。
サーバ・マネージャでローカル・サーバのボリューム管理画面を表示させ、ボリューム名を右クリックしてポップアップ・メニューから[データ重複除去の構成]を実行する。
データ重複除去機能を有効にする
データ重複除去機能を有効にするには、ボリューム名を選んで「データ重複除去の設定」を起動する。
(1)「ファイル サービスと記憶域サービス」を選択する。
(2)「ボリューム」を選択する。
(3)対象となるボリュームを選択して右クリックする。
(4)これを実行する。
すると「重複除去設定」画面が表示されるので、「データ重複除去を有効にする」のチェック・ボックスをオンにし、さらに重複除去対象とするまでの日数(デフォルトでは5日となっている)を入力する。
「重複除去設定」画面
ここでは重複除去に関する設定を行う。
(1)これをオンにする。
(2)ファイル作成後、ここで指定した日数が経過すると、そのファイルに対して重複除去処理を開始する。デフォルトでは5日後となっているが、1週間とか、それ以上でもよいだろう。
(3)重複除去処理から除外するファイルの拡張子を指定する。
(4)重複除去処理から除外するフォルダを指定できる。
(5)重複除去処理の詳細なスケジュールを設定する。
「重複除去スケジュールの設定」をクリックすると、いつ重複除去処理を行うかを設定できる。デフォルトではバックグラウンドで処理するようになっているが(1時間に1回処理タスクが起動して、アイドルなら処理する)、システムの負荷などを抑制するために、夜間や週末だけに限定したければ、自分でスケジュールを設定できる(実際、あまり急いで実行する必要はないはずだ)。
「重複除去処理スケジュール」画面
デフォルトではバックグラウンドで重複除去処理するようになっているが、夜間や週末などに限定させたい場合はここで設定する。
(1)デフォルトではバックグラウンドで処理する。
(2)特定の時間帯に動作させたい場合はこれらを選択する。
以上で設定は完了であり、ほかに設定するような項目はない。ボリュームにファイルを作成後、指定した期日(デフォルトでは、ファイルの最終変更時間から5日以上)が経過したファイルがあれば、システムがアイドルのときに自動的に処理され、可能ならディスク領域が削減される。
強制的なデータ重複除去処理の開始
データ重複除去処理をすぐに開始させるためには、先ほどの「重複除去設定」の画面を表示させ、対象となる日数をデフォルトの「5」から「0」にしてみるとよい。ただし実際にこれを設定すると、頻繁に無駄な重複除去処理が行われることになるので、あくまでも実験として行うのがよいだろう(日数は後で戻しておくこと)。さらにタスク・スケジューラで「DeDuplication」グループにある「BackgroundOptimization」というタスクをスタートさせると、重複除去処理が始まり、ディスクへのアクセスが増えるはずである(通常はこのタスクは1時間に1回実行される)。処理が進むにつれて「重複除去率」の数値が増えていくはずだ。
重複除去処理の進行中の画面
重複除去処理が進むにつれ、重複除去率などが変わることが確認できる。
(1)何%の重複データが除去できたかが分かる。重複除去処理タスクの進行状況ではないので、最大値が100%になることはない
(2)重複除去処理によって増えた空き容量。
ボリュームの行を右クリックして、ポップアップ・メニューから[プロパティ]を選択すると詳しい情報を取得できる。このシステムの場合は最終的には次のようになった。
ボリュームのプロパティ画面
この画面を見ると、いくらディスク領域が解放されたかなどの情報が得られる。
(1)実際に物理的にディスク上で使用しているサイズ。約5分の1になっている。
(2)重複除去処理によって解放されたディスク領域。
(3)重複除去処理によって解放されたディスク領域の割合。
もともと50Gbytesほど使用していたディスク領域が、重複除去後は9Gbytesになっている。そして、使用していたディスク領域が42Gbytesほど解放されている(空きサイズが42Gbytesほど増えている)。
このように特に何の管理をしなくても、重複除去機能は簡単に利用できる。
PowerShellによる操作
データ重複除去機能はPowerShellでも管理できる。以下簡単にまとめておく。
データ重複除去機能のインストール
データ重複除去機能をPowerShellでインストールするなら、次のコマンドを順に実行すればよい。
Import-Module ServerManager
Add-WindowsFeature -name FS-Data-Deduplication
Import-Module Deduplication
データ重複除去ボリュームの設定
データ重複除去を開始するには、ボリューム名を指定し、次のコマンドを実行する。-MinimumFileAgeDaysパラメータは、ファイルの最終変更時刻からの経過日数である。
※通常起動
Enable-DedupVolume E:
Set-DedupVolume E: -MinimumFileAgeDays 5
※すぐに起動させる場合
Enable-DedupVolume E:
Set-DedupVolume E: -MinimumFileAgeDays 0
Start-DedupJob -volume E: Optimization
データ重複除去ボリュームや処理の進行状態の確認
現在有効なデータ重複除去ボリュームやジョブ、スケジュールなどの状態を確認するには、以下のような Get-* コマンドを適宜実行する。
Get-DedupVolume
Get-DedupStatus
Get-DedupJob
Get-DedupSchedule
Get-DedupMetadata
PowerShellでのより進んだ管理方法については、以下のサイトを参照していただきたい。
今回は、Windows Server 2012で導入された、ファイル中の重複データを取り除いて、ディスクの利用率を向上させる機能について見てきた。ほとんど何も管理する必要がなく、それでいてディスク領域の大幅な節約になる(かもしれない)のが便利である。書き込みや更新が多い場合など、用途によっては向かないケースもあるが、その特性をよく理解したうえで活用したい機能だ。
Copyright© Digital Advantage Corp. All Rights Reserved.