ライセンス確認スクリプト結果のダブルチェック

 記事の概要

以下のVMware KB のスクリプトを使ってみて感じた留意事項を記録しておく。

Counting Cores for VMware Cloud Foundation and vSphere Foundation and TiBs for vSAN

 

スクリプトについての簡易説明

既存環境にライセンスを適用する場合、必要となるVVF or VCF コアライセンスと、vSAN TiBライセンスの必要数を算出する必要がある。

KBには、そのためのスクリプトと、使い方がが示されている。

 

以下の点に事前に確認しておく必要がある。

PowerCLI 13.3 以降が必要

Broadcomはスクリプトの表示結果が適切でなかったとしても責任はもたない。

③確認対象の環境は既にvCenterで管理されたクラスタである必要がある(未構成 or 購入前のハードウェアに対するチェックスクリプトではない)

 

①についてはPowerCLIに依存するスクリプトであるため当然だが、②については重要である。

仮にこのスクリプトで算出したライセンス数が実際に必要なライセンス数と異なっていた場合、それに伴う損失についてBroadcomは一切責任を取らない、と考えるべきである。

そのため、このスクリプトだけで算出するのではなく、ある種の検算も必要になるため、その方法も本記事で示す。

 

スクリプトの実行方法

詳細な実行方法についてはKBに記載があるので割愛する。

概要としてはPowerCLIをインストールした環境に、KB添付のスクリプトをインポートして、既存のvCenterサーバを対象として実行するのみである。

実行時に引数として、利用予定のライセンスタイプ(VVF or VCF)を指定する。

VVFVCFでは付属のvSANライセンス容量が異なるため、正しく指定しないと正しい結果が得られない。

 

VVFを指定して実行してみた

以下が実行時の出力である。

最終的な結果として、VVF96vSAN Add-on3 となっているが、この解釈には注意が必要である。

これはvSANライセンスが3TiBあればよい、という意味合いではなく、VVFライセンスに付属する 0.25 TiB / core を差し引いた残りが3TiBである、という意味になる。

 

上記出力の結果を細かく解説する。

クラスタは3ノードで構成されており、各1ノードは10 core の物理CPU2 ソケット搭載している。VVFライセンスののルールでは1ソケット当たり最低16コアなので、必要なVVFコアカウントは1ノード当たり32となり、クラスタ全体で96コアが必要となる。

96コアのVVFライセンスには 0.25TiB/core * 96 core = 24 TiB 分のvSANライセンスが含まれていることになる。

 

一方クラスタ全体のvSANデータストアのRaw容量は27TiB(端数切り上げ)となっている。

VVF付属の24TiBvSANライセンスでは不足するため、追加で3TiB分のvSAN Add-onの購入が必要になる。

結果として、この環境に対して購入すべきVVF/vSANライセンスは最終的な出力の通り、VVF 96コア + vSAN Add-on 3TiB となる。


スクリプトの正しさをダブルチェックする

 冒頭で記載した通り、スクリプトの出力が間違っている可能性も考えられる。

ハードウェアが正しく構成されていなかったり、スクリプトや環境の不具合などの可能性があるためだ。

したがって、ダブルチェックしておくことでライセンス購入の事故を防げる。

 

私は以下の方法で簡易的にvSANライセンス数についてダブルチェックをした。

 

まずはノード数とホスト名を確認する。

今回の結果では3ノードのクラスタとして出力されているが、ノード数が想定しているものと一致しているのか、ホスト名に誤りがないのか、という点を確認する。

また、vSphere Clientやハードウェア管理GUIから、物理CPUのコア数がスクリプト結果と一致していることを確認する。

 

次に、クラスタ内の任意のESXiにログインして df -h の出力結果を確認した

 

上記を見るとvSANデータストアの容量が26.2TiBとなっており、切り上げで27TiBとなる。この結果はスクリプトと一致する。

一致していない場合は対象が間違っているか、何らかの不具合が考えられる。

 

 さらに、vSphere Client GUIから各ノードのディスク構成を確認した

 

各ノードでvSAN用に使用されているディスクの本数が設計と一致するかどうかを確認しておく。

正しく参加していないディスクがある場合は正しく計算できていない可能性がある。

 

  

実際にvSANライセンスを適用してみる

 

スクリプトで27TiBvSANライセンスが必要と表示されていた同環境に対し、実際にライセンスを適用してみた。

その結果として、27TB(TiB)vSANライセンスが消費されたので、スクリプトの結果が正しかったことが確認できた。

 

 

補足:VCFライセンスを指定してスクリプトを実行する

 同環境に対してVCFライセンスを指定して実行してみた。

 

 

同環境であるため、コア数やvSAN 容量数は同じ値となっている。

ただし、最後のvSAN Add-onの必要ライセンス数が大きく異なっている。

VVFの時は3TiBとして表示されていたが、VCFライセンスの場合は -69TiBとなっている。

必要ライセンスが負の数になるのは一見おかしいようにも思えるが正常な挙動である。

これは、VCFライセンスに含まれる付属のvSAN容量ライセンスがVVFのそれよりも多いことに起因している。

VVFライセンスは0.25TiB/core分のvSANライセンスが含まれていたが、VCFライセンスは1TiB/core分のvSANライセンスが含まれている。

すなわち、VCFライセンスで96コア分が必要な環境ということは、96TiB分のvSAN容量ライセンスをはじめから所有している状態となる。

追加で購入が必要なvSAN Add-onライセンスは、クラスタで必要となる27TiB から付属の容量ライセンスを減算した結果になるため、

27TiB - 96TiB = -69TiB という出力になっている。

 

結果として、vSAN Add-onライセンスの追加購入は必要なく、69TiB分の増設余地がある、と解釈することができる。

コメント

このブログの人気の投稿

vSwitchにSTPが不要な理由

NTPと同期してくれないときのトラブルシューティング

ESXi に DNS サーバを何個まで登録できるか