Nutanix環境を運用していると、ノードの再起動後にCVM(Controller VM)が起動しない、あるいはAHVは起動しているのにCVMだけが shut off のまま、というトラブルに遭遇することがあります。
CVMはNutanixクラスターのストレージI/O・メタデータ管理・クラスターサービスを担う中核VMであるため、起動しない状態が続くとクラスター全体の健全性に影響します。
この記事では、CVMが起動しない主な原因と、ハイパーバイザー別の対処手順をまとめます。
CVMとは(簡単なおさらい)
CVM(Controller VM)は、各Nutanixノードで稼働するLinuxベースの仮想マシンです。
Zeus・Stargate・Genesis・CassandraなどのクラスターサービスがCVM上で動作しており、ストレージの読み書き・レプリケーション・クラスター管理・Prism UIの提供などを担っています。
CVMはハイパーバイザー(AHV・ESXi・Hyper-V)上で動作しますが、ストレージディスクへのアクセスはPCIパススルーでCVMが直接行う設計になっています。
そのため、CVMが起動していない状態では、そのノードのローカルディスクにアクセスできず、他のノードがI/Oを肩代わりすることになります(Nutanix Community日本語フォーラムより)。
CVMが起動しない主な原因
CVMが起動しない原因は大きく5つに分類できます。
原因1:autostart設定が無効になっている(AHV環境)
AHVホストの起動に連動してCVMが自動起動(autostart)する設定が、何らかの理由で無効化されているケースです。
ホスト名の変更後などに発生しやすいとの報告があります(Nutanix Advent Calendarブログ、2019年)。
原因2:VMware HAとautostart設定の競合(ESXi環境)
ESXi環境でVMware HAが有効な場合、HAの再設定のタイミングでCVMのautostart設定が無効化されることがあります(Nutanix Communityフォーラムより)。
これはVMware側の仕様で、HA有効時はautostart機能が無効化されるためです。
原因3:ソフトウェアRAIDの同期失敗(ディスク障害)
CVMはローカルSSDの複数パーティションにまたがるソフトウェアRAID(md)でOSを保持しています。
SSDの障害やRAIDデグレードが発生すると、CVMのブートプロセスが失敗してループ状態になります。
ブートログ /tmp/NTNX.serial.out.0 に failed to get exclusive lock on mapfile や active with 1 out of 2 mirrors 等のメッセージが残ります(Nutanix Communityフォーラムより)。
原因4:CVMは起動しているがクラスターサービスがDown
CVM自体は起動してSSHでログインできるが、cluster status を実行するとサービスがDownしているケースです。
Genesis(クラスター管理サービス)が起動に失敗している場合や、メモリ不足が原因であることが多いです。
原因5:リソース不足(主にCE環境)
Nutanix CE(Community Edition)をネスト環境で動作させる場合、CVMに割り当てられるメモリが不足すると起動に失敗します。
CVMには最低16GiB(推奨20GiB以上)のRAMが必要で、AHVのブートドライブには最低64GiB以上が必要です(Nutanix Communityフォーラムより)。
対処手順:AHV環境
ステップ1:CVMの状態を確認する
AHVホストにrootアカウントでSSH接続し、CVMの状態を確認します。
# AHVホストにSSH接続(rootユーザー)
ssh root@<AHVホストのIPアドレス>
# VM一覧と状態を確認
virsh list --all
出力例(起動していない場合):
Id Name State
--------------------------------------
- NTNX-ahvhost001-CVM shut off
出力例(正常起動している場合):
Id Name State
--------------------------------------
21 NTNX-ahvhost001-CVM running
ステップ2:CVMを手動で起動する
CVMが shut off の場合、virsh start コマンドで手動起動します。
virsh start <CVM名>
# 例: virsh start NTNX-ahvhost001-CVM
起動後、CVM内のサービスが立ち上がるまで5分程度待ってから次のステップに進みます。
ステップ3:autostart設定を確認・有効化する
手動起動で復旧しても、autostart設定が無効のままだと次回ホスト再起動時に再発します。
autostartの有効化は以下のコマンドで行います(Nutanix Advent Calendarブログ、2019年より)。
# autostartを有効化
virsh autostart <CVM名>
# 例: virsh autostart NTNX-ahvhost001-CVM
# 有効化されたか確認
virsh list --all
注意:
virsh autostartはCVM以外の通常のゲストVMには使用しないことが推奨されています。CVM以外に適用する場合はNutanixサポートへの確認を推奨します(Nutanix Advent Calendarブログ、2019年より)。
ステップ4:メンテナンスモードを解除する
ホストがメンテナンスモードになっている場合は解除します。
# CVMにSSH接続後、メンテナンスモードを確認
nutanix@cvm$ acli host.get <AHVホストのIPアドレス> | grep node_state
# メンテナンスモード解除
nutanix@cvm$ acli host.exit_maintenance_mode <AHVホストのIPアドレス>
ステップ5:クラスターサービスの状態を確認・起動する
CVMが起動したら、クラスターサービスの状態を確認します。
# CVMにSSH接続
ssh nutanix@<CVMのIPアドレス>
# クラスターサービスの状態確認
nutanix@cvm$ cluster status
サービスがDownしている場合は、cluster start で起動します。
nutanix@cvm$ cluster start
正常起動時の確認メッセージの例:
yyyy-mm-dd HH:MM:SS,294Z INFO MainThread cluster:3104 Success!
対処手順:ESXi環境
ステップ1:CVMをvSphere Web Clientから起動する
- vSphere Web ClientでvCenterまたはESXiホストにログインする
- 対象のCVMを右クリックする
- 「電源」→「パワーオン」を選択する
- OS起動後、5分ほど待ってから次の手順に進む(Nutanix公式停止・起動手順書より)
コマンドラインから起動する場合は、ESXiホストにSSH接続して以下を実行します。
vim-cmd vmsvc/getallvms | grep CVM # CVM の VMID を確認
vim-cmd vmsvc/power.on <VMID>
ステップ2:autostart設定を確認する(ESXi+VMware HA環境)
VMware HAが有効な環境では、HA再設定後にCVMのautostart設定が無効化されることがあります。
vSphere Web Clientで確認する場合:
- ESXiホストを選択する
- 「構成」→「仮想マシンのスタートアップ/シャットダウン」を開く
- CVMが「自動起動」リストに含まれているか確認する
- 含まれていない場合は追加する
ステップ3:データストアの再スキャンとサービス確認
- ESXiホストを右クリックし、「データストアの再スキャン」を実行する
- 「構成」→「ストレージ」でデータストアが正しく表示されているか確認する(Nutanix公式停止・起動手順書より)
- CVMにSSHでログインし
cluster statusでサービス状態を確認する
クラスターサービスがDownしている場合の対処
CVMは起動してSSHでログインできるが、サービスがDownしているケースの対処手順です。
NCC(Nutanix Cluster Check)でヘルスチェックを実行する
nutanix@cvm$ ncc health_checks run_all
# または特定チェックのみ
nutanix@cvm$ ncc health_checks system_checks cluster_services_down_check
Genesisサービスを再起動してクラスターを起動する
# 全CVMでGenesisを再起動
nutanix@cvm$ allssh genesis restart
# Prismサービスを停止してからクラスターを起動
nutanix@cvm$ allssh genesis stop prism
nutanix@cvm$ cluster start
CVMのメモリを確認する
Self-Service Portal(SSP)などの一部機能は、CVMに24GiB以上のメモリが割り当てられていない場合に無効化されます。
メモリ不足がサービス停止の原因になっているケースでは、PrismコンソールまたはコマンドラインからCVMのメモリを増設してください。
# CVMのメモリ確認
nutanix@cvm$ free -h
ディスク障害が疑われる場合
CVMがブートループを繰り返す場合、ソフトウェアRAIDの同期失敗やSSDの物理障害が疑われます。
ブートログを確認する
AHVホストの以下のファイルにCVMのシリアルコンソール出力が記録されます。
cat /tmp/NTNX.serial.out.0
failed to get exclusive lock on mapfile や active with 1 out of 2 mirrors といったメッセージが確認できた場合は、RAIDデグレードが発生しています。
確認コマンドと推奨対応
# 接続されているブロックデバイスの確認
lsblk
# RAIDの状態確認
cat /proc/mdstat
重要:ディスク障害によるRAIDデグレードが原因の場合、誤った操作でデータが損失するリスクがあります。ログの内容をNutanixサポートポータルのケースに添付し、サポートエンジニアの指示に従って作業を進めることを強く推奨します。
それでも解決しない場合の確認事項
上記の対処を試みても改善しない場合は、以下を確認してから Nutanix サポートへ問い合わせてください。
- テレビのIPMI/iDRAC/iLO等からノードの物理的な状態(電源・ハードウェアアラート)を確認する
- CVMのコンソール画面(vSphere Clientのコンソールまたは
virsh console)を開いてエラーメッセージを確認する - Foundation実行中に
Cvm has failed to boot upエラーが出た場合は、CVMコンソールを開いて直接ブートエラーの内容を確認する - AOS・AHVのバージョンと、Nutanix HCL(Hardware Compatibility List)との互換性を確認する
Nutanixサポートへの問い合わせはNutanixサポートポータルから行えます。
まとめ
NutanixのCVMが起動しない場合、原因と対処のパターンは以下の通りです。
| 症状 | 主な原因 | 対処 |
|---|---|---|
| AHVは起動するがCVMがshut off | autostart設定が無効 | virsh start → virsh autostart |
| ESXiホスト再起動後にCVMが起動しない | VMware HAとautostart競合 | vSphere WebClientでautostart設定を確認・修正 |
| CVMは起動するがサービスがDown | Genesisの起動失敗・メモリ不足 | genesis restart → cluster start |
| CVMがブートループ | ソフトウェアRAIDデグレード・SSD障害 | ブートログ確認後、Nutanixサポートへ連絡 |
まずは virsh list --all(AHV)または vSphere Web ClientでCVMの電源状態を確認し、cluster status でサービスの状態を把握することが迅速な対応への近道です。
ディスク障害が疑われる場合は、データ損失のリスクがあるため早期にNutanixサポートへ連絡することを推奨します。
参考情報源:
- Nutanix公式「ホストとクラスターの停止・起動手順」(日本語PDF)
- Nutanix Community日本語フォーラム「Nutanixの回復力 – パート5 – CVMのメンテナンス中または障害時のRead I/O」
- Nutanix Community「CVM Power on From AHV」
- Nutanix Community「CVM fails to boot due to disk errors」
- tokyo-wasted’s diary「AHV起動時にCVMが自動起動しない問題」(2019年12月)
- hyperhci.com「Nutanix Cluster Services Down – Troubleshooting」

コメント