ラベル Nutanix Guest Tools の投稿を表示しています。 すべての投稿を表示
ラベル Nutanix Guest Tools の投稿を表示しています。 すべての投稿を表示

2020年12月16日水曜日

Nutanix Guest Toolsを入れた仮想マシンのクローン方法

前回はNGTの構造について見ていきました。ngt_config.json内に仮想マシン毎に異なるUUIDが記載されるため、そのまま仮想マシンをクローンするとNGTがただしく疎通できないと言うことも紹介しましたが、クローンを行う際のNGTの取扱いについて紹介します。

マスターに仮想マシンにNGTをインストールを前もって行っておきます。

マスター仮想マシンか必要台数の仮想マシンをクローンします。

さて、ここまではよいのですが、ここからがちょっとしたコツが必要になってきます。

クローンした仮想マシンは、マスター仮想マシンのNGTの設定は一切引き継がれません。そのため、クローンした仮想マシンをPrismのMage Guest Toolsを見ると「Enable Nutanix Guest Tools」のチェックが外れていることが分ります。

いくらNGTが仮想マシンにインストールされていても、このチェックが外れていたらNGTは有効になりません。しかし、大量の仮想マシンに対してこのチェックを1台ずつ付与するのはかなりの手間がかかります。

ここで登場するのが、PrismCentralです。PrismCentralを利用すると複数の仮想マシンに対して一括でNGTの操作を行うことが出来ます。

本環境では2台のWindows Server 2019について動作確認をしていきます。
クローンした2台の仮想マシン「C:\Program Files\Nutanix\config\ngt_config.json」を確認すると2つの仮想マシンともngt_uuidが同じ値が記載されていることが分ります。


なお、選択する仮想マシンはパワーオンされている必要があります。
また、クローンした仮想マシンにそれぞれネットワークの設定が完了しており、Nutanixクラスターの仮想IPと疎通ができる環境状況にしておく必要があります。

仮想マシンを複数選択し、Actionから「Install NGT」をクリックします。


NGTをとおしてVSS連携やSSRを利用したい場合はチェックを入れます。
続いて、NGTインストール後のOS再起動をするかの確認は、「Skip Restart」を選択し、「Confirm & Enter Password」をクリックします。


続いてゲストOSのユーザー名とパスワードを入力する画面が出てきます。この画面では、ユーザーアカウントの情報は入力せず、「Skip and Mount」をクリックします。



すると、仮想マシンにNGTのISOがマウントされることが分ります。

ISOがマウントされたら、仮想マシンのOSを再起動します。
1台ずつ仮想マシンを再起動するのが面倒な場合は、Prism Centralを利用し全ての仮想マシンを一旦シャットダウンし再度パワーオンします。(なぜかCentralのメニューには仮想マシンの再起動が存在していません...)


CentralのSoft Shutdownメニューを選択し「Soft shutdown 2 slected VMs?」にダイアログにOKをクリックします。

PowerStateが、Offになったことを確認し、再度Actionボタンから「Power On」をクリックします。

起動してしばらくすると、NGTのISOが自動でアンマウントされます。

その後仮想マシンの「C:\Program Files\Nutanix\config\ngt_config.json」を確認すると、「ngt_uuid」がユニークなIDに変更されていることが分ります。


Prism Elementで該当の仮想マシンを「manage Guest Tools」確認すると、きちんとNGTが有効化されていることがわかります。

この動きはすでに、NGTがインストールされている環境には、「Nutanix Guest Agent」というサービスが起動しています。このサービスが起動時にNGTのISOがマウントされているかを確認し、マウントされている場合は、ISOから最新の設定情報を取得するという動きを行います。今回は仮想マシンの再起動で対応しましたが、「Nutanix Guest Agent」のサービスを再起動すれば同じようにngt_config.jsonが更新され自動的にNGT ISOがアンマウントされるしようとなります。

最後に、ncliでNGTの疎通ができているかを確認します。

$ ncli ngt get vm-id=4f10def8-c3c5-4757-b46e-5708f2ece29c
    VM Id                     : 00056d28-59d3-7bbc-0000-000000014005::4f10def8-c3c5-4757-b46e-5708f2ece29c
    VM Name                   : NGT-Windows Server 2019-Clone01
    NGT Enabled               : true
    Tools ISO Mounted         : false
    Vss Snapshot              : true
    File Level Restore        : false
    Communication Link Active : true
