はじめに
Nutanix Bibleなどに書いてあることを個人用に整理したものとなります。
Nutanix Guest Tool Serviceを構成する主な役割
NGT Proxy
- TCP 2074でリッスン
- 全てのCVM上で実行
- リクエストをNGTリーダーへ転送
NGT Leader
- TCP 2073でリッスン
- クラスター毎に1つのNGTリーダーが動的に選出
- Prismリーダーとして機能しているVM(VIPをホストしているVM)がNGTリーダー
- NGTプロキシから送信されるリクエストの処理を担当
- AOSコンポーネント(Cerebroなど)との連携を担う
確認方法
任意のCVMにnutanixユーザーでログイン。次のコマンドを実行。
nutanix_guest_tools_cli get_master_location
出力例
nutanix@NTNX-HOME-C-CVM:192.168.3.116:~$ nutanix_guest_tools_cli get_master_location I20250428 15:52:24.000553Z 207890(0x7fa820b953c0) zookeeper_init:994] Initiating client connection, host=zk1:9876,zk2:9876,zk3:9876 sessionTimeout=20000 watcher=0x7fa82b1606c0 sessionId=0 sessionPasswd=<null> context=0x7ffe70c43840 flags=0 I20250428 15:52:24.000554Z 207890(0x7fa8201ff700) zookeeper_interest:1950] Connecting to server 192.168.3.112:9876 I20250428 15:52:24.000554Z 207890(0x7fa8201ff700) zookeeper_interest:1987] Zookeeper handle state changed to ZOO_CONNECTING_STATE for socket [192.168.3.112:9876] I20250428 15:52:24.000554Z 207890(0x7fa8201ff700) check_events:2196] initiated connection to server [192.168.3.112:9876] I20250428 15:52:24.000558Z 207890(0x7fa8201ff700) check_events:2244] session establishment complete on server [192.168.3.112:9876], sessionId=0x39639a7a18414e1, negotiated timeout=20000 I20250428 15:52:24.000660Z 207890(0x7fa820b953c0) zookeeper_close:3142] Closing zookeeper sessionId=0x39639a7a18414e1 to [192.168.3.112:9876] Master's handle: 192.168.3.112:2073 Master's incarnation ID: 529406
Nutanix Guest Agent
以下のコンポーネントとの連携
- ngtcli
- VSS
- SSR
- scripts/config
- その他
Guest AgentとGuest Tool との通信
- ゲストエージェントサービスは、VMからCVMへのシリアルポート接続を介してゲストツールサービスと通信
- ゲストエージェントサービスがシリアルポート経由でCVMに接続できない場合、SSLを使用したNutanixクラスターVIPへのネットワーク接続にフォールバック
- フォールバックするための条件として、UVM ネットワークからクラスター VIPへルーティング可能であること
- フォールバックするための条件として、UVM ネットワークからクラスター VIP への通信をポート 2074 で許可していること
証明書
- ゲストツールサービスは証明書発行機関(CA)として機能。各NGT対応UVMに対して証明書ペアを生成
- この証明書は、UVM用に構成されたISOに埋め込まれ、NGT展開プロセスの一部として使用
- これらの証明書は、インストールプロセスの一環としてUVM内にインストール
- クライアント証明書の有効期限が切れると、ゲストVMはCVMとの通信を停止
- 証明書の有効期限まで残り1年を切ると、ゲストVMはCVMに接続して証明書を更新し、新しい証明書または更新された証明書を使用してCVMとのIPベースの通信を継続(※)
※の条件:AOS7.0以上で動作、NGT4.2以降を使用、ゲストVMの電源がONかつCVMと接続できていること
Nutanix Guest Agentとの通信
任意のCVMにnutanixユーザでSSHログイン後、次のコマンドを投入してください。Nutanix Guest AgentサービスがCVMと通信していることを確認できます。
nutanix_guest_tools_cli list_vm_tools_entities include_vm_info=true vm_name=NGTをインストールしたVMのホスト名
出力例
nutanix@NTNX-HOME-C-CVM:192.168.3.116:~$ nutanix_guest_tools_cli list_vm_tools_entities include_vm_info=true vm_name=RockyLinux9.5 I20250428 16:09:28.000270Z 366110(0x7fbcf08293c0) zookeeper_init:994] Initiating client connection, host=zk1:9876,zk2:9876,zk3:9876 sessionTimeout=20000 watcher=0x7fbcfadf46c0 sessionId=0 sessionPasswd=<null> context=0x7fff2f317940 flags=0 I20250428 16:09:28.000272Z 366110(0x7fbcefefc700) zookeeper_interest:1950] Connecting to server 192.168.3.116:9876 I20250428 16:09:28.000272Z 366110(0x7fbcefefc700) zookeeper_interest:1987] Zookeeper handle state changed to ZOO_CONNECTING_STATE for socket [192.168.3.116:9876] I20250428 16:09:28.000273Z 366110(0x7fbcefefc700) check_events:2196] initiated connection to server [192.168.3.116:9876] I20250428 16:09:28.000277Z 366110(0x7fbcefefc700) check_events:2244] session establishment complete on server [192.168.3.116:9876], sessionId=0x19639ab3ea913c4, negotiated timeout=20000 I20250428 16:09:28.000379Z 366110(0x7fbcf08293c0) zookeeper_close:3142] Closing zookeeper sessionId=0x19639ab3ea913c4 to [192.168.3.116:9876] vm_uuid_vec: "17e3b176-61f7-4544-be14-396bbddea92e" vm_info_vec { vm_uuid: "17e3b176-61f7-4544-be14-396bbddea92e" capabilities { file_level_restore: true vss_snapshot: false volume_group_snapshot: false } auth_key: "605b5f10100b4a42590a544455485250445459190a544b790c0a46100c4a17455e074101" guest_tools_enabled: true vm_info { ngt_version: "4.1.2" guest_os_type: kLinux guest_os_release: "Rocky Linux-9.5" is_64_bit: true mobility_drivers_info { kvm_drivers_installed: true esx_drivers_installed: true } vss_installed: false guest_os_version: "9.5" is_installation_complete: true backup_scripts_installed: false multipathing_enabled_for_devices: false network_interfaces_info { interface: "ens3" mac_address: "50:6B:8D:DE:67:47" ipv4_info_vec { ip_address: "192.168.3.102" prefix_length: 24 gateway_ip_vec: "192.168.3.1" is_static_ip: false } dns_ip_vec: "8.8.8.8" dhcp_sever_ip_address: "192.168.3.254" } guest_ngt_capabilities { in_guest_volume_attachment_enabled: true ngt_metrics_enabled: false } client_cert_expiry_date: 1831435265 package_manager: "RPM" installation_time: "36.18782949447632" } tools_mounted: false client_certificates_generated: true nfs_iso_path: "" system_uuid: "17e3b176-61f7-4544-be14-396bbddea92e" ngt_uuid: "377661c5-3293-4542-bf04-2298bcb595ca" vm_name: "RockyLinux9.5" communication_link_active: true mounted_iso_version: "" mounted_iso_config_only: false is_dormant_vm: false device_uuid: "" client_cert_expiry_date: 1831435265 communication_type: kFallbackToIP communication_link_over_serial_port_active: true mark_for_communication_type_modify: false }
その他
証明書の失効日は証明書のインストール(NGTのインストール)から1000日(のはず)です。
client_cert_expiry_dateのUNIX時間から変換することで確認可能です。
403 Forbidden
関連記事

