こんにちは。SB C&Sの山田です。
この記事では、VMware vSANのストレージ容量を効率化する機能である、重複排除と圧縮についてご紹介していきます。
重複排除と圧縮の概要
重複排除と圧縮は、ストレージの使用量を削減して効率的に利用するための機能です。
重複排除は冗長しているデータブロックを排除する機能で、そのうえで圧縮が行われます。重複排除に関しては、同じテンプレートから作成した仮想マシンや、フルクローンの仮想デスクトップなどを活用していて、同じデータを多くの仮想マシンで使用しているような環境で効果が大きくなります。圧縮に関しては、テキスト、ビットマップ、プログラムファイルなどの、圧縮されやすい性質のデータが多い場合に大きな効果が得られます。
vSANにおける重複排除と圧縮は、vSANクラスタ全体の設定として有効にするものであり、vSANのデータストア全体に対して適用されます。重複排除と圧縮の処理は、実際には各ESXiホストのディスクグループごとに適用されます。処理のタイミングとしては、キャッシュ層からキャパシティ層のディスクにデータの書き込み(ステージング)が行われるときに実行されます。このとき、まず重複排除を各ディスクグループ内で実行され、そのあとにデータがキャパシティ層に書き込まれる前に圧縮が実行されます。
以前のvSANでは、重複排除と圧縮は同時に有効化する実装となっていました。しかし、vSAN 7.0 U1からは、圧縮のみの有効化も可能になりました。圧縮のみのモードのメリットは、重複排除によるオーバーヘッドを発生させることなく容量を効率化できることです。また、ディスクグループ単位ではなく、ディスク単位で適用されるため、キャッシュデバイスで障害が発生した時の影響を最小限に抑えることができます。
以前の記事でもご紹介したとおり、重複排除と圧縮は、オールフラッシュ構成かつvSAN Advancedエディション以上が必要になります。
重複排除と圧縮を利用する際の注意点
まず、当然ながら重複排除と圧縮の処理によって、CPU使用率のオーバーヘッドが発生します。高いパフォーマンスを要求される仮想マシンを稼働させる想定がある場合には注意が必要です。
vSANデータストアの使用容量についても、オーバーヘッドが発生します。これは、重複排除と圧縮により作成されるメタデータによって、データストアの総容量から最大5%が消費されます。つまりオーバーヘッドの容量は、vSANデータストアの容量に比例して増加します。
ディスクグループに関する点では、単一のキャパシティデバイスを削除することができなくなります。ディスクグループの構成を変更する際には、ディスクグループ単位で削除し、再作成を行う必要があります。つまり、キャパシティデバイスの障害がディスクグループ全体の障害になるため、運用負荷やパフォーマンス影響が増加することが考えられます。
重複排除と圧縮を適用する際には、ディスクグループを再フォーマットする処理が発生するため、クラスタのパフォーマンスが低下する可能性があります。そのため、運用中の環境では、設定するタイミングにも注意することが必要です。重複排除と圧縮を有効化する際は、サービスに影響を与えない時間帯で実施することが推奨されます。
これらの注意点をふまえ、容量効率化によるメリットとのトレードオフを検討したうえで機能を利用することになります。
使用する環境
それでは、vSANクラスタに対して重複排除と圧縮を有効にする際の設定と、動作を確認をしていきます。
使用する環境は以下です。
ESXiホスト
- 台数:4台(Nested仮想マシン)
- バージョン:VMware ESXi 7.0 Update 2a
- ディスク構成:キャッシュ400GB × 1、キャパシティ 480GB × 2
重複排除と圧縮を有効
vSANクラスタで、重複排除と圧縮を有効にします。
インベントリからvSANクラスタを選択し、[設定] - [サービス] - データ サービスの項目の[編集]をクリックします。
容量効率の項目から[デデュープと圧縮]を選択します。圧縮のみを有効化する場合は[圧縮のみ]を選択します。
[適用]をクリックして、有効化の処理を開始します。
画面上部に表示される注意事項に記載されてますが、設定処理には時間がかかります。処理中にはvSANデータストア上で起動している仮想マシンのパフォーマンスが低下する可能性があるため、実施するタイミングには注意が必要です。
タスクを確認すると、重複排除と圧縮を有効化するためにディスクグループに対する処理が開始されています。これはホスト1台ずつでのローリング処理となっており、処理内容は、ディスクグループを一旦削除し、重複排除と圧縮をサポートするディスクフォーマットで再作成するというものです。
vSANデータストアの使用容量確認
有効化処理の完了後に、重複排除と圧縮が適用され削減効果があるのか、vSANクラスタのデータストア使用容量を確認してみます。今回は1台の仮想マシンテンプレートから30台クローンし、使用容量と削減効果を確認します。
「使用済み」の項目をみると、612GB程度使用されていることが確認できます。そして、「デデュープと圧縮による節約」の項目をみると、534GB程度の容量を削減していることが確認できます。
デデュープと圧縮前の使用量の内訳を確認すると、更に詳しく、容量の内訳を確認できます。この環境では、次のような内訳となっていることが分かります。
- 重複排除と圧縮が適用されていない、仮想マシン自体の使用容量が760GB程度
- 重複排除と圧縮のオーバーヘッドを含む、システム使用容量が394GB程度(冒頭でもご説明しましたが、重複排除と圧縮のオーバーヘッドはvSANデータストアの容量に比例して消費容量は増加します)
重複排除と圧縮を適用した後の仮想マシンなどのデータ使用容量は、vSANデータストア全体の使用容量である612GB程度から、システム使用容量の394GB程度を引いた218GB程度まで削減(534GB程度の容量を節約)されていると判断できます。重複排除と圧縮を適用する前の仮想マシンから半分以上の容量を削減できているため、非常にメリットが大きいことが確認できました。
このように、vSANでは具体的な容量削減効果を確認することができます。重複排除と圧縮の効果は、仮想マシンに保存されているデータに影響を受けるので、今回は確認方法の例としてご紹介しました。
Tips - 小規模環境の重複排除と圧縮の効果
最後に、検証環境など、小規模環境における注意点をご紹介します。先ほどは同一の仮想マシンテンプレートから30台クローンした状況で圧縮効果を確認しましたが、ここでは仮想マシン1台で確認してみます。
仮想マシンを1台だけ作成し、vSANの重複排除と圧縮はまだ無効です。この時点でのvSANデータストアの使用容量は、111GB程度です。
使用量の内訳を確認すると、仮想マシン自体の使用容量が28GB程度、システムの使用容量が82GB程度です。
それでは、先ほどと同様の手順でvSANの重複排除と圧縮を有効にします。有効化後にvSANデータストアの使用容量を確認すると、以下のスクリーンショットのようになりました。
「使用済み」の項目をみると、381GB程度使用されていることが確認できます。「デデュープと圧縮による節約」の項目をみると、35GB程度の容量を削減していることが確認できます。つまり、重複排除と圧縮を有効化する前の111GBよりも、使用容量が増加してしまっています。
デデュープと圧縮前の使用量の内訳を確認すると、重複排除と圧縮のオーバーヘッドを含むシステム使用容量が388GB程度であることが確認できます。
今回の仮想マシン1台の小規模環境では、かえって使用済み容量が増えてしまった形ですが、これは重複排除と圧縮を適用するうえで発生するオーバーヘッドの消費容量があるためです。
このように重複排除と圧縮は、vSANデータストアの全体容量をもとに発生するオーバーヘッドよりも、同じテンプレートから作成した多くの仮想マシンや、同じデータを多くの仮想マシンで使用しているような 容量の節約効果が大きい環境で使用しなければメリットを発揮することができません。
そして、小規模環境で機能検証を実施する場合には、vSANデータストア全体での使用容量だけでなく、今回のように具体的に容量の内訳を確認することをお勧めします。
まとめ
本記事では、重複排除と圧縮の機能概要と適用時の動作確認についてご紹介しました。
今回の検証では、仮想マシンの台数が多い場合と、少ない場合の容量削減効果を確認しました。仮想マシンの台数が多くなるほど大きな容量削減効果を得やすいことがご理解いただけたのではないでしょうか。このように、大規模環境になるほど、より重複排除と圧縮によって節約できる容量が多くなります。
容量節約の効果と、ご紹介した考慮事項などのトレードオフを検討し、vSANの重複排除と圧縮をご利用いただければと思います。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部
第1技術部 1課
山田 和良 - Kazuyoshi Yamada -
VMware vExpert