【Part.4】Advanced Troubleshooting of VMware ESXi Server 6.x for vSphere Gurus

Share on:

Table of contents

はじめに

VMworld 2017 SER2965BU のセッションの記事シリーズの最後です。今回は 48:21 ~ 52:40 頃までの内容、七つ道具3セット目の構成ファイルを見ていきます。

  1. /etc/vmware/esx.conf
  2. /etc/vmware/hostd/vmInventory.xml
  3. /etc/vmware/hostd/authorization.xml
  4. /etc/vmware/vpxa/vpxa.cfg
  5. /etc/vmware/vmkiscsid/*
  6. /etc/opt/vmware/fdm/*
  7. /etc/vmware/license.cfg

セッションでの説明も5分かからない程度でさらっと説明されており、ログに比べれば構成ファイルは参照する頻度も低いので概要を簡単に見ていきたいと思います。

なお、ナレッジベースなどで情報公開されている操作でない限り構成ファイルの編集はサポートされる操作ではないので、基本的には確認のみに留めておくことを推奨します。

ESXi の構成情報のバックアップ

一番重要な点として、ESXi の構成ファイルは多岐にわたり公開情報が無いものがほとんどのため、その全てを網羅するのは不可能です。加えて、特定の構成ファイルの破損時にどう修正すれば良いかなどの情報が公開されていない場合もありますので、ESXi の構成情報は KB2042141 の手順でバックアップしておくことを推奨します。

ESXi ホストの構成のバックアップ方法 (2042141)

/etc/vmware/esx.conf - ESXi の構成情報(主にハードウェア、ネットワーク、ストレージ)

esx.conf にはハードウェアやストレージ、ネットワークなどの構成情報が含まれています(全てではない)。

KB1016106 の RDM LUN 向け永久予約設定も esx.conf に記載されるので、ホスト単位で調べる場合は esx.conf を grep してみても良いかもしれません。ただし、そもそも KB1016106 には esxcli や PowerCLI で確認する方法も書いてあるので、通常運用時は KB の手順に沿って実施すべきです。

1# grep "perennialResvd" /etc/vmware/esx.conf
2/storage/lun[/vmfs/devices/disks/naa.6000c29bb59f25dfb1a670841fd458d9]/perennialResvd = "true"
3/storage/lun[/vmfs/devices/disks/naa.6000c296e29dc4a8f763719d8d832792]/perennialResvd = "true"

esxcli system uuid get で取得できる ESXi の UUID もこちらに記載されています。

/etc/vmware/hostd/vmInventory.xml - ESXi の仮想マシンインベントリ

vmInventory.xml は名前の通り、ESXi の仮想マシンインベントリの情報です。個々の ESXi に登録されている仮想マシンが一覧として記載されているので、ホスト間での仮想マシンの登録状態の違いを確認する場合などに役立ちます。

こちらのファイルが破損したり、vSphere HA による仮想マシンのフェイルオーバーが失敗してファイルの内容の整合性が取れなくなった等のケースでは、ESXi のインベントリから仮想マシンが消える、vCenter Server のインベントリ上で仮想マシンが親なしになる場合があります。この場合は以下のドキュメントを参考に仮想マシンをインベントリに再登録する必要があります。

親なし状態の仮想マシンのリカバリ

/etc/vmware/hostd/authorization.xml - ESXi のローカルユーザーの認可

ESXi ホスト上で権限(ロール)が割り当てられた ESXi のローカルユーザーの一覧が記載されているファイルです。通常はまず見ることはありませんが、何らかの要因で root ユーザーに必要な権限が割り当てられておらず vCenter Server に追加できない等で、当該ファイルの再生成が必要になるケースはあります。

なお、ロールが割り当てられていない(=認可されていない)ユーザーは一覧には表示されないため、確認する際はその点に注意が必要です。

/etc/vmware/vpxa/vpxa.cfg - vCenter Server エージェントの構成情報

vpxa の構成ファイルです。vCenter Server の IP アドレスやポート、ログ設定などが記載されています。こちらのファイルが破損すると vCenter Server と ESXi の間の通信が正常に行えなくなります。

/etc/vmware/vmkiscsid/* - iSCSI 構成情報

/etc/vmware/vmkiscsid ディレクトリの配下には ESXi の iSCSI アダプタの構成情報が含まれています。これらのファイルが破損した場合、KB1038065 のように iSCSI 構成の再初期化が必要になります。

ESX/ESXi ホストの再起動またはアップグレード後、ソフトウェア iSCSI LUN が表示されなくなる (1038065)

/etc/opt/vmware/fdm/* - vSphere HA の構成情報

/etc/opt/vmware/fdm ディレクトリの配下には vSphere HA の構成情報が含まれています。

vSphere HA の構成情報には clusterconfig (クラスタの構成)、hostlist (ホスト一覧)、vmmetadata (仮想マシンの一覧と互換のあるホスト) がありますが、hostlist 以外はバイナリデータのため中を見るには prettyPrint.sh というスクリプトを使う必要があります。

 1# /opt/vmware/fdm/fdm/prettyPrint.sh clusterconfig
 225403<obj xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:csi" versionId="1.0" xsi:type="CsiConfigInfoEx">
 3   <vmSwapPlacement>vmDirectory</vmSwapPlacement>
 4   <spbmEnabled>true</spbmEnabled>
 5   <dasConfig>
 6      <enabled>true</enabled>
 7      <vmMonitoring>vmMonitoringDisabled</vmMonitoring>
 8      <hostMonitoring>enabled</hostMonitoring>
 9      <vmComponentProtecting>enabled</vmComponentProtecting>
10      <failoverLevel>1</failoverLevel>
11      <admissionControlPolicy xsi:type="ClusterFailoverResourcesAdmissionControlPolicy">
12         <resourceReductionToToleratePercent>100</resourceReductionToToleratePercent>
13         <cpuFailoverResourcesPercent>0</cpuFailoverResourcesPercent>
14           (略)
 1# /opt/vmware/fdm/fdm/prettyPrint.sh hostlist
 2host-118995<obj xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:csi" versionId="1.0" xsi:type="CsiHostList">
 3   <faultDomainId>acf001e5-2449-46a7-a882-82c069b29111-118991-1597c71-vcsa01a</faultDomainId>
 4   <version>19</version>
 5   <host>
 6      <hostId>host-118995</hostId>
 7      <hostName>esxi70-01.jangari.local</hostName>
 8      <sslThumbprint>D3:84:F7:54:84:6C:19:14:C0:DA:4F:CC:D0:25:19:57:D7:24:5F:CF</sslThumbprint>
 9      <ipAddress>10.0.2.1</ipAddress>
10      <mac>00:50:56:ad:c9:82</mac>
11      <mac>00:50:56:ad:d9:49</mac>
12      <mac>00:50:56:ad:9c:fb</mac>
13      <mac>00:50:56:ad:7f:b8</mac>
14      <vmkNics>vmk2</vmkNics>
15      <hostdPort>443</hostdPort>
16        (略)
17</obj>
 1# /opt/vmware/fdm/fdm/prettyPrint.sh vmmetadata
 2780<obj xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:csi" versionId="1.0" xsi:type="CsiVirtualMachineMetadata">
 3   <faultDomainId>acf001e5-2449-46a7-a882-82c069b29111-118991-1597c71-vcsa01a</faultDomainId>
 4   <version>26</version>
 5   <dictionary>
 6      <hosts>
 7         <index>3</index>
 8         <name>host-119004</name>
 9      </hosts>
10        (略)
11      <hosts>
12         <index>2</index>
13         <name>host-119001</name>
14      </hosts>
15      <vms>
16         <index>0</index>
17         <name>/vmfs/volumes/vsan:52314ecbfed7acc6-b41378aa485c8abd/be93505f-43a9-269e-7f16-005056adc982/Photon.vmx</name>
18      </vms>
19   </dictionary>
20   <compatMatrix>
21      <restartCompat>
22         <index>0</index>
23         <compatMask>0,1,2,3</compatMask>
24      </restartCompat>
25   </compatMatrix>
26</obj>

/etc/vmware/license.cfg - ESXi のライセンス情報

ESXi ホストのライセンス情報が含まれます。このファイルが破損するとホストのライセンス周りで問題が発生します。

おわりに

本記事シリーズでは VMworld 2017 の SER2965BU - Advanced Troubleshooting of VMware ESXi Server 6.x for vSphere Gurus のセッションの内容を見ていきました。今回の記事シリーズで挙げた内容は ESXi のトラブルシューティングの一部ですが、この辺りを理解しておくと障害発生時に被疑箇所がつかみやすいかなと思います。

ただし「生兵法は大怪我の基」ということわざにもあるように、生半可な知識を使って自力でトラブルシューティングに挑むと時間のみが経過したり障害を悪化させてしまう可能性も十分にあります。このため、問題が発生して自力で解決できそうにない場合には、可能な限り早い段階でログバンドルなどを採取してテクニカルサポートの指示に従って対応していくことを強く推奨したいと思います。