既存のホストでの最新バージョンの VMware Tools のインストールとアップグレード
search cancel

既存のホストでの最新バージョンの VMware Tools のインストールとアップグレード

book

Article ID: 322020

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項:これは英文の記事「Installing and upgrading the latest version of VMware Tools on existing hosts 」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

VMware ESXi ホストで使用可能な VMware Tools ISO イメージ バンドルのバージョンを管理するために VMware ESXi インストーラと VMware vSphere Update Manager (VUM) または VMware vSphere Lifecycle Manager (vLCM) を使用することに加えて、VMware Tools ISO イメージ ファイルを手動でインストールおよび更新することもできます。

vSphere 6.7 で Update Manager を使用して VMware Tools をアップグレードする方法の詳細については、「仮想マシンの VMware Tools のアップグレード」を参照してください
vSphere 7.0 で vSphere Lifecycle Manager を使用して VMware Tools をアップグレードする方法の詳細については、「仮想マシンの VMware Tools バージョンのアップグレード」を参照してください。

この記事には次の内容が含まれています。

  • 既存の VMware ESXi ホストで VMware Tools ISO イメージ ファイルの最新バージョンをインストールする、または最新バージョンにアップグレードするための手動の手順。
  • VMware ESXi ホストを再起動することなくインストールまたはアップグレードを完了するための手動の手順。

この記事は、エラーや問題の解決にも役立ちます。

  • 必要な VMware Tools の ISO イメージは存在しないかアクセス不能になっています。Vix 21001
  • VMware ESXi ホストの VMware Tools ISO イメージ ファイルを新しいバージョンに更新した後、VMware Tools が「最新」と報告されます。


Environment

VMware vSphere ESXi 6.0
VMware vSphere ESXi 6.5
VMware vSphere ESXi 6.7
VMware vSphere 7.0.x

Resolution

VMware ESXi のバージョンに関係なく、VMware Tools の最新バージョンのインストール方法、または最新バージョンへのアップグレード方法としては以下がサポートされています。

VMware ESXi ホストでの VMware Tools のデフォルト リポジトリのインストールまたは更新

VMware ESXi インストーラ、VUM、および vLCM では、常に VMware Tools ISO イメージ ファイルがデフォルトで /locker パーティションの場所 (/locker/packages/vmtoolsRepo) にインストールされます。これについては、この記事では説明しません。

/locker パーティション (/locker/packages/vmtoolsRepo) にあるデフォルトの VMware Tools ISO イメージ ファイル リポジトリの内容を手動で更新することは推奨されません。手動で更新すると、内容を管理している VMware ESXi インストーラ、VUM、vCLM の操作と競合します。


ProductLocker の場所(/productLocker シンボリック リンク)は、UserVars.ProductLockerLocation 設定によって制御されます。この設定は、ESXi ホストの Web ユーザー インターフェイス:[ホスト (Host)] -> [管理 (Manage)] -> [詳細設定 (Advanced Settings)]、または VMware vCenter Web のユーザー インターフェイス:[ホスト (Host)] -> [構成 (Configure)] -> [システムの詳細設定 (Advanced System Settings)]UserVars.ProductLockerLocation を検索して見つけることができます。設定されていない場合、/productLocker シンボリック リンクは通常、/locker/packages/vmtoolsRepo をポイントし、その場所にある VMware Tools ISO イメージ ファイルが VMware Tools のインストールとアップグレードに使用されます。ramdisk キャッシュが使用されている場合、/productLocker シンボリック リンクは /tools をポイントしている可能性があります。
 

問題:
VMware ESXi ホストで VMware Tools リポジトリをインストールまたは更新した後、既存の仮想マシンの VMware Tools のバージョン ステータスに、VMware Tools の新しいバージョンのインストールまたはアップグレードが可能であると示されません。

注:
VMware Tools リポジトリの更新が監視される間隔は、Config.HostAgent.plugins.vmsvc.productLockerWatchInterval(秒単位)によって制御されます。この設定は、デフォルトで 300 秒で、Web ユーザー インターフェイスのホストの [詳細設定 (Advanced Settings)](VMware ESXi の場合)または [システムの詳細設定 (Advanced System Setting)](VMware vCenter の場合)リストからアクセスできます。


VMware Tools の監視間隔を過ぎても問題が解決しない場合は、VMware ESXi ホストで VMware Tools リポジトリが RAM ディスク (/tools ramdisk) にキャッシュされていることが原因である可能性があります。

  1. 最初に、/tools ramdisk が使用されているかどうかを ESXi ホスト CLI を使用して確認します(SSH クライアントを使用した ESX ホストへの接続)。

ls -l /productLocker

  1. 上記のコマンドの出力に、「/tools」がシンボリック リンクのリンク先として表示される場合。以下のいずれかを実行して /tools ramdisk の内容を更新できます。
    1. VMware ESXi ホストを再起動します。または
    2. 次のコマンドで /locker/packages/vmtoolsRepo/ の内容を /tools にコピーします。

rm -rf /tools/*
# cp -r /locker/packages/vmtoolsRepo/* /tools/

これは、次のセクションで説明するように、ProductLocker の場所の構成が正しくないことが原因である可能性もあります。

データストアでの VMware Tools リポジトリのインストールまたは更新

VMware Tools リポジトリは、VMware ESXi ホストからアクセス可能な(共有)データストアに配置されます。

開始する前に

データストア パスを使用する場合は、ホスト上の仮想マシンをパワーオンする前に ProductLocker を構成する必要があります。ProductLocker を構成する前にパワーオンした仮想マシンでは、VMware Tools のインストールまたはアップグレードが失敗する可能性があります。詳細については、Installing or upgrading VMware Tools might fail for VMs powered on before configuring ProductLocker (2147383)」を参照してください。

初めて VMware Tools リポジトリをデータストアにインストールするときは、まず、リポジトリのルートとして使用するディレクトリを作成する必要があります。

リポジトリのデータストアの場所とそのディレクトリは、

  • VMware ESXi ホストからアクセスできる必要があります。
  • VMware Tools ISO イメージ リポジトリとしてのみ使用する必要があります(仮想マシン フォルダやホームではない)。
  • データストアに VMware Tools リポジトリを作成してから、次のように権限を調整します。

# mkdir /vmfs/volumes/<datastore-name-or-volume-id>/<vmtools-repository-name>
chmod 700 /vmfs/volumes/<datastore-name-or-volume-id>/<vmtools-repository-name>

このデータストアの場所があり、後から上記のように構成すると想定しています。
現在の ProductLocker の場所を見つけます。
ESXi Shell で、以下を実行します。
# ls -l /productLocker
# readlink /productLocker

2 番目のコマンドの出力は、現在の VMware Tools ISO イメージ リポジトリへの絶対パスです。1 番目のコマンドは診断用で、後で役立ちます。

データストア上の VMware Tools リポジトリの更新と構成

これは、VMware Tools リポジトリの場所がデータストア上にあり、上記の「開始する前に」セクションの説明に従って作成および構成されていることを前提としています。

  1. VMware Tools リポジトリにコンテンツがある場合は、既存のファイルへの上書きではなく、次のようにして空にすることを推奨します。
 rm -rf /vmfs/volumes/<datastore-name-or-volume-id>/<vmtools-repository-name>/*
  1. VMware Tools パッケージを VMware ダウンロードからダウンロードして抽出します。
https://customerconnect.vmware.com に配置されいる VMware Tools パッケージには、ISO イメージ ファイルと共にメタデータ ファイルおよび署名が含まれています。漏れがないようにすべてのファイルを抽出する必要があります。抽出されないファイルがあると、VMware Tools のインストール、アップグレード、およびバージョン ステータス レポート作成中に予期しないエラーが発生する可能性があります。
  1. VMware Tools リポジトリのコンテンツを更新します(以下のいずれかを選択)。
    1. 抽出されたディレクトリから VMware Tools リポジトリに、「vmtools」および「floppies」サブディレクトリをコピーします。
cp -r /path-to-package-extracted-dir/vmtools /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name>/
# cp -r /path-to-package-extracted-dir/floppies /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name>/

 
  1. VMware Tools ISO イメージ ファイルを個別に更新します。VMware Tools を Windows 仮想マシンで使用するには、(最新の)VMware-Tools-windows zip から次のファイルを取得し、対応する「vmtools」および「floppies」フォルダに配置します。
 

vmtools/isoimages_manifest.txt
vmtools/isoimages_manifest.txt.sig
vmtools/windows.iso
vmtools/windows.iso.sha
vmtools/windows.iso.sig
vmtools/windows_avr_manifest.txt
vmtools/windows_avr_manifest.txt.sig
floppies/pvscsi-Windows8.flp
floppies/pvscsi-Windows2008.flp
floppies/pvscsi-WindowsVista.flp

VMware Tools をレガシー Linux ゲスト OS でも使用するには、(最新の)VMware-Tools-core zip から次のファイルを取得して、「vmtools」フォルダに配置します。

vmtools/linux.iso
vmtools/linux.iso.sha
vmtools/linux.iso.sig
vmtools/linux_avr_manifest.txt
vmtools/linux_avr_manifest.txt.sig

  1. 次のように、ファイルに対する必要な権限を設定します。

chmod -R 700 /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name>/*

注:ここからのすべての手順(手順 5 以降)は、共有データストアに vmtools リポジトリを初めてセットアップするとき、または vmtools リポジトリの場所が変更された場合のものです。

  1. 新しい VMware Tools ISO イメージ リポジトリの場所を使用するように ProductLocker を構成します。VMware Tools ISO イメージ リポジトリの場所をポイントするように UserVars.ProductLockerLocation 変数を更新するには、ESXi Shell または vSphere Web Client を使用します。
    1. ESXi Shell から:
# esxcli system settings advanced set -o /UserVars/ProductLockerLocation -s  /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name>
  1. vSphere Web Client から:
    1. ホストを選択し、[構成 (Configure)] タブを選択します。
    2. [システム (System)] で、[システムの詳細設定 (Advanced System Settings)] をクリックします。
    3. [編集 (Edit)] をクリックし、ProductLockerLocation でフィルタリングします。
    4. UserVars.ProductLockerLocation/vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name> を設定します。
    5. 変更を保存します。
 
  1. ProductLocker シンボリック リンク (/productLocker) を更新します。
    1. VMware ESXi ホストを再起動します。または、 
    2. この後の「VMware ESXi ホストの再起動なしで ProductLocker シンボリック リンクを更新する」セクションの中で、一致する VMware ESXi ホスト バージョンの、再起動なしの手順に従います。

注:Auto Deploy を使用してプロビジョニングされた ESXi ホストでは、この方法を使用することは推奨されません。Auto Deploy を使用してプロビジョニングされたホストのホスト プロファイルを構成する場合の詳細については、VMware Tools for hosts provisioned with Auto Deploy (2004018)」を参照してください。

VMware ESXi ホストの再起動をせずに ProductLocker シンボリック リンクを更新する

ProductLocker の場所 (UserVars.ProductLockerLocation) を更新した後、/productLocker シンボリック リンクが同じ場所になるように更新する必要があります。これは通常、VMware ESXi ホストの起動(再起動またはパワーオン)時に自動的に実行されます。また、ここに示すいずれかの手順に従って手動で行うこともできます。

vSphere 6.7 Update 1 以降
vSphere 6.7 Update 1 では、updateProductLockerPolicy ツールは、updateProductLockerLocation vSphere API に置き換えられました。詳細については、「Configuring a VMware Tools Repository in vSphere 6.7U1」で UpdateProductLocker について確認してください。
例:
引数に /vmfs/volumes/<datastore-name-or-volume-id>/vmtools-repository-name> を指定して updateProductLockerLocation vSphere API を呼び出すと、/productLocker シンボリック リンクが更新されます


API を呼び出すには、vCenter 管理対象オブジェクト ブラウザを使用できます。管理対象オブジェクト ブラウザには、https://vcenter_fqdn/mob(vcenter_fqdn は、使用している vCenter Server の実際の FQDN または IP アドレスに置き換えます)でアクセスできます。[email protected] アカウントでログインしてから、[content > rootFolder > childEntity > hostFolder] に移動します。ホストに到達するまで、childEntity の下のパスをたどります。

または、ホスト ID を使用して API を直接開くこともできます。この場合は、vSphere Client でホストを選択します。URL には、次の図に示すように ID が含まれます。

01.jpg

この ID を使用して、次の URL を開きます。
https://vcenter_fqdn/mob/?moid=<ID>&method=updateProductLockerLocation
 

この例では、次のようになります。
https://vcenter_fqdn/mob/?moid=host-18022&method=updateProductLockerLocation

[パス (Path)] の新しいディレクトリにパスを貼り付け、[メソッドの起動 (Invoke Method)] をクリックして設定を適用します。

image.png

vSphere 6.5 Update 1 以降

ESXi 6.5 Update 1 以降を実行しているホストの場合は、上記の ESXi 6.5 向けの説明のようにメンテナンス モードを使用するか、新しいツール「updateProductLockerPolicy」を使用します。

  1. 既存の /productLocker ターゲットを取得します(この下の手順 3 で使用します)。

# secpolicytools -d | grep $(basename $(readlink /productLocker)) | cut -d' ' -f2 | head -n1

  1. 既存の /usr/lib/vmware/isoimages シンボリック リンクの名前を変更します。
# mv /usr/lib/vmware/isoimages /usr/lib/vmware/isoimages.tmp
  1. ホストのセキュリティ ポリシーを更新します。

# updateProductLockerPolicy <old-symlink-target-retrieved-from-step1> /vmfs/volumes/<volumeName>/<extracted directory>

  1. 既存の /productLocker シンボリック リンクを削除します。

# rm /productLocker

  1. 新しい /productLocker シンボリック リンクを作成します。

# ln -s /vmfs/volumes/<volumeName>/<extracted directory> /productLocker

  1. /usr/lib/vmware/isoimages シンボリック リンクをリストアします。

# mv /usr/lib/vmware/isoimages.tmp /usr/lib/vmware/isoimages

vSphere 6.5 Update 1 よりも前

ESXi 6.5 以降を実行しているが、適用されているパッチが ESXi 6.5 Update 1 よりも前のホストの場合は、仮想マシンが予告なく新しい /productLocker シンボリック リンクにアクセスすることを禁止するホスト セキュリティ ポリシーによって仮想マシンの機能停止を避けるために、メンテナンス モードに切り替える必要があります。

  1. ホストをメンテナンス モードにします。

# esxcli system maintenanceMode set --enable true

  1. 既存のシンボリック リンクを削除します。

# rm /productLocker

  1. 新しいシンボリック リンクを作成します。

# ln -s /vmfs/volumes/<volumeName>/<extracted directory> /productLocker

  1. ホストのメンテナンス モードを終了します。

# esxcli system maintenanceMode set --enable false

vSphere 6.0、5.x、4.x

ESXi バージョン 6.5 よりも前のホストの場合は、既存のシンボリック リンクを削除してから新しいシンボリック リンクを作成します。
  1. 既存のシンボリック リンクを削除します。

# rm /productLocker

  1. 新しいシンボリック リンクを作成します。

# ln -s /vmfs/volumes/<volumeName>/<extracted directory> /productLocker

前述の操作を実行すると、ESXi ホストは仮想マシンで VMware Tools をインストールまたはアップグレードする準備が完了します。vSphere Web Client で、実行中の仮想マシン オブジェクトを右クリックし、[VMware Tools のインストール (Install VMware Tools)] または [VMware Tools のアップグレード (Upgrade VMware Tools)] オプションを選択します。VMware Tools をインストールまたはアップグレードするには、vSphere への VMware Tools のインストールとアップグレード」を参照してください。

注:
更新した VMware Tools リポジトリにアクセスできるようにするには、現在ホスト上で実行中の仮想マシンを vMotion によって別のホストに移動してから戻すか、シャットダウンして(リセットは無効)再度パワーオンする必要があります。

VMware ESXi ホストを再起動した後、productLocker の場所が仮想マシンのセキュリティ ポリシーに追加されません。

VMware ESXi ホストの再起動後、VMware ESXi セキュリティ ポリシーの productLocker のエントリは新しいパスに更新されます。VMware ESXi ホストの起動プロセスの途中でデータストアがアクセス可能になるタイミングが想定よりも遅い場合、この更新が失敗する可能性があります。その結果として、仮想マシンのセキュリティ ポリシーに含まれる productLocker の場所が更新されず、実行中の仮想マシンから VMware Tools リポジトリにアクセスできません。

この問題を検出するには、次のようにしてセキュリティ ポリシーを確認します。

# secpolicytools -d | grep $(basename $(readlink /productLocker)) | cut -d' ' -f2 | head -n1

これにより、VMware Tools リポジトリへの構成済みパスに一致するエントリが次の形式で返されます。

-r <absolute-path-to-vmtoolsRepo-on-datastore> r

返されない場合は、この問題が発生しています。
その場合の回避策は、セキュリティ ポリシーを再ロードすることです。

  1. VMware Tools リポジトリ データストアにアクセスできることを確認します。
  2. セキュリティ ポリシーを手動で更新します。

# secpolicytools -p

  1.  変更を有効にするには、実行中のすべての仮想マシンを vMotion によって別のホストに移動してから戻すか、シャットダウンして(リセットは無効)パワーオンする必要があります。セキュリティ ポリシーの更新後にパワーオンされた仮想マシンは、正しい VMware Tools リポジトリにアクセスできます。
VMware ESXi ホストの再起動中にデータストアへのアクセスに時間がかかる場合は、調査が必要です。これは、環境内のストレージなどのリソースの問題に関係している可能性があります。

Additional Information