Home > Blogs > Japan Cloud Infrastructure Blog

vSANのデザインとサイジング - メモリオーバーヘッドに関する考慮点

今週はEMEAで開催されるテックサミットに参加するためベルリンに来ています。このイベントはEMEAのフィールドの皆さんのためのイベントです。私は、vSANのデザインとサイジングを含むいくつかのセッションを担当しました。そのセッションの一部では、トピックとしてvSAN環境でのメモリ消費について取り上げました。過去には、こちらのブログでも触れました通り、ディスクグループ構成によるホストのメモリ要件についてのみお話しをしてきました。例えば、vSANの最大構成時(ホスト毎に最大5つのディスクグループ、各ディスクグループには最大7台のディスクを割り当て可能)には、ホストのメモリを最低でも32GB消費します。しかし、これはvSANのみが消費するのではなく、ワークロードを実行するために消費されるのかもしれません。その値は構成の上限としてお考えください。上の過去のブログで触れたように、もしホストが32GB以下のメモリしか搭載していない場合は、ホスト上で作成されるディスクグループの数を減らす必要があります。
私の知っている限り、何がvSANクラスタ上のメモリ消費の一因となるのかについて、情報として共有されていませんでした。このブログで、その部分について説明をしていきたいと思います。

[Update] KB2113954でも、vSAN環境でのメモリ消費について触れられています。

vSAN環境のメモリ消費を理解するために、以下の方程式が使われます。

equation

BaseConsumption:ESXiホスト毎で、vSANによって消費される固定のメモリ量。この値は現在は3GBです。このメモリは、vSANのディレクトリ情報、ホスト毎のメタデータ、メモリキャッシュを格納するために使われます。vSANクラスタが16ノードを超える場合は、BaseConsumptionの値は300MB増えて、3.3GBとなります。

NumDiskGroups:ホスト毎のディスクグループ数。1から5の範囲で設定可能です。

・DiskGroupBaseConsumption:ホストの個々のディスクグループによって消費される固定のメモリ量。この値は現在500MBです。このメモリは、主にディスクグループ毎の操作の際に使われます。

・SSDMemOverheadPerGB:SSDの各GB毎に割り当てられた固定のメモリ量。この値は現在はハイブリッド環境では2MB、オールフラッシュ環境では7MBとなっています。このメモリの大部分は、ライトバッファやリードキャッシュ用途として使われるSSD内のブロックのトラックを保持するために使われます。

・SSDSize:SSDのサイズ(GB)

注意:これらの値はvSAN 6.0,6.1,6.2を前提としています(KB2113954参照)。将来バージョンで変更される可能性があります。

それではいくつかのシナリオに沿ってメモリ消費について理解を深めていきましょう。

シナリオ1
各ホストで32GB以上のメモリを搭載、vSANクラスタを構成するホスト数は16台以下、SSDのサイズが400GB。

例1
ホスト毎に1つのディスクグループ、ハイブリッド構成

example1

例2
ホスト毎に3つのディスクグループ、ハイブリッド構成

example2

例3
ホスト毎に1つのディスクグループ、オールフラッシュ構成

example3

例4
ホスト毎に3つのディスクグループ、オールフラッシュ構成

example4

シナリオ2
各ホストで32GB以上のメモリを搭載、vSANクラスタを構成するホスト数は16台以上、SSDのサイズは600GB。
vSANクラスタが16台を超える場合は、BaseConsumptionは300MB増えてトータル3.3GB。

例5
ホスト毎に1つのディスクグループ、ハイブリッド構成

example5

例6
ホスト毎に3つのディスクグループ、ハイブリッド構成

example6

例7
ホスト毎に1つのディスクグループ、オールフラッシュ構成

example7

例8
ホスト毎に3つのディスクグループ、オールフラッシュ構成

example8

シナリオ3
各ホストで32GB以下のメモリを搭載。32GBよりも少ないため、メモリの消費量は公式(SystemMemory/32)に従って直線的に減少します。SystemMemory(GB)とは、システムに搭載されるメモリの搭載量です。よって、システム搭載メモリが16GBの場合、メモリ消費量は公式から”1/2”となります。システム搭載メモリが8GBの場合、”1/4”まで減少します。

各ホストの搭載メモリが16GB、vSANクラスタを構成するホスト数は16台以下、SSDのサイズが400GBという前提で考えましょう。

例9
ホスト毎に1つのディスクグループ、ハイブリッド構成

example9

例10
ホスト毎に3つのディスクグループ、ハイブリッド構成

example10

例11
ホスト毎に1つのディスクグループ、オールフラッシュ構成

example11

例12
ホスト毎に3つのディスクグループ、オールフラッシュ構成

example12

vSAN構成におけるメモリ消費量について、いくつかの例をもとにまとめてきました。このようにして、vSANのメモリオーバーヘッドを算出することができます。特に考慮すべき点は、以下の通りです。

・ホストのメモリ搭載量が32GB以下の場合には、vSANはメモリ消費を抑制します
・16ノードを超えるvSANクラスタ環境では、追加でメモリを消費します
・オールフラッシュ構成では、ハイブリッド構成と比べて追加でメモリを消費します