$ ncli ngt get vm-id=b650e0ff-1fbc-493d-aaf4-9c026a3c8baf
    VM Id                     : 00056d28-59d3-7bbc-0000-000000014005::b650e0ff-1fbc-493d-aaf4-9c026a3c8baf
    VM Name                   : NGT-Windows Server 2019-Clone02
    NGT Enabled               : true
    Tools ISO Mounted         : false
    Vss Snapshot              : true
    File Level Restore        : false
    Communication Link Active : true


これでクローンした仮想マシンに一括してNGTの展開と有効化ができます。

VDI環境等NGTを必要する場合に活用いただければと思います。





2020年12月15日火曜日

Nutanix Guest Toolsの構造

前回はNGTのインストール方法をご紹介しました。
今回は、NGTの構造について見ていきたいと思います。

まずはNGTの全体的な構造について見ていきましょう。

NGTをインストールしたWindowsの仮想マシンを例にして見ていきたいと思います。

NGTをインストールしたディレクトリの配下であるconfigディレクトリを見ていきます。
(C:\Program Files\Nutanix\config)

こちらに「ngt_config.json」というファイルがありますのでこちらの中を参照します。

中には以下のような情報が書き込まれています。

{"cluster_ip": "192.168.XXX.YYY", "ngt_uuid": "d4de685b-791a-4fbc-b916-6d5008bcbe2d", "ngt_version": "2.0.1", "port": 2074}

こちらのclustetr_ipには、NutanixクラスターのクラスターVIP(仮想IP)が記載されていると思います。また、ngt-uuidやport番号の記載もあります。
これを見ると分るとおり仮想マシンにインストールしたNGTは、クラスターVIPと疎通が出来ることが条件となります。
ネットワークの構成上位、特定の疎通以外は一切疎通を許されないネットワークに配置する場合(DMZなど)は、注意が必要です。

Nutanixクラスターと仮想マシンがNGT疎通できているかは、CVMから確認することが出来ます。
コマンドは、「ncli list vm-names="仮想マシン名”」となります。
今回は、「NGT-Windows Server 2019」という仮想マシン名でコマンドを実行してみたいと思います。

<ncli> ngt list vm-names="NGT-Windows Server 2019"
    VM Id                     : 00056d28-59d3-7bbc-0000-000000014005::f993eb3c-f0cb-42fe-bc13-c7d75106ed3e
    VM Name                   : NGT-Windows Server 2019
    NGT Enabled               : true
    Tools ISO Mounted         : false
    Vss Snapshot              : true
    File Level Restore        : false
    Communication Link Active : true 

こちらを見ると「Communication Link Active」というのがあり、これがtrueであると、Nutanixクラスターと仮想マシンにインストールされてたNGTが疎通できているかが確認できます。

ポート番号からも分るように、NGTの通信は、クラスターVIPと仮想マシンが疎通は、「2074/TCP」を利用します。さらに、ゲストOSでWindowsOSを利用する場合「23578/TCP」を利用します。NGTを利用する場合、Firewall等がクラスターと仮想マシンの間にある場合は、この2つのポートを双方向であけるようにしましょう。


NGTとの疎通が行われるということは常駐するプロセスがあるということです。
Windowsの場合、NGTをインストールすると2つのサービスが登録され自動起動に設定されます。


Linuxの場合は、「ngt_guest_agent.service」と「ngt_self_service_restore.service」の2つのサービスが登録され、自動起動の設定が行われます。

NGTを利用する場合、Nutanix Guest Tools Agentは実行されている必要があります。
Self Service Restore(SSR)のサービスは利用しないのであれば停止していても問題ありません。


さて、先程の仮想マシンに展開された「ngt_config.json」の確認に戻りましょう。
もう一つ気になることがあります。それは、「ngt_uuid」というユニークなIDの存在です。これは想像できるとおり、仮想マシンUUIDとは別に、NGTをインストールした仮想マシンにはそれぞれユニークなNGTのUUIDが付与されます。

さて、ここで勘のいい人は気づいたはずです。

NGTをインストールしたマスターの仮想マシンをそのままクローンしてしまうと、後からハマってしまうことになりますので、注意が必要です。

これだと、大量の仮想マシンを展開する場合かなり大変になってしまいますので、そこは楽にNGTを展開する方法があります。方法については別の機会に紹介致します。


ではそもそもこの「ngt_config.json」は、どのように生成されるのでしょうか?

NGTのISOを確認すると、マウントしたISOに「ngt_config.json」ファイルが存在しており、既にngt_uuidも記載されていることがわかります。


この使用を考えると、仮想マシン毎にNGTのイメージがあるのか?と考えてしまうと思います。正解はYESです。

