I have been working with Nested ESXi since it original inception and this technology has greatly benefited me and the entire VMware community, especially when it comes to learning about VMware software and being able to easily prototype something before installing it on actual hardware. However, one thing that I felt that has been missing for awhile now is the ability to run an instance of VMware Tools within a Nested ESXi VM. I have personally been asking for this feature for a couple of years and I know many in the VMware community have expressed interests as well.
I am super excited to announce that VMware has just released a new Fling that provides you with a VIB that you can install VMware Tools inside a Nested ESXi host. I originally showed a demo of this at VMworld Barcelona in my vBrownBag Tech Talk and as I mentioned we would be releasing this as a VMware Fling very soon. So here it is!
UPDATE (08/20/15) - An updated version of VMware Tools for Nested ESXi was just published, make sure to download latest version and you can find more details here.
Requirements:
- Nested ESXi running 5.0, 5.1 or 5.5
Installation:
To install the VIB, you simply just need to download it and upload the VIB it to your Nested ESXi datastore and then run the following commands:
esxcli system maintenanceMode set -e true
esxcli software vib install -v /vmfs/volumes/[VMFS-VOLUME-NAME]/esx-tools-for-esxi-9.7.0-0.0.00000.i386.vib -f
esxcli system shutdown reboot -r "Installed VMware Tools"
You can also install the VIB directly from VMware.com if you have direct or proxy internet connectivity from your ESXi host by running the following commands:
esxcli network firewall ruleset set -e true -r httpClient
esxcli software vib install -v http://download3.vmware.com/software/vmw-tools/esxi_tools_for_guests/esx-tools-for-esxi-9.7.0-0.0.00000.i386.vib -f
Once the VIB has been successfully installed, you will need to reboot the host for the changes to take effect. To verify, you can now login to either your vSphere Web/C# Client and you should now see the status for VMware Tools for your Nested ESXi host showing green and the IP Address of the Nested ESXi host should be displayed.
So why would you want to do this? Well, there’s a couple of reasons actually. The first one is pretty basic, which is when I need to reboot or shutdown a Nested ESXi VM, instead of having to jump into the VM console or SSH into ESXi host, I could just right click in the vSphere Web/C# Client and just say shutdown or reboot. I also tend to do all sorts of craziness in my lab (I’m sure this is an understatement for folks that know me) and may often break networking connectivity to my Nested ESXi VM. In vSphere 5.0, we introduced the Guest Operations API (formally known as VIX API) which is now part of the vSphere API. This API is actually quite handy as it allows you to perform guest operations within the VM without needing network connectivity as it relies on the fact that VMware Tools is running (pretty cool stuff!).
Here is a screenshot demonstrating the executing of vmkfstools through the Guest Operations API to one of my Nested ESXi VM:
A couple of things to note:
- If you install VMware Tools on Nested ESXi VM, you will NOT be able to just right click in the UI and say install/upgrade
- If you wish to integrate this into you ESXi image, you can take a look at a community tool called ESXi-Customizer created by Andreas Peetz which I have used in the past and works great. Image Builder does not support raw VIBs, only zip files which may need to contain additional metadata information. If you want to create an offline bundle instead to then use Image Builder to create your custom ISO, Andreas has a new tool you can take a look at here.
Finally, if you have any feedback (likes/dis-likes), thanks, comments please head over to the VMware's Fling page for VMware Tools for Nested ESXi and leave a comment. I am sure the Jim Mattson the engineer who built this Fling would greatly appreciate any feedback you may have.
RemsadQC says
Hi,
the link http://download3.vmware.com/software/vmw-tools/esxi_tools_for_guests/esx-tools-for-esxi-9.7.0-0.0.00000.i386.zip doesn't work
File not found 🙁
RemsadQC says
The link shoul be http://download3.vmware.com/software/vmw-tools/esxi_tools_for_guests/esx-tools-for-esxi-9.7.0-0.0.00000.i386.vib
William Lam says
Thanks. I've fixed the link
RemsadQC says
After esxi reboot, the vmware tools status is "Running, version:9440 (Not installed).
I can see the IP addresses into the summary tab.
I have the same status for all nested esxi.
William Lam says
What version of Nested ESXi VMs are you running and also what version is the underlying physical host?
Masim Vavai Sugianto says
Hi,
I have similar result, VMware Tools is not installed but vSphere nested host IP displayed correctly. vSphere nested version 5.5 on top of vSphere 5.5
William Lam says
Looks like this might be some type of odd "caching", we already have a report of it on the communities https://communities.vmware.com/message/2311487#2311487 Engineering will take a look and hopefully have an update soon, however it is installed and running but just not displaying it in the UI/API
Masim Vavai Sugianto says
Hi,
Yes, VMware Tools works as expected (I can reboot and shutdown nested vSphere), the only problem so far is VMware Tools installation status (on C# client said : Running, not installed, on Web Client said Running, version:9440 (Not installed)"
Thank you
Andreas Peetz says
For me the issue of the tools being displayed as "Not installed" is resolved after another reboot of the nested host.
- Andreas
Ammesiah says
Amazing work William, thanks from all VM geeks for that !
neocontrast says
Hello,
Thanks for posting the VMware Tool on ESXI fling, very cool stuff!!!
I am experiencing a similar problem to what some are seeing. The difference that I have noticed is that failure only happens to some of my nested ESXi hosts. An observation (could be a coiencidence), that tools start on my i7-3840QM and E3-1245 processors (Workstation 10 and ESXi 5.1.0 (799733)) just fine and failed to start on E5-2630 (ESXi 5.1.0 (799733)). I also observed that I needed to use the --no-sig-check switch when installing the vib on the nested hosts on the E5-2630 machine.
Below is a snippet from the /var/log/syslog.log file of vmtoolsd failing to start. Thoughts?
2013-11-15T16:19:58Z watchdog-vmtoolsd: [35709] Begin '/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd', min-uptime = 60, max-quick-failures = 1, max-total-failures = 5, bg_pid_file = ''
2013-11-15T16:19:58Z watchdog-vmtoolsd: Executing '/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd'
2013-11-15T16:19:58Z vmsvc[35732]: [ warning] [GLib-GObject] invalid (NULL) pointer instance
2013-11-15T16:19:58Z vmsvc[35732]: [critical] [GLib-GObject] g_signal_emit_by_name: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmtoolsd] Tools Version: 9.7.0.00000 (build-00000)
2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmsvc] Cannot load message catalog for domain 'hgfsServer', language 'C', catalog dir '/etc/vmware-tools'.
2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmsvc] Cannot load message catalog for domain 'vix', language 'C', catalog dir '/etc/vmware-tools'.
2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmsvc] Cannot load message catalog for domain 'powerops', language 'C', catalog dir '/etc/vmware-tools'.
2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmtoolsd] Shutting down 'vmsvc' service ...
2013-11-15T16:19:58Z vmsvc[35732]: [ error] [vmsvc] ASSERT bora-vmsoft/lib/rpcChannel/rpcChannel.c:802
2013-11-15T16:19:58Z watchdog-vmtoolsd: '/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd' exited after 0 seconds (quick failure 1) 134
2013-11-15T16:19:58Z watchdog-vmtoolsd: Executing '/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd'
2013-11-15T16:19:58Z vmsvc[35758]: [ warning] [GLib-GObject] invalid (NULL) pointer instance
2013-11-15T16:19:58Z vmsvc[35758]: [critical] [GLib-GObject] g_signal_emit_by_name: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmtoolsd] Tools Version: 9.7.0.00000 (build-00000)
2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmsvc] Cannot load message catalog for domain 'hgfsServer', language 'C', catalog dir '/etc/vmware-tools'.
2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmsvc] Cannot load message catalog for domain 'vix', language 'C', catalog dir '/etc/vmware-tools'.
2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmsvc] Cannot load message catalog for domain 'powerops', language 'C', catalog dir '/etc/vmware-tools'.
2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmtoolsd] Shutting down 'vmsvc' service ...
2013-11-15T16:19:58Z vmsvc[35758]: [ error] [vmsvc] ASSERT bora-vmsoft/lib/rpcChannel/rpcChannel.c:802
2013-11-15T16:19:58Z watchdog-vmtoolsd: '/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd' exited after 0 seconds (quick failure 2) 134
2013-11-15T16:19:58Z watchdog-vmtoolsd: End '/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd', failure limit reached
Jim says
It sounds like your non-working instance(s) may be picking up the following option:
monitor_control.restrict_backdoor = TRUE
This option defeats VMware Tools (for any guest type).
LikeAHoss says
This comment has been removed by the author.
Jay says
Do you know if vmmemctl is implemented?
William Lam says
No, it is not.
Jay says
Drat! Do you know if it will be?
William Lam says
It's feedback I've already provided to Engineering, so we'll just have to wait and see
Jay says
Thanks. As much as everyone ends up using nested ESXi, it would be nice to have.
soulassassin0220 says
Thanks for this mate, although I needed to add the word "software" in my switch aswell. so it read "esxcli software vib install......"
peter says
neat they work in fusion as well
Russ says
I'm doing something a bit different - running ESXi 5.5U2 and vCenter 5.5U2e (Version 5.5.0 Build 2414847) both as guests under Fusion 7.1.1 Pro. The ESXi guest is unable to sync it's clock to the Fusion clock. It appears the the vmtoolsd is running:
~ # ps | grep tool
35167 35167 vmtoolsd /usr/sbin/vmtoolsd
But Fusion is not syncing the clock, so perhaps they are incompatible versions. I have the vCenter and ESXi hosts on a private VLAN under Fusion, so internet services like ntpd are unavailable.
William Lam says
I don't think its the incompatible version but potentially that VMware Tools for Nested ESXi may not contain the necessary code for for time sync as it is not the full blown VMware Tools, so it only exposes very basic functionality such as viewing IP Information and being able to run Guest Operations. You will probably have to point your ESXi VM to valid NTP source such as 0.pool.ntp.org unless you have a local NTP instance running
Russ says
Hi Walter - I have ntpd configured now, but it when I suspend/resume the esxi host under fusion, it restarts with the date the machine was suspended. Eventually, ntpd corrects it, but it can take a long time.
However, if you shut it down and reboot it later, then ntpd will correct the time when it starts up. So the trick is to always shut it down (at least until we have vmware tools that can do the time sync correctly).
BTW, here is a gist that provides an alias to generate the correct esxcli command to set time and date from a mac or linux machine: https://gist.github.com/russt/da5000c909c1e42117ed
I use it like this: ssh myesxi `esxidate`
Russ says
Sorry William for calling you Walter - been watching too much Scorpion I guess.
Also the command is
Jack says
FYI, I just installed a nested ESXi 6 VM and it already came with a vmware-tool:
Running, version:9536 (Unsupported older version)
Unfortunately it's already a unsupported older version, but newer than the vib from https://labs.vmware.com/flings/vmware-tools-for-nested-esxi ( I tried it, it shows as version 9441 , not sure why, the screenshot in that url shows 9504 ).
Any idea where we can get the latest vmware-tool for nested ESXi ?
Thanks
-Jack
Jason Boche (@jasonboche) says
New version released today!
esxcli software vib install -v http://download3.vmware.com/software/vmw-tools/esxi_tools_for_guests/esx-tools-for-esxi-9.7.2-0.0.5911061.i386.vib
William Lam says
Thanks Jason. I actually blogged about it yesterday here http://www.virtuallyghetto.com/2015/08/vmware-tools-for-nested-esxi-updated-to-v1-2.html but I should probably also update this article to mention the update!
Brian says
Looks like these are no longer available, now that 6.x has them built-in?
Dmytro says
Thanks for the post!
Graham Smith says
I don't think this works any more... certainly not with ESXi 7.0.3. nested inside 7.0.3. I have downloaded esx-tools vib but it simply will not install locally. I even tried using a webserver on the same box to install over http but regardless of what I tried it cites a certificate error:
" ('VMware_bootbank_esx-tools-for-esxi_9.7.0-0.0.00000', 'Could not find a trusted signer: self signed certificate')"
William Lam says
You don’t need this as VMware Tools has been OOTB for Nested for awhile now 🙂