VMwareな日々

VMware環境関連の管理者/導入/トラブルシュートなどに役立ちそうな情報を備忘録として掲載とその他を少々投稿していくブログ

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ホスト分のリソース予約が出来る。