[Nutanix]pc.2024.3からNutanix Guest Toolをインストール(Linux編)
はじめにpc.2024.3.1を使用してNutanix Guest ToolをLinux VMへインストールしてみました。前提条件 /user/localへのアクセス権限を、インストール時に使用するログインユーザーが持っていること。 lvm...

[Nutanix]Windows server 2022にnutanix guest toolをインストールしてみる
はじめにNutanix Guest Toolについて、Prism Centralからインストールを試してみました。対象Windows Server 2022 Datacenter Editionまた、Prism Centralのバージョンは...

[Nutanix]クローンしたVMでNutanix Guest Toolを有効にする方法(Linux編)
前提AOS 6.10AHV 2023.~クローン元のVM名:RockyLinux9.5クローン後のVM名:RockyLinux9.5-2クローン元のVMのNGAの確認クローン元のVMでNutanix Guest Agentが動作しているか確...

[Nutanix]クローンしたVMでNutanix Guest Toolを有効にする方法(Windows編)
前提AOS 6.10AHV 2023.~クローン元のVM名:WindowsServer2022クローン後のVM名:WindowsServer2022-1クローン後のVMのNGAの確認Nutanix Guest Agentの起動状況Nutan...

[Nutanix]Nutanix Guest Toolをアンインストールする(Linux編)
手順アンインストール用のスクリプトの実行特権モードで次のコマンドを流します。/usr/local/nutanix/ngt/python/bin/uninstall_ngt.sh出力例# /usr/local/nutanix/ngt/pyth...

[Nutanix]Nutanix Guest Toolをアンインストールする(Windows編)
手順アンインストール時に使用する文字列を抽出powershellを開いて、次のコマンドを実行します。出力された文字列を後の工程で使用します。Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windo...
参考
https://www.nutanixbible.com/pdf/4d-book-of-aos-services.pdf
Nutanix Support & Insights
コメント