今回は、Windows Server 2022を使用してデータ重複排除設定を有効化して、挙動の確認をしていきたいと思います。
期待する目標
本手順で期待する目標は以下の通りです。
- Windows Server 2022で重複排除の設定ができる
- Windows Serverの重複排除の挙動を確認する
- 重複排除を実行する
前提条件
本手順で使用するWindows Serverの構成は以下の通りです。
- CPU : 2vCPU
- MEM : 4GB
- DISK1 : 60GB (System)
- DISK2 : 60GB (Data)
- ドメイン : 参加済み
なお、今回の重複排除はファイルサーバ用途のため、Windows Server 2022でファイルサーバを構築しています。重複排除ファイルサーバ用に60GBのディスクを1本追加して、ファイルサーバとして利用することを想定しています。
ファイルサーバの構築手順については、こちらの記事を参照することで構築できます。
データ重複排除のインストール
データの重複排除をインストールする前に、事前にファイルサーバを構築して、共有の設定を行っておきます。
[サーバマネージャー]より、[管理]-[役割と機能の追加]を押下します。
[開始する前に]より、[次へ]を押下します。
[インストールの種類]より、[役割ベースまたは機能ベースのインストール]を選択し、[次へ]を押下します。
[サーバの選択]より、[サーバプールからサーバを選択]が選択されていることを確認します。
[サーバプール]より、インストールする対象のサーバが選択されていることを確認し、[次へ]を押下します。
[サーバの役割]より、[ファイルサービスと記憶域サービス]-[ファイルサービスおよびiSCSIサービス]-[データ重複除去]を選択します。
[サーバの役割]より、[データ重複除去]にチェックが入っていることを確認し、[次へ]を押下します。
[機能]では、機能を追加しないため、何も選択せずに[次へ]を押下します。
[確認]より、インストールするサービスを確認し、[インストール]を押下します。
[結果]より、正常にインストールされたことを確認し、[閉じる]を押下します。
以上で、データの重複排除機能のインストールは完了です。
データ重複排除構成
データ重複排除のインストールが完了したら、データ重複排除の構成を入れていきます。
データの重複排除の構成を行う前に、重複排除を行うドライブにデータを入れておきます。
今回は、重複排除の効果を見やすくするために、Windows Server 2022のインストーラを2つ入れています。
この2つのデータは同一のデータとなるため、理論上は重複排除を行うと50%程度の排除率になる想定です。
[サーバマネージャ]より、[ファイルサービスと記憶域サービス]を押下します。
今回のファイルサーバはSドライブに構築しています。
Windows Server 2022のインストーラを配置したので、空き容量が10GBほど減っています。
重複排除を有効化するボリュームを右クリックし、[データ重複除去の構成]を押下します。
[重複除去設定]より、[データ重複除去]の設定が無効となっているため、適切な重複削除のポリシーを選択します。
データ重複除去のポリシーは、以下の3点になります。
- 汎用ファイルサーバ : 汎用のファイルサーバの場合にこのポリシーを選択してください
- 仮想デスクトップインフラストラクチャ(VDI)サーバ : VDI用のサーバで使用する場合にはこのポリシーを選択してください
- 仮想化バックアップサーバ : バックアップ用に重複排除を行うためにはこのポリシーを選択してください
今回は、通常のファイルサーバに対して重複排除を行うため、[汎用ファイルサーバ]のポリシーを選択しました。
重複除去設定より、以下の設定を行います。
- データ重複除去 : 汎用ファイルサーバ (任意)
- 次の期間経過したファイルを重複除去の対象とする : 0 (任意の期間を設定)
- 除外するカスタムファイル拡張子 : 任意の除外するファイル拡張子を設定
- フォルダを選択して重複排除から除外するには、[追加]をクリックしてください : 任意のフォルダを設定
[重複除去除去スケジュールの設定]より、重複排除のスケジュールを設定することができます。
[重複除去スケジュール]より、必要に応じて重複除去のスケジュールを設定してください。
重複除去の設定が完了したら、[OK]を選択して重複除去構成を確定させます。
以上で重複排除の構成は完了です。
重複排除の実行
構成を行っただけだと、重複排除までに時間がかかると思われるので、Powershellを使用して初回の重複排除を行いたいと思います。
Powershellを起動して以下のコマンドを実行します。
> Start-DedupJob -Type Optimization -Volume <重複排除を行うボリューム> -Memory 100 -Cores 100 -Priority High
タスクが正常に入ると、タスクのプロセスがバックグラウンドで実行されます。
重複排除では、リソース状況にもよりますが、かなり高い負荷がかかる場合があるため、バッチ実行などが行われない時間に実行することをお勧めします。
以下のコマンドを実行すると、重複排除ジョブの状態を確認することができます。
> Get-DedupStatus
コマンドを実行すると、ジョブの結果が返ってきます。
重複排除ジョブの実行が完了したかは、イベントログを見ることで確認できます。
[イベントログ]より、[アプリケーションとサービスログ]-[Microsoft]-[Windows]-[Deduplication]-[Operational]を選択すると実行時のログを確認することができます。
重複排除後のデータ確認
重複排除の実行が終わったことを確認し、実際の重複排除率とドライブの使用率を確認してみたいと思います。
重複排除を行った際のデータ量です。
重複排除前は、49GBほどの空きだったのに対し、重複排除後は55GBほどまで空き容量が増えています。
また、重複除去率については、55%程(6.15GB)の重複が除去されました。
エクスプローラより、ドライブの空き容量を確認すると、確かに空き容量も増えています。
まとめ
今回はWindows Server 2022に標準で搭載されているデータ重複除去機能をインストールし、重複排除設定を行いました。
ファイルサーバ上に同一のISOファイルを配置し、重複排除を行うと実際に重複が排除されました。
同一のファイルだったので、重複排除率が50%以下ぐらいになると思いましたが、実際には55%と同一のファイル以上に重複が排除されました。
今回は重複排除をコマンドで実行させましたが、意外とCPUリソースが消費されるので、本番環境で重複排除を行う場合には負荷がかからない時間帯を選んでスケジュールしたほうが良いと思います。
監視などを行っている場合には、重複排除タスクによりCPU使用率のアラートなどが当たりそうな感じもしました。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント