はじめに
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内にインストール
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をインストールしたLinuxVMのホスト名
出力例
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時間から変換することで確認可能です。

UNIX時間⇒日付変換
UNIX時間(UNIX時刻)から日付に変換します。
参考
https://www.nutanixbible.com/pdf/4d-book-of-aos-services.pdf
コメント