昔、インストールしたはずなのになぜ?

VMware Tools がインストールされているにもかかわらず、vCenter の仮想マシンサマリを確認するとチェックマークが表示されているのに、実行していません と表示される事象がありました。

どうも yum update などでカーネルのバージョンが上がった場合、VMware Tools がインストールされているにも関わらず、vCenter 上では、VMware Tools の状態が 実行していません と表示される問題があるようです。

確かに、最近、仮想マシンのカーネルをアップデートしたのですが、その後ごの状態になっていることに気が付きました。

VMware Tools が未実行中と表示される

対処方法

対策方法としては、VMware Tools が OS のカーネル情報を見ているらしいので、VMware Tools のコンフィグを再度実施して、kernel boot image 情報を更新してあげると直ります。

vCenter で仮想マシンのサマリが変な状態になっているとあまり良くないですし、コマンド一発叩けば直るので、直しておきましょう。

Step 1. 現状確認

まずは、過去に VMware Tools をインストールしたことがあるなら、どこかにインストールされているはずなので、そのディレクトリが存在するかを確認します。

次に、VMware Tools が動作中かを確認するために、vmtoolsd が動いているか確認します。

# ls -l /usr/lib/vmware-tools/
合計 52
lrwxrwxrwx   1 root root   27  5月 15 16:17 2014 bin -> /usr/lib/vmware-tools/bin64
drwxr-xr-x.  2 root root 4096 12月 18 13:13 2013 bin32
drwxr-xr-x.  2 root root 4096 12月 18 13:13 2013 bin64
drwxr-xr-x.  8 root root 4096 12月 18 13:13 2013 configurator
drwxr-xr-x.  2 root root 4096 12月 18 13:13 2013 icu
drwxr-xr-x.  3 root root 4096 12月 18 13:13 2013 include
lrwxrwxrwx   1 root root   27  5月 15 16:17 2014 lib -> /usr/lib/vmware-tools/lib64
drwxr-xr-x. 83 root root 4096 12月 18 13:13 2013 lib32
drwxr-xr-x. 85 root root 4096 12月 18 13:13 2013 lib64
lrwxrwxrwx   1 root root   35  5月 15 16:17 2014 libconf -> /usr/lib/vmware-tools/lib64/libconf
drwxr-xr-x.  4 root root 4096 12月 18 13:13 2013 modules
lrwxrwxrwx   1 root root   31  5月 15 16:17 2014 plugins -> /usr/lib/vmware-tools/plugins64
drwxr-xr-x.  5 root root 4096 12月 18 13:13 2013 plugins32
drwxr-xr-x.  5 root root 4096 12月 18 13:13 2013 plugins64
lrwxrwxrwx   1 root root   28  5月 15 16:17 2014 sbin -> /usr/lib/vmware-tools/sbin64
drwxr-xr-x.  2 root root 4096 12月 18 13:13 2013 sbin32
drwxr-xr-x.  2 root root 4096  5月 15 16:17 2014 sbin64
drwxr-xr-x.  2 root root 4096  5月 15 16:18 2014 symvers

# ps -ef | grep vmtoolsd | grep -v "grep"
※何も出力されなかった

VMware Tools ディレクトリも存在するし、普通に入っていることが分かります。

次にプロセス確認。 正常状態なら vmtoolsd が動いているはずなんですが、確認してみるとプロセスは動いていません。

手動でプロセスを立ち上げると VMware Tools の状態は 実行中 に変わりますが、サーバを再起動するとまた 実行していません に戻ってしまうので、根本的な対策にはなりません。

/usr/lib/vmware-tools/ の中身について

/usr/lib/vmware-tools/ 内のディレクトリは存在するものの、中に存在するディレクトリ数が異常に少なかったら VMware Tools を最初から再インストールする必要があります。

上記のような結果が出ていれば、特に再インストールはしなくてもいいです。

Step 2. VMware Config Tools 実行

VMware Tools のコンフィグを再度実施して、kernel boot image 情報を更新します。

入力を求められたらそのまま Enter で。

kernel boot image 情報を更新
# /usr/bin/vmware-config-tools.pl
Initializing...

Making sure services for VMware Tools are stopped.

Found a compatible pre-built module for vmci.  Installing it...

Found a compatible pre-built module for vsock.  Installing it...

The module vmxnet3 has already been installed on this system by another 
installer or package and will not be modified by this installer.  Use the flag 
--clobber-kernel-modules=vmxnet3 to override.

The module pvscsi has already been installed on this system by another 
installer or package and will not be modified by this installer.  Use the flag 
--clobber-kernel-modules=pvscsi to override.

The module vmmemctl has already been installed on this system by another 
installer or package and will not be modified by this installer.  Use the flag 
--clobber-kernel-modules=vmmemctl to override.

The VMware Host-Guest Filesystem allows for shared folders between the host OS 
and the guest OS in a Fusion or Workstation virtual environment.  Do you wish 
to enable this feature? [no] 

Found a compatible pre-built module for vmxnet.  Installing it...

The vmblock enables dragging or copying files between host and guest in a 
Fusion or Workstation virtual environment.  Do you wish to enable this feature?
[no] 

!!! [EXPERIMENTAL] !!!
VMware automatic kernel modules enables automatic building and installation of
VMware kernel modules at boot that are not already present.  By selecting yes,
you will be enabling this experimental feature.  You can always disable this
feature by re-running vmware-config-tools.pl.

Would you like to enable VMware automatic kernel modules?
[no] 

Disabling timer-based audio scheduling in pulseaudio.

Detected X server version 1.13.0

Distribution provided drivers for Xorg X server are used.

Skipping X configuration because X drivers are not included.

Creating a new initrd boot image for the kernel.
vmware-tools start/running
The configuration of VMware Tools 9.0.5 build-1065307 for Linux for this 
running kernel completed successfully.

You must restart your X session before any mouse or graphics changes take 
effect.

You can now run VMware Tools by invoking "/usr/bin/vmware-toolbox-cmd" from the
command line.

To enable advanced X features (e.g., guest resolution fit, drag and drop, and 
file and text copy/paste), you will need to do one (or more) of the following:
1. Manually start /usr/bin/vmware-user
2. Log out and log back into your desktop session; and,
3. Restart your X session.

Enjoy,

--the VMware team

Step 3. vmtoolsd プロセス確認

最後にプロセスを確認し、vmtoolsd が動いていることを確認します。

vmtoolsd プロセス確認
# ps -ef | grep vmtoolsd | grep -v grep
root     12685     1 12 16:19 ?        00:00:01 /usr/lib/vmware-tools/sbin64/vmtoolsd -n vmusr
root     12738     1  0 16:19 ?        00:00:00 /usr/sbin/vmtoolsd

そうすると、以下のように正常状態に戻ります。

VMware Tools の状態が実行中になる

VMware Tools の状態が 実行中 に変わったことにより、仮想マシンの IP アドレスDNS 名 もちゃんと表示されるようになりました。

稼働中のサーバのカーネルをまるごとあげることはあまりないと思いますが、あげる時には、あまり VMware Tools との連携について考えずにやってしまうケースが多いので、これからはちゃんと認識して実施するように心掛けましょう。

以上、VMware Tools が未実行中と表示される でした。