2014年10月10日金曜日

VSANサイジングまとめ

VSANのサイジングがややこしいと思っている方、多いのではないでしょうか。(笑

このところ、ViewのストレージとしてVSANで構成したいというご要望をよく頂きますが、いざ構成するとなるといろいろ考えないといけないことが多いので、まとめてみました。


VSANのことをよく知らない、という方は基本的な情報はこちらにあります。サイジングに関する詳細な資料も掲載されてますので、一読されることをオススメします。

それでは、具体的な構成を例に挙げながらサイジングをしていきましょう。




例として、以下のような100台のView環境を構成する想定でサイジングしてみます。
例)
仮想デスクトップ(メモリ:4GB、ディスク:40GB)×100
マスターイメージ(メモリ:4GB、ディスク:40GB)×1
vCenter Server(メモリ:12GB、ディスク:100GB)×1
Connection Server(メモリ:10GB、ディスク:100GB)×1
DBサーバー(メモリ:8GB、ディスク:100GB)×1

まず、必要な容量を計算するために必要な情報は以下の通りです。
・各仮想マシンのディスクサイズ
・各仮想マシンの台数
・各仮想マシンの冗長度(※)

※冗長度(FTT:Failures To Tolerate)について
VSANはESXiホストのローカルストレージ内に仮想マシンデータを格納しますが、ESXiホストに障害が発生した場合にも仮想マシンのデータが損失しないよう、データを2つ以上のホストにコピーして配置しておくことが可能です。(ストライプではなく、ミラーのイメージです。)
FTT=0の場合は冗長度なし、FTT=1の場合はカレントのホスト以外の別ホスト1台に配置するという定義となります。FTTは最大「3」まで指定が可能です。
最低限の冗長度が確保出来ていれば問題ないと思いますので、今回はFTT=1までを前提にサイジングしています。

例に当てはめるとこんな感じです。
例)
・各仮想マシンのディスクサイズ
仮想デスクトップ(40GB)、マスターイメージ(40GB)、vCenter Server(100GB)、Connection Server(100GB)、DBサーバー(100GB)
・各仮想マシンの台数
仮想デスクトップ(100)、マスターイメージ(1)、vCenter Server(1)、Connection Server(1)、DBサーバー(1)
・各仮想マシンの冗長度
0:仮想デスクトップ
1:マスターイメージ、vCenter Server、Connection Server、DBサーバー

必要容量を計算するための公式は以下の通り。

■必要容量計算
公式)
FTT=0の仮想マシンのディスクサイズ+FTT=0の仮想マシンのディスクサイズ×2
※FTT=1の場合に「×2」をしているのは冗長度のために2台のホストに配置されるからです。
例)
(40×100)+((40×1+100×1+100×1+100×1)×2)=4680GB

次に、この必要容量を満たすためのディスク構成を検討します。

VSANデータストアのサイズを計算するために必要な情報は以下の通りです。
# SSDディスクサイズ以降はこの時点で決定は出来ないので、ひとまず仮の数値で計算。
・各仮想マシンのメモリサイズ
・各仮想マシンの台数
・仮想マシンあたりのVMDK数(※1)
・VSANノード数
・SSDディスクサイズ
・HDDディスクサイズ
・ディスクグループあたりのHDD数
・ディスクグループ数
・ホスト障害時のミラー(※2)

※1 仮想マシンあたりのVMDK数について
ファイルサーバーなどは複数のVMDKで構成される場合が多いとは思いますが、仮想デスクトップ環境であれば、基本的には「1」で計算してよいかと思います。
サーバー仮想化基盤として利用される場合には「2」で計算した方がよいかもしれません。

※2 ホスト障害時のミラーについて
冗長度が「1」以上の仮想マシンは障害に耐えうるために2台のホストにデータを配置しますが、この動きはホスト障害時も例外ではありません。
そのため、ホストに障害が発生してデータが1台にのみ格納されていることが検知されると、他のもう1台にデータを配置しようとします。
ただ、空き容量不足などでコピーが作れない場合も仮想マシンの動作自体には影響はないので、ホスト障害時のミラーは考慮しない、とすることも可能ですが、vSphere Web ClientのマシンステータスにてVSANミラーが構成出来ていない旨、警告が表示されますのでご注意を。
障害時もミラーを行う場合は「1」、行わない場合は「0」として計算します。