vSANのデザインとサイジング - メモリオーバーヘッドに関する考慮点

今週はEMEAで開催されるテックサミットに参加するためベルリンに来ています。このイベントはEMEAのフィールドの皆さんのためのイベントです。私は、vSANのデザインとサイジングを含むいくつかのセッションを担当しました。そのセッションの一部では、トピックとしてvSAN環境でのメモリ消費について取り上げました。過去には、こちらのブログでも触れました通り、ディスクグループ構成によるホストのメモリ要件についてのみお話しをしてきました。例えば、vSANの最大構成時(ホスト毎に最大5つのディスクグループ、各ディスクグループには最大7台のディスクを割り当て可能)には、ホストのメモリを最低でも32GB消費します。しかし、これはvSANのみが消費するのではなく、ワークロードを実行するために消費されるのかもしれません。その値は構成の上限としてお考えください。上の過去のブログで触れたように、もしホストが32GB以下のメモリしか搭載していない場合は、ホスト上で作成されるディスクグループの数を減らす必要があります。
私の知っている限り、何がvSANクラスタ上のメモリ消費の一因となるのかについて、情報として共有されていませんでした。このブログで、その部分について説明をしていきたいと思います。

[Update] KB2113954でも、vSAN環境でのメモリ消費について触れられています。

vSAN環境のメモリ消費を理解するために、以下の方程式が使われます。

equation

BaseConsumption:ESXiホスト毎で、vSANによって消費される固定のメモリ量。この値は現在は3GBです。このメモリは、vSANのディレクトリ情報、ホスト毎のメタデータ、メモリキャッシュを格納するために使われます。vSANクラスタが16ノードを超える場合は、BaseConsumptionの値は300MB増えて、3.3GBとなります。

NumDiskGroups:ホスト毎のディスクグループ数。1から5の範囲で設定可能です。

・DiskGroupBaseConsumption:ホストの個々のディスクグループによって消費される固定のメモリ量。この値は現在500MBです。このメモリは、主にディスクグループ毎の操作の際に使われます。

・SSDMemOverheadPerGB:SSDの各GB毎に割り当てられた固定のメモリ量。この値は現在はハイブリッド環境では2MB、オールフラッシュ環境では7MBとなっています。このメモリの大部分は、ライトバッファやリードキャッシュ用途として使われるSSD内のブロックのトラックを保持するために使われます。

・SSDSize:SSDのサイズ(GB)

注意:これらの値はvSAN 6.0,6.1,6.2を前提としています(KB2113954参照)。将来バージョンで変更される可能性があります。

それではいくつかのシナリオに沿ってメモリ消費について理解を深めていきましょう。

シナリオ1
各ホストで32GB以上のメモリを搭載、vSANクラスタを構成するホスト数は16台以下、SSDのサイズが400GB。

例1
ホスト毎に1つのディスクグループ、ハイブリッド構成

example1

例2
ホスト毎に3つのディスクグループ、ハイブリッド構成

example2

例3
ホスト毎に1つのディスクグループ、オールフラッシュ構成

example3

例4
ホスト毎に3つのディスクグループ、オールフラッシュ構成

example4

シナリオ2
各ホストで32GB以上のメモリを搭載、vSANクラスタを構成するホスト数は16台以上、SSDのサイズは600GB。
vSANクラスタが16台を超える場合は、BaseConsumptionは300MB増えてトータル3.3GB。

例5
ホスト毎に1つのディスクグループ、ハイブリッド構成

example5

例6
ホスト毎に3つのディスクグループ、ハイブリッド構成

example6

例7
ホスト毎に1つのディスクグループ、オールフラッシュ構成

example7

例8
ホスト毎に3つのディスクグループ、オールフラッシュ構成

example8

シナリオ3
各ホストで32GB以下のメモリを搭載。32GBよりも少ないため、メモリの消費量は公式(SystemMemory/32)に従って直線的に減少します。SystemMemory(GB)とは、システムに搭載されるメモリの搭載量です。よって、システム搭載メモリが16GBの場合、メモリ消費量は公式から”1/2”となります。システム搭載メモリが8GBの場合、”1/4”まで減少します。

各ホストの搭載メモリが16GB、vSANクラスタを構成するホスト数は16台以下、SSDのサイズが400GBという前提で考えましょう。

例9
ホスト毎に1つのディスクグループ、ハイブリッド構成

example9

例10
ホスト毎に3つのディスクグループ、ハイブリッド構成

example10

例11
ホスト毎に1つのディスクグループ、オールフラッシュ構成

example11

例12
ホスト毎に3つのディスクグループ、オールフラッシュ構成

example12

vSAN構成におけるメモリ消費量について、いくつかの例をもとにまとめてきました。このようにして、vSANのメモリオーバーヘッドを算出することができます。特に考慮すべき点は、以下の通りです。

・ホストのメモリ搭載量が32GB以下の場合には、vSANはメモリ消費を抑制します
・16ノードを超えるvSANクラスタ環境では、追加でメモリを消費します
・オールフラッシュ構成では、ハイブリッド構成と比べて追加でメモリを消費します