VMware vSAN 重複排除と圧縮について

この記事では、VMware vSANのストレージ容量を効率化する機能の重複排除と圧縮についてご紹介していきます。
重複排除と圧縮の機能はオールフラッシュ構成かつ、vSAN Advancedエディション以上が必要になります。

## 重複排除と圧縮の概要
重複排除と圧縮の機能を有効にすると、ストレージの使用量を削減できます。同じテンプレートから作成した仮想マシンや、フルクローンの仮想デスクトップなどのデータの冗長性が高い環境では、重複排除のメリットが大きくなります。 圧縮に関しては、テキスト、ビットマップ、プログラムファイルなどの圧縮に適したデータの場合は、圧縮 により大きな効果が得られます。
重複排除と圧縮は、クラスタ全体の設定として有効にするものですが、ディスクグループごとに適用されます。 重複排除は冗長しているデータブロックを排除する機能で、圧縮は各データブロックから冗長しているデータを排除する機能です。 
動作としては、キャッシュ層からキャパシティ層にデータが書き込まれる(ステージング)ときに実行されます。まず、重複排除を各ディスクグループ内で実行します。そのあとにデータがキャッシュ層からキャパシティ層に書き込まれる前に圧縮を実行します。

重複排除と圧縮の機能を有効にするvSANクラスタを構成する際は考慮事項があります。遅延とIOPSの観点からパフォーマンスに影響が及び可能性があります。
vSANデータストアの容量にオーバーヘッドが発生します。重複排除と圧縮の機能により作成されるメタデータによって総容量から最大5%消費されます。この消費される容量はvSANデータストアの容量が多ければ多いほど比例して増加します。
また、暗号化された仮想マシンでは効果的にならないことがあります。仮想マシンの暗号化は、ストレージに書き込む前に、ホストでデータを暗号化するためです。
ディスクグループに関する点では、単一のキャパシティデバイスを削除することができません。ディスクグループの構成を変更する際には、ディスクグループ単位で削除し、再作成を行う必要があります。
なお、単一のキャパシティデバイスの障害が発生した場合に関してもディスクグループ単位で障害が発生する形となります。

上述で重複排除と圧縮の概要についてご紹介してきましたが、圧縮のみのモードもあります。
圧縮のみのモードのメリットは、重複排除の機能で消費されるオーバーヘッドを発生させることなく容量を効率化できます。また、ディスクグループ単位ではなく、ディスク単位で適用されます。そのためキャッシュデバイスで障害が発生した時の影響を最小限に抑えることができます。

## 使用する環境
それでは、vSANクラスタに対して重複排除と圧縮の機能を有効にする際の設定、動作確認をしていきます。
使用する環境は以下です。

■ESXiホスト
台数：4台(Nested仮想マシン)
バージョン：VMware ESXi 7.0 Update 2a
ディスク構成：キャッシュ150GB × 1、
キャパシティ 1500GB × 3

■仮想マシン
台数：4台
容量：300GB

## 重複排除と圧縮
まず、重複排除と圧縮を有効にする前のvSANデータストアの容量を確認します。17.58TBのうち、2.68TB使用済みの状態です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2385304/0eb8b443-07a7-6f83-9b8b-4c130fd9beb3.png)
それでは重複排除と圧縮を有効にします。
クラスタを選択し、[設定] - [サービス] – データサービスの項目の[編集]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2385304/6abe9733-9d46-f0a5-b80d-745f846f2773.png)
容量効率の項目から[デデュープと圧縮]を選択します。圧縮のみのモードを使用する場合は[圧縮のみ]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2385304/b5a7548c-0d2e-7de6-3e0b-79d859a7baad.png)
 [適用]をクリックします。
画面上部に表示されている注意事項に記載されてますが、設定処理に時間がかかる点と、処理中にパフォーマンスが低下する可能性があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2385304/8719da50-1606-8ee6-fc09-32bfa0e80e61.png)
タスクを確認すると、重複排除と圧縮を有効にするためにディスクグループに対する処理が開始されます。
処理内容としてはディスクグループを一旦削除し、重複排除と圧縮をサポートするディスクフォーマットでディスクグループを再作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2385304/e4ac4c05-ddcf-2183-644f-b6b7fad519ae.png)
## 容量比較
設定処理が完了後、重複排除と圧縮が適用されているか確認してみます。
重複排除と圧縮を適用する前は、vSANデータストアの容量を2.68TB使用済みの状態でした。重複排除と圧縮を適用した後は、4.05 TB使用済みの状態です。使用済み容量が増えてしまった形ですが、これは重複排除と圧縮を適用するうえで発生するオーバーヘッドの消費容量があるためです。
また、重複排除と圧縮を適用したことによって節約された容量が記載されており638.2 GB節約できていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2385304/b16cc721-2621-2114-933d-7bd2b9cf4143.png)
使用量の内訳を確認すると、重複排除と圧縮のオーバーヘッドとして952.37 GB使用されていることが確認できます。冒頭でも記載しましたが、vSANデータストアの容量が多ければ多いほど比例してオーバーヘッドの消費容量は増加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2385304/cad7f033-8e9d-af49-8e93-2afa7b1325d4.png)
## 重複排除と圧縮を利用する際の注意点
重複排除と圧縮を適用した環境での注意点を挙げるとすると、冒頭でも記載した通り、ディスクグループの管理に関する点です。単一のキャパシティデバイスを変更することができず、ディスクグループ単位で再作成を行う必要があります。また、単一のキャパシティデバイスの障害時はディスクグループとして障害が発生する形となるため、運用負荷が増加することが考えられます。
重複排除と圧縮を適用する際にはディスクグループを再フォーマットする処理が発生することや、クラスタのパフォーマンスが低下する可能性があるため、運用中の環境では注意することが必要です。重複排除と圧縮を適用する際は、サービスに影響を与えない時間帯などで実施することが推奨されます。

以上、今回は重複排除と圧縮の機能概要と適用時の動作確認についてご紹介しました。
今回の検証では環境の規模が小さかったため、変化を確認しづらかったと思います。大規模環境になればなるほど仮想マシンの数も多くなると思いますので、より重複排除と圧縮による節約できる容量が多くなります。ご紹介した考慮事項や節約できる容量などのトレードオフを検討し、重複排除と圧縮を適用いただければと思います。