例)
・各仮想マシンのメモリサイズ
仮想デスクトップ(4GB)、マスターイメージ(4GB)、vCenter Server(12GB)、Connection Server(10GB)、DBサーバー(8GB)
・各仮想マシンの台数
仮想デスクトップ(100)、マスターイメージ(1)、vCenter Server(1)、Connection Server(1)、DBサーバー(1)
・仮想マシンあたりのVMDK数(※)
「1」
・VSANノード数
「3」
・SSDディスクサイズ
「400GB」
・HDDディスクサイズ
「1000GB」
・ディスクグループあたりのHDD数
「4」
・ディスクグループ数
「1」
・ホスト障害時のミラー
「1」

VSANデータストアサイズを計算するための公式と構成例での計算結果は以下の通り。

■物理サイズ計算
公式)
HDDディスクサイズ×ディスクグループあたりのHDD数×ディスクグループ数
×(VSANノード数-ホスト障害時のミラー)
例)
1000×4×1×(3-1)=8000GB

■SWAPサイズ計算
公式)
仮想マシンのメモリサイズ(合計)×2
※メモリサイズに「×2」をしているのは、FTTの設定に関わらず必ず2つ生成するためです。
例)
38×2=76GB

■VSANオブジェクト数計算
公式)
VM数×(1+1+VMDK数)
例)
104×(1+1+1)=312

■ホストあたりのVSANオブジェクト数計算
公式)
VSANオブジェクト数÷VSANノード数
例)
312÷3=104

■VSANメタデータサイズ計算
公式)
ディスクグループあたりのHDD数×ディスクグループ数×VSANノード数×1GB
※VSANメタデータサイズについては実際にはVSANオブジェクトを元に計算するようですが、
 簡易的なディスク構成からの試算で十分なケースがほとんどなようです。
※ここの「1GB」というのは、ディスク1本あたりのVSANオーバーヘッドです。
例)
4×1×3×1=12GB

■VSAN実効容量計算
公式)
(物理サイズ-SWAPサイズ-VSANメタデータサイズ)×VSANオーバーヘッド
例)
(8000-76-12)×80%=6329.6GB

面倒な計算はここまでです。(笑
最後に、サイジング結果を調整します。

調整すべきポイントは以下の通りです。
・VSANノード数
・SSDディスクサイズ
・HDDディスクサイズ
・ディスクグループあたりのHDD数
・ディスクグループ数

実際にサイジングする場合にはサイジング結果をエクセルなどに纏めてノード数やディスクサイズ、ディスク本数などを調整するのが楽だと思います。

※重要※
調整するための判断材料は以下の通りです。
・キャッシュ比率
・容量適正
・ホストあたりのオブジェクト数

■キャッシュ比率
ディスクグループごとにキャッシュ(SSD)はHDDに対し10%以上は確保するように。

■容量適正率
サイジング結果の「VSAN実効容量」が「必要容量」を満たすように。

■ホストあたりのオブジェクト数
サイジング結果の「ホストあたりのVSANオブジェクト数」が「900」を下回るように。

上記判断材料をすべて満たすような構成に出来ればサイジングは完了です。

ここまで読んで頂いた方に、私からささやかな『贈り物』です。
上記計算をエクセルシートに纏めてみましたので、サイジングされる際の参考に。

■簡単な使い方
・シート1枚目、2枚目の上部の黄色いセルに必要な情報を入力します。
・シート2枚目にて各項目の計算結果とサイジング結果が表示されます。
・キャッシュ比率「E3」、容量適正「C9」、オブジェクト数「B11」のチェックします。
・チェック結果を見ながら、ディスクサイズや本数を微調整します。

0 件のコメント:

コメントを投稿