VMwareな日々

Blog移管しました 新URLはこちら https://lab8010.com/

vSphere HA アドミッションコントロール ”クラスタ リソースの割合”の計算方法

社内で、”アドミッションコントロールによるリソース予約”について質問をされることが結構多いです。

既存の書籍やドキュメントでも、説明文が長くわかりにくいものが多いので、本記事ではvSphere Web Client上の画像を用いつつリソースの予約状況について解説を入れていきたいと思います。

まず”そもそもアドミッションコントロールって何?”という方は、是非こちらを御覧ください。

blogs.vmware.com

 

次に、今回のテーマはアドミッションコントロールでも3タイプの手法がある中の、

"クラスタ リソースの割合(%)"についての説明です。

 

まずお題となる環境の構成をご覧頂きましょう。

f:id:instructor8010:20171001161042p:plain

  • 2ノードホストが参加するクラスターです
  • クラスターのCPU搭載量は11.08GHzです。
  • クラスターのメモリ搭載量は10GBです。
  • vSphere HAは有効化済み
  • アドミッションコントロールも有効化済み、かつリソース予約方法も"クラスタ リソースの割合"にて50%(既定値)となっています。

パターン1. クラスターリソースの50%がアドミッションコントロールにて予約されている場合

f:id:instructor8010:20171001161715p:plain

f:id:instructor8010:20171001162031p:plain

ご覧頂くと、全体のリソースの50%として、次のリソースが確保されています。

  • メモリは5GBがフェールオーバー用に予約(10GB*50%=5GB)
  • CPUは5.60GHzがフェールオーバー用に予約(11.20GHz*50%=5.60GHz)

つまり、クラスターリソースの残り半分は仮想マシンやvmkernel上のプロセスによって利用可能だと言えます。(今回は予約が50%なので、利用出来るリソースも全体で5GBとCPU 5.60GHzまで利用可能)

 

パターン2. クラスターリソースの70%がアドミッションコントロールにて予約されている場合

続いて、パターン2ですが、既定値よりも20%多めにアドミッションコントロールによる制御範囲を増やしました。

なぜわざわざこれを行ったか、と言えばよく聞かれる質問に”本設定でセットするパーセントは、”フェイルオーバーのためのリソース予約値”なのか”仮想マシン運用のために確保するリソース容量値なのか”、どっちなのか?”とよく聞かれるからです。

 

正直、デフォルト値が50%の予約、であれば、フェイルオーバーリソースも仮想マシン動作用リソースも双方ともに50%になるので、この値の情報だけでは、この値の意味合いを把握するには、確かにこの値だけでは不十分です。

そこで、あえて50%以外の値をセットし、リソースの取られ方を見てみることにしました。

f:id:instructor8010:20171001180403p:plain

結論としては次の通りで、やはりアドミッションコントロールで設定する割合というのは、”フェールオーバーのためのリソースサイズ”であることがこれで明白になりました。

※ちなみに本検証もVMware Hands On LABで行っているのですが、ラボのレンタル時間を超過したため、再度レンタルし直したら、ホストのCPUサイズが前回と異なるリソースがアサインされました(前回は1ホスト辺り5.60Ghz、今回は4.20GHzとなっています)

 

パターン3. クラスターリソースの33%がアドミッションコントロールにて予約されている場合

最後に、少し細かい値設定したケースを考えてみました。

この33%という値は現場でよく見かける数字です、理由としては3ノードクラスターの場合に、1台のホスト障害が発生した場合に、フェイルオーバーリソースを十分に用意する際に33%と設定しているお客様が多く居られます。

f:id:instructor8010:20171001182716p:plain

ですが、実情としてこの数字を入力することで、”リソース不足”に関連するメッセージに直面しているお客様が多いと私は感じています。

3台で1クラスターという環境で、もしパーセンテージ指定でリソース予約を行いたい場合は、”34%”と入力した方が1ノードホスト分以上のリソースが確保できます。

ちなみに、同設定値に対し小数点を持った設定を試みましたが、全て切り捨てされました。(つまり33.3%と指定した場合は、33.0%として取り扱われます)

 

 以上です。今回の総括は次の通りです。

  1. アドミッションコントロール クラスタ リソースの割合で指定した割合は、フェールオーバーリソースの値である。

  2. 割合ベースで、3ノードクラスターにおける1ホスト分のリソース指定をしたい場合は、34%の方が確実に1ホスト分のリソース予約が出来る。