Nutanix AHVでVMが重い・遅いときの確認ポイント|CPU・メモリ・ストレージを切り分け

仮想

Nutanix AHV上の仮想マシンを使用していて、「以前より動作が重い」「処理に時間がかかる」「レスポンスが悪い」と感じることがあります。

このような場合、すぐにCPUやメモリを増やせば解決するとは限りません。

原因はCPU・メモリだけでなく、ストレージI/O、ゲストOS、アプリケーション、AHVホストなどさまざまです。

この記事では、Nutanix AHV上のVMが重いときに、どこから確認すればよいのかを順番に解説します。

Nutanix AHVでVMが重いときにCPU・メモリ・ストレージを確認する方法
Prism ElementとゲストOSからCPU・メモリ・ストレージI/Oを確認してVMが遅い原因を切り分ける

VMが重いときは原因を切り分ける

最初から「CPU不足」と決めつけず、次のようにレイヤーを分けて考えると原因を特定しやすくなります。

Prism Element
   ↓
VMのCPU・メモリ・ストレージ
   ↓
ゲストOS
   ↓
アプリケーション
   ↓
AHVホスト・クラスタ

特に「いつから遅くなったのか」「常に遅いのか」「特定時間だけなのか」も重要です。

1.Prism Elementで対象VMを確認する

まずPrism Elementから対象VMを開き、Performance関連の情報を確認します。

NutanixのPrism Elementでは、VMを含む各種エンティティについてパフォーマンス統計を確認できます。

1つの数値だけを見るのではなく、問題が発生した時間帯のグラフを見ることが重要です。

例えば「毎日10時だけ遅い」のであれば、その時間帯にCPU・メモリ・I/Oなどが変化していないか確認します。

2.CPU使用状況を確認する

最初に確認しやすいのがCPUです。

Prismで対象VMのCPU使用状況を確認します。

さらにLinux VMなら、ゲストOSでも確認します。

top
lscpu
nproc

CPU使用率が高い場合は、どのプロセスがCPUを使用しているか確認します。

top

CPU使用率が高いという理由だけでvCPUを大量に追加するのではなく、アプリケーション側に異常な処理がないかも確認します。

3.メモリ使用状況を確認する

次にメモリを確認します。

Linuxでは、

free -h

で確認できます。

さらに、

top

でメモリを多く使用しているプロセスを確認します。

単純な使用量だけでなく、swapが大量に利用されていないかも確認します。

メモリ不足が原因と判断できた場合は、VMのメモリ増設を検討します。

▶ Nutanix AHVでVMのCPU・メモリを増やす方法|稼働中のHot Addも解説

4.ストレージのI/Oを確認する

CPUやメモリに余裕があるのにVMが遅い場合、ストレージI/Oも確認します。

Prism Elementではストレージについて、IOPS、I/O帯域、I/Oレイテンシなどの統計を確認できます。

特に重要なのがI/Oレイテンシです。

IOPSが多いこと自体が必ず問題というわけではありません。

大量のI/Oを正常に処理できている場合もあるため、IOPSだけでなく「応答にどれくらい時間がかかっているか」もあわせて確認します。

Linux側からディスクI/Oを確認する

Linux VMでは、iostatが利用できる環境なら次のように確認できます。

iostat -x 1

iostatがインストールされていない場合、Rocky Linuxなどではsysstatパッケージに含まれています。

dnf install sysstat

ディスク構成も確認します。

lsblk
df -Th

ファイルシステムの空き容量が極端に少なくなっていないかも確認します。

ディスク容量不足も確認する

VMのディスク容量が不足している場合は、アプリケーションやログ出力などに影響することがあります。

df -h

容量が不足している場合は、不要ファイルを確認するか、必要に応じて仮想ディスクを拡張します。

Nutanix AHV上のRocky Linux 9で実際に50GBから100GB・150GBへ拡張した手順はこちらです。

▶ Nutanix AHVでLinux仮想マシンのディスク容量を拡張する方法【Rocky Linux 9】

5.ゲストOS側に原因がないか確認する

Prismだけで原因を判断せず、ゲストOS側も確認します。

Linuxなら、まず次のようなコマンドを確認します。

top
free -h
df -h
lsblk
iostat -x 1

さらにサービス異常がないか確認します。

systemctl --failed

エラーログも確認します。

journalctl -p err

VM自体のリソースに問題がなくても、特定サービスやアプリケーションが異常なCPU・メモリ・I/Oを発生させている可能性があります。

6.ロードアベレージを確認する

Linuxの場合はロードアベレージも参考になります。

uptime

または、

top

で確認できます。

ただしロードアベレージが高いからといって、必ずCPU不足とは限りません。

LinuxではI/O待ちなども影響するため、CPU・ディスクI/Oなどと組み合わせて判断します。

7.特定のVMだけ遅いのか確認する

問題の範囲を確認することも重要です。

例えば、

  • 1台のVMだけ遅い
  • 同じAHVホスト上の複数VMが遅い
  • クラスタ全体が遅い

では疑う場所が変わります。

1台だけならゲストOSやアプリケーションの可能性が高くなります。

複数VMが同時に遅くなっている場合は、AHVホストやストレージ、ネットワークなど共通部分も確認します。

8.AHVホスト側の負荷を確認する

VM側に明確な原因が見つからない場合は、AHVホストやクラスタ全体の状態も確認します。

Prismから、

  • ホストのCPU使用状況
  • ホストのメモリ状況
  • ストレージの状態
  • アラート
  • 他VMの負荷

などを確認します。

同じホスト上で複数の高負荷VMが動作している場合など、対象VMだけを見ていても原因が分からないことがあります。

9.Alertsを確認する

Prismでアラートが発生していないか確認します。

VMの遅さとは無関係に見えるアラートでも、クラスタやストレージ、ホストの状態を判断する手掛かりになる場合があります。

問題発生時刻とアラート発生時刻が一致していないかも確認します。

10.ネットワークも切り分ける

「VMが遅い」という問い合わせでも、実際にはVMの処理ではなくネットワークが原因の場合があります。

例えば、

  • RDPやSSHだけ遅い
  • Web画面の表示だけ遅い
  • ファイル転送だけ遅い
  • 特定ネットワークからだけ遅い

という場合はネットワーク側も疑います。

Nutanixにはネットワーク構成や状態の確認に利用できるNetwork Visualization機能もあり、NutanixのKBでもネットワーク障害のトラブルシューティングに利用できる機能として案内されています。

「重いからCPU・メモリ増設」は最後に判断する

VMが遅いと、すぐにCPUやメモリを増やしたくなります。

しかし、ストレージI/Oが原因ならCPUを増やしても改善しません。

アプリケーションの異常なら、メモリを増やして一時的に改善しても根本原因が残る可能性があります。

まず、

CPU
 ↓
メモリ
 ↓
ストレージ
 ↓
ゲストOS
 ↓
アプリケーション
 ↓
ホスト・クラスタ
 ↓
ネットワーク

と切り分けてから対処する方が安全です。

設定変更前には復旧方法も確認する

原因調査の結果、VMの設定変更やOS側の変更を行う場合は、必要に応じて事前に復旧方法を準備します。

Nutanix AHVでVMスナップショットを取得する方法はこちらで解説しています。

▶ Nutanix AHVでVMスナップショットを取得・復元する方法【Prism Element】

VMが遅いときの確認順序

迷った場合は、次の順序で確認すると切り分けしやすくなります。

  1. いつ・どの操作が遅いか確認
  2. PrismでVMのPerformanceを確認
  3. CPU使用状況を確認
  4. メモリ・swapを確認
  5. ストレージIOPS・レイテンシを確認
  6. ゲストOSのプロセス・サービスを確認
  7. 他のVMにも同じ症状があるか確認
  8. AHVホスト・クラスタ・Alertsを確認
  9. 必要ならネットワークを確認

まとめ

Nutanix AHV上のVMが重い場合、CPUやメモリだけが原因とは限りません。

Prism ElementのPerformance情報とゲストOSの状態を組み合わせて確認することが重要です。

特に、

CPU
メモリ
ストレージIOPS
I/Oレイテンシ
ゲストOS
AHVホスト
クラスタ
ネットワーク

を順番に確認すると、原因を切り分けやすくなります。

「VMが重い=CPU・メモリを増やす」と判断せず、どこがボトルネックなのかを確認してから対処することが重要です。

参考情報

コメント

タイトルとURLをコピーしました