VMware Tools gives you the option to synchronize the time of the guest OS with the ESXi host. Many times this isn’t necessary because the guest itself is using Network Time Protocol (NTP) or used the Active Directory domain time.
Why would proper time synchronization be a problem, you might ask? Well, in a virtual environment, the CPU isn’t constantly keeping track of time like it does in a physical machine. For a more detailed explanation look at tick counting in the Timekeeping Guide.
In some circumstances NTP or domain timekeeping isn’t possible and you need a way to make sure the time on the guest OS is set and the guest keeps time correctly. For these situations you can use the VMware Tools Time Sync.
There are a couple of things to keep in mind when using the “Synchronize guest time with host” option.
If your virtual machine is on a different time zone from the ESXi host it resides on, this is ok. The virtual machine will keep time with the ESXi host but will respect the timezone. For instance, if the ESXi host time is 8:00 pm Central Time, but the guest virtual machine is set to Pacific Time, the guest OS will synchronize and show 6:00 pm.
If the virtual machine time drifts and needs to be reset, VMtools periodically checks the time once per minute to ensure the time drift isn’t off. If the time is determined to be wrong, then there are a couple of options.
- VM Time is behind the host time: If the virtual machine is running behind the host time, it is immediately updated to match the ESXi host time.
- VM Time is ahead of the host time: If the virtual machine is running ahead of the host, the guest clock is slowed down until the host matches the guest. It does not immediately change the time.
Immediate Time Sync
Besides the periodic time sync checks, there are also some circumstances where a time sync occurs immediately.
- Anytime the VMware Tools Daemon is started. For instance restarting the windows service, or rebooting the guest OS
- Reverting to a snapshot causes the time to automatically sync.
- Shrinking a virtual machine disk
Check VMtools Sync
You can check to see if VMware tools is set to sync, buy looking in the “Edit Settings” menu of the virtual machine and looking for the “Synchronize guest time with host” setting. If you don’t have access to vCenter, you can also look on the guest OS by running the VMwareToolboxCmd.exe timesync status command on a Windows guest. For a linux guest try running vmware-toolbox-cmd timesync status command. These commands should run from the VMware Tools Install directory.