NGTのISOをPrismからマウントすると、その仮想マシンUUID毎に、設定したjsonファイルを包括したNGTのISOが作成されます。
作成されたISOは、その仮想マシンが存在するストレージコンテナの中に「.ngt」というディレクトリがあり、そのディレクトリ内に仮想マシンUUID毎にNGTのISOが保存されています。

▼ストレージコンテナの中にある「.ngt」の中


▼ディレクトリの中には、マウント時に生成されたISOが存在しています。


これから見ると分るようにNGTのISOは、仮想マシン毎に生成されますので、1台の仮想マシンでNGTのバイナリをファイルサーバー等の共有フォルダに置いて全台同じ物をインストールするとngt_uuidが同じになってしまいただしく動作しませんので1台ずつのマウントが必要となります。こちらの対策も、仮想マシンのクローンした際の対応と同じ方法で対照できますので、また改めて対策方法を説明いたします。


今回はNGTの構造について見ていきました。
NGTは、Nutanixにおける仮想マシン運用を楽にするものでありますが、NGTの構造を知っておかないと思わぬトラブルにハマることがありますので、注意が必要です。





2020年12月14日月曜日

NGTのインストール方法について

前回はNGTの必要性(有用性)についてご紹介いたしました。
では、今回は具体的にNGTのインストール方法について紹介します。

NGTは、Prism Elementからのインストール方法とPrism Centralからの一括インストール方法がありますが、今回はすぐにインストールできるという観点から、Prism Elementを利用したインストール方法をご紹介します。

<インストールにおける共通操作>

NGTをインストールしたい仮想マシンをPrismの仮想マシン画面で選択し、「Manage Guest Tools」をクリックします。


ダイアログが表示されますので、「Enable Nutanix Guest Tools」にチェックを入れ、「Mount Nutanix Guest Tools」にチェックを入れ、Submitをクリックします。


仮想マシンのCDROMドライブにNGTのISOがマウントされていることを確認し、CDROMドライブをダブルクリックします。
以前のバージョンでは、IDEバスのCDROMドライブが存在しないとNGTのISOがマウントできませんでしたが、AOS5.18.1.2で確認をする限り、SATAドライブのCDROMドライブであってもNGTのISOはマウント可能となっています。

<Windows OSにおけるインストール>


今回は、Windows Server 2019をベースにご説明いたしますが、基本どのOSも同じ手順となります。MSIのインストーラーが起動します。EULAを確認し、「Install」をクリックし、インストールを実行します。

インストールを行います。OSによっては、Driverのインストール許可画面が表示されますので、許可を実行します。


インストールはおよそ3分~5分程度で終了します。なお、NGTのインストール後の再起動は不要です。再起動は不要です。


なお、サイレントインストールも可能です。サイレントインストールの場合、以下のコマンドを実行します。

drive:\> setup.exe /quiet ACCEPTEULA=yes /norestart


<Linux OSにおけるインストールについて>

今回は、CentOS 8.2をベースに説明を行います。

CentOS8.2の場合は、ISOをマウントすると自動マウントされます。
NGTは、Pythonを利用しますが、Pythonがインストールされていない環境の場合、「setup_python.sh」を実行、既にPythonがインストール済みの場合は、「install_ngt.py」を実行します。

# cd /run/media/root/NUTANIX_TOOLS/installer/linux
# ./setup_python.sh
Using Linux Installer for centos linux linux distribution.
Setting up folders...
Installing NGT Guest Agent...
Setting up Nutanix Guest Tools - VM mobility drivers.
Successfully set up Nutanix Guest Tools - VM mobility drivers.
Installing Nutanix Guest Agent Service.
Successfully installed Nutanix Guest Agent Service.
Installing Nutanix Self Service Restore Service.
Successfully installed Nutanix Self Service Restore Service.
Creating desktop shortcuts...
Cleaning up temporary files...
Waiting for Nutanix Guest Agent Service to start...
Waiting for Nutanix Self Service Restore Service to start...
Nutanix Guest Agent Service successfully started in the background.
Nutanix Self Service Restore Service successfully started in the background.
インストールはこれだけで終了です。

NGTは、「/usr/local/nutanix/ngt」配下にインストールされます。

アンインストールの方法

<Windowsの場合 >

プログラムと機能の画面から「Nutanix Guerrst Tools」を選択しアンインストールします。
なお、この際Nutanix VM Mobilityは、AHV環境の場合、これをアンインストールするとVirtI/O Driverが消えるため、OSが起動できなくなりますので、AHV環境の場合は絶対にアンインストールしないでください。

<Linuxの場合>

Linuxの場合は、NGTの中でインストールされたPythonを元に、アンインストールプログラム「/usr/local/nutanix/ngt/python/bin/uninstall_ngt.py」を実行します。

# /usr/local/nutanix/ngt/python36/bin/python3 /usr/local/nutanix/ngt/python/bin/uninstall_ngt.py
This script will uninstall NGT Guest Agent. Do you want to proceed? (Y/[N]): y

Uninstalling Nutanix Guest Tools.
Stopping and removing Nutanix Self Service Restore Service.
Stopping and removing Nutanix Guest Agent Service.
Successfully uninstalled Nutanix Guest Tools.

NGTのインストール・アンインストールはいずれも手軽にできます。

次回は、NGTの構造を見ていきたいと思います。




2020年12月13日日曜日

NutanixにおけるNGTの役割

Nutanix上に仮想マシンを展開する場合、必要に応じてNGTのインストールを行う必要があります。では、このNGTはどのような場合に利用するのでしょうか?NGTを入れるメリットはどういったことにあるのでしょうか。

今回は、NGTの役割や必要有無について見ていきたいと思います。

NGTは、Nutanix Guest Toolsの略であり、通称NGTと呼ばれているツールです。
VMware環境においては、VMware Toolsのインストールが存在し、VMware Toolsは、仮想マシンに対してドライバーやハイパーバイザーとの疎通を行う各種ツールを提供し、実質上仮想マシンのインストールがほぼ必須になっていますが、Nutanix Guest Toolsは、VMware Toolsとは多少趣が異なる側面があります。

NGTの導入メリット

・Self Service Restoreの利用

Self Service Restore(SSR)は、AOS Proライセンス以上で提供される機能です。仮想マシン上のデーターをNutanixで取得したストレージスナップショットを仮想マシンでマウントし、任意のファイルをリストアすることが出来ます。SSRは、WebベースのGUIとCLIが提供されます。SSRは、WindowsとLinuxがサポートされています。

・Windows用のVSSリクエスター及びハードウェアプロバイダー

NutanixのProtection Domainを利用して、VSSキックを行い仮想マシンの静止点を取得することが出来ます。

・Linux用の整合性スナップショット取得

Windowsと違いLinuxにはVSSのような静止点取得の機能が無いため、スクリプトベースで静止点を取得することができます。

・Nutanix VM Mobility

こちらは、VM Mobilityというとわかりにくく聞こえますが、ESXiやHyper-VからAHVへ仮想マシンをマイグレーションできるようにするためにAHV用のデバイスドライバーを提供します。

・AHVにおけるシャットダウンのアシスト機能

AHV環境で稼動するWindowsゲストマシンに対して、シャットダウン機能をアシストします。NGTが無くてもWindowsゲストマシンのシャットダウンは行えますが、より確実にシャットダウンを行うための機能が備わっています。一部UPSソフトウェアとの連携においては、NGTがインストールされていないと社とダウンが実行されないケースもあります。

・SysprepやLeapでのスクリプト起動

Sysprep時の各種パラメーターファイルの受け渡しや、Leapを利用した際のスクリプト実行などに利用されます。


これらがNGTの利用用途です。一方でこれらの機能を利用しない場合は、NGTを無理にインストールする必要はありません。(がインストールしておくことが推奨ではありますが)


では、NGTをインストール際の注意事項等を確認しておきましょう。

NGTを導入する際の条件について

  • WindowsゲストOSの場合、64Bit OSのみがサポートされます。
  • サポートされるWindows ゲストOSは、Windows Server 2008 R2以降となります
  • 仮想マシンとCVMの間で、2047/TCPの疎通が出来ること
  • VSS連携を利用する場合は、CVMと仮想マシンの間で23578/TCPの疎通が出来ること
  • Linux版の場合、/usr/local配下にインストールされます。あらかじめ書き込み・実行権限が/usr/local配下に必要です
  • ESXi環境の場合、VMware Toolsと同居インストールが可能


Volume Groupを仮想マシンに割り付けている場合も、NGTを導入することで同様に静止点取得の対象とすることが出来ます。この場合、マウントされているiSCSIボリュームは5分おきにNGTが情報を再取得を行います。そんためiSCSI Volumeをマウント↓直後ですと、マウントしているボリュームの静止点が取れない可能性があります。その場合は、ゲストOSのNGTサービスを再起動する必要があります。


次回は、NGTのインストール方法を確認したいと思います。