Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Nutanix Guest Tools 3.0のご紹介

Shadowhat
March 08, 2023

Nutanix Guest Tools 3.0のご紹介

AOS6.6から実装されたNutanix Guest Tools(NGT3.0)の機能紹介や実装についてご紹介しています。

Shadowhat

March 08, 2023
Tweet

More Decks by Shadowhat

Other Decks in Technology

Transcript

  1. Nutanix Guest Tools 3.0 のご紹介 2023年3月8日 SB C&S株式会社 ICT事業本部 ICT事業戦略・技術本部

    技術統括部 第3技術部2課 萩原 隆博 Version 1.0 Nutanix Meetup 2023.03
  2. 2 本ドキュメントの利用条件 本ドキュメントを利用される前に、以下の注意点をお読みいただき、 ご承諾いただいた上でご利用ください。 • 本ドキュメントの著作権はSB C&S株式会社(以下弊社)に帰属します。このため本ドキュメント全てまたは その一部を著作権者の許可なく複製や再配布することは禁じられています。 • 本ドキュメントは利用条件や記載内容は予告なしに変更することがあります。

    • 本ドキュメントは、弊社にて把握、確認された内容を基に作成したものであり、お客さま環境や製品機能 の仕様や動作について担保・保証するものではありません。 • 本ドキュメントに記載内容は、本ドキュメント発行時点の情報であり、製品のバージョンアップなどによる 機能拡張によって実際の操作手順や画面構成、機能動作などが変更される場合もございます。 • 本ドキュメントの利用に関し、トラブルが発生した場合、利用者又は第三者に損害が生じた場合であっ ても、本ドキュメントは利用者の自己責任のもと利用されるものであることを鑑み、弊社は損害賠償その 他一切の責任を負いません。
  3. 6 Nutanix Guest Toolsとは Nutanix Guest Toolsとは、仮想マシンにインストールするソフトウエアです。 Nutanix上で稼動する仮想マシンで、以下のような役割があります。 ファイルレベルリストア VM

    Mobility Windows/Linuxのアプリケーションコンシステンシースナップショット取得支援 Self Service RestoreによるNutanixスナップショットをマウントしてファイルベースの リストアを行います VirtIO Driverにより、AHVとESXi間の行き来ができるようになります Windowsの場合は、VSSと連携します。 Linuxの場合は、スクリプトベースで制止点を取得します。 Nutanix Disaster Recovery (DR)の動作支援 Prism Centralに実装されるNutanix Disaster Recovery機能と連携し、 フェールオーバー時のIPアドレス変更やスクリプト実行を行います。
  4. 14 JSON内部の記載 仮想マシン個別の情報が記載されています。 { "cluster_ip": "192.168.32.130", "communication_type": 2, “ngt_heartbeat_max_retry_fallback_to_ip”: 3,

    "ngt_heartbeat_max_retry_ipless": 20, "ngt_uuid": "f23f8a46-cae3-4a86-81b1-d941a00e9957", "ngt_version": "3.0", "port": 2074, "hypervisor_type": 3, "last_configuration_uuid": "0c4c8d0f-9faa-4358-4219-eec2a56df5ac“ } ←Cluster VIP ←仮想マシン個別UUID 仮想マシン個別のJSONがISOに内包されているため、仮想マシンごとにNGTのISOが必要
  5. 19 鋭い質問に対するご回答 VDIなどクローンをした仮想マシンへのNGTアップデート クローンされた仮想マシンにNGTのISOをマウントし、ゲストOSを再起動するとNGAの サービス起動時に、ISOからJSONファイルを自動取得します。そのため、NGAの 再インストールは、不要です。この手順は、Prism Centralを介して、これらの作業を一括で 行うことが可能です。 (ただ、手間がかかることは事実なので、今後改善の予定らしい…) 証明書の更新について

    現状、クライアント証明書の有効期限は、NGAのISO作成日から1000日となっています。 すなわち1000日を超えるとNGTの疎通が出来なくなります。 証明書の有効期限が近づいた仮想マシンは、Prism上でアラートが表示されるように なっています。 え? 証明書を入れ替えないといけないのか?それは、YESです。
  6. 23 仮想マシンの定義を見てみると AHVもしくは、CVMから 「virsh dumpxml 仮想マシンUUID」コマンドを実行 <serial type='unix'> <source mode='bind'

    path='/var/lib/libvirt/qemu/15b0c5c1-c2c6-451d-812d-0fd3157df84f.serial.1'/> <target type='isa-serial' port='1'> <model name='isa-serial'/> </target> <alias name='serial0'/> <address type='isa' iobase='0x2f8' irq='0x3'/> </serial> <console type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/15b0c5c1-c2c6-451d-812d-0fd3157df84f.serial.1'/> <target type='serial' port='1'/> <alias name='serial0'/> <address type='isa' iobase='0x2f8' irq='0x3'/> </console>
  7. 27 ちなみに NGTに関係なく、現在はAHVで稼働する仮想マシンに対して、COMポートを作成することが できます。 vm.serial_port_create 仮想マシン名 index=COM番号 type=kServer COMポートを作成 vm.serial_port_delete

    仮想マシン名 index =COM番号 COMポートを削除 今ドキュメントを見る限り、5.20でもこのコマンドは存在していたようです… ※COMポートのINDEXは、0〜3(COM1〜COM4まで)
  8. 31 NGTにおけるIP通信とCOM通信の優先度 ドキュメントには、以下の記載があります。 参考:https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Guide-vpc_2022_9:man-nutanix-guest-tool-nga-vm-communication-r.html By default on AHV clusters, the

    NGA service communicates with the CVM over IP- less connections using the first serial port on the guest VM. If the CVM does not respond, NGA reverts to IP-based communication. デフォルトでは、NGTの通信は、COM通信がデフォルトとなり、COMでの疎通ができない 場合のみ、IPベースの疎通が有効になるようです。 仮想マシンが稼働しているホスト上のCVMが万が一ダウンした場合、COM接続での制御 が出来なくなるのでそういう場合のためにIPベースの疎通も取れるようにしておくことがお 勧めされていると考えられます。
  9. 46 メッセージのやり取り Nutanixのドキュメントには、以下の記載があります。 In IP-less communication, the NGA service in

    the guest VM starts periodic communication with the CVM over the first serial port on the guest VM. The NGA service communicates with the CVM by sending remote procedure calls (RPCs) over the serial port to the CVM. The communication link over the serial port becomes active when NGA receives a response from the CVM. If the CVM does not respond, NGA reverts to IP-based communication. RPCなのでおそらくバイナリデーターをBASE64にエンコードして送っているものと思われる。 参考:https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Guide-vpc_2022_9:man-nutanix-guest-tool-nga-vm-communication-r.html