2022年2月24日に新しいAOSのSTSバージョンであるAOS 6.1がリリースされました。今回は新機能の1つとして、Windowsパフォーマンスモニター(Perfmon)から、VMのホスト固有のメトリック監視をしてみました。
この新機能では、対象Windows VMへのNutanix Guest Tools(NTG)のインストールすることで、CVMからハイパーバイザーに関連したVM固有のNGTメトリックを収集することができるようになります。
目次
1. 今回の環境
Platform: NX-1365-G5
AOS: 6.1 STS
AHV: 20201105.30142
VM1: WS2019-test02(Windows Server 2019)
2. Nutanix Guest Toolsのインストール
Prism Elementの仮想マシン画面から、今回対象とするWindows VMへNutanix Guest Tools(NGT)をマウントします。SSRやスナップショットは使用しないので今回はチェックを外しておきます。
WindowsゲストOSのCDドライブにNGTがマウントされているので、インストーラーを実行します。
ライセンスの同意にチェックを入れて「Install」をクリックします。
インストールが完了したら「Close」をクリックして閉じます。
これで、NGTのインストールは完了です。
3. ゲストOSでのメトリック収集の有効化
NGTインストール後、ゲストOSの以下フォルダ配下にあるスクリプトファイルを実行して、CLIツール(ngtcli)を起動します。
起動したngtcliで以下コマンドを実行します。
ncli> ngt set-gflag ngt_metrics_collection_enabled=True
これにより、NGTメトリック収集が有効になります。
有効化したら、タスクマネージャのサービスにて「Nutanix Guest Agent」サービスを「再起動」します。
これで、ゲストOSでのNGTメトリック収集の有効化は完了です。
4. Windowsパフォーマンスモニターで監視
続いて、Windowsパフォーマンスモニター(Perfmon)を起動します。ゲストOSデスクトップのタスクバーの検索から「perfmon」と入力してパフォーマンスモニターを起動します。
パフォーマンスモニターが起動したら、ツリーメニューから「パフォーマンスモニター」を選択して、追加(+)ボタンをクリックします。
「カウンターの追加」のポップアップウインドウで、「NGT Metrics」を選択し、今回はデフォルトでCVMから収集される以下のカウンターを追加して「OK」をクリックします。
NGTメトリックのカウンターオブジェクトが追加されて、モニターに表示されるようになります。
5. 使い方の例
今回のデフォルト値として追加した以下2つのカウンターを使用する一例を紹介します。
- hypervisor_cpu_usage_ppm
VMがホストのCPUリソースを使用している時間の割合 - hypervisor_cpu_ready_time_ppm
CPU競合が発生し、VMがホストのCPUリソースを割り当ててもらえなかった時間の割合(stolen time)
5-1. ケース1 VMのCPU使用率が高いが、ホストのCPU使用率が低い場合
これは、特定のVMにCPU使用率90%を超える負荷がかかっているが、ホストの他のVMのCPU使用率は低いため、ホスト自体のCPUには十分な余裕がある状態です。
この場合は、以下パフォーマンスモニターのように、VMのCPU使用率(赤線)は90%を超えているが、ホストからそのVMへ割り当てられているCPUリソース時間の割合(青線)も90%以上の値であり、CPU競合によるstolen time(緑線)も全く発生していないことが分かります。つまり、対象のVMは十分にホストのCPUリソースを使えているということです。
5-2. ケース2 VMのCPU使用率が高く、ホストのCPU使用率も高い場合
ケース1に対して、対象のVMのCPU使用率だけでなく、ホストの他のVMのCPU使用率も高いために、ホスト自体のCPUに高負荷がかかっている場合を再現してみます。
この場合は、以下パフォーマンスモニターのように、VMのCPU使用率(赤線)は90%を超えているが、ホストからそのVMへ割り当てられているCPUリソース時間の割合(青線)は70%程度に低下しており、その分CPU競合によるstolen timeの割合(緑線)が20%程度上昇していることが分かります。つまり、対象のVMはCPU競合により十分にホストのCPUリソースが使えていないことが分かります。
このように、NGTメトリックのカウンターをWindows VMのパフォーマンスモニターで使用すると、ホストからどれだけのリソースが割り当てられているかや、ホストにリアルタイムで高負荷がかかっているといったことをVMのOS管理者レベルで確認することができるようになります。
気になる方はぜひ一度触ってみては。
6. 要件や制限事項
- Nutanix Guest Toolsのインストールが必要です
- NGTのCPUメトリックの単位はppm(Parts per Milion)=百万分率であるため、パフォーマンスモニターで%表示させるためには、デフォルトスケールの値を1→0.0001へ変更する必要があります(1万分の1にする)。
要件等の詳細は、以下ドキュメントをご参照ください。