One thing that I hate is time syncing of VMs. It’s caused me grief for years. For the most part, true, it’s not an issue. Though one issue is too many for me nowadays.
When you install VMware Tools into a guest VM there is an option we are all familiar with, “Time synchronization between the virtual machine and the ESX Server”. Even with this setting unchecked what you probably don’t realise is that there are “special” events that will still initiate a time sync between the guest and host.
Time will resync with a vMotion, snapshotting, disk shrink, or a restart of the tools. I can understand the logic of why they are doing this. All these events are touching the guest in some way and you want logs and timestamps in sync, but it’s still not cool.
I had seen this behavior in the past and though it was more a bug rather than a design feature. There are certainly situations where you might have time sensitive VMs that rely on external time sources. Telephony is an example. There are also other side effects like time jumping over scheduled tasks.
Turns out all these special events can be individually disabled by entering them into the Configuration Parameters section of vCenter for the VM or editing the VMX file.
Configuration Parameters can only be edited while the VM is off. The settings can be accessed by access the Edit Settings of a VM. Clicking on VM Options and then Advanced.
The VMX file can be edited anytime but you will need to do it on the ESX server that is hosting the guest VM or you will get a Resource Busy error message.
All VMs will have the below line in their config. 0=Disable, 1=Enable.
tools.syncTime = “0”
The other parameters to disable “special” event time syncing are below.
time.synchronize.continue = “0”
time.synchronize.restore = “0”
time.synchronize.resume.disk = “0”
time.synchronize.shrink = “0”
time.synchronize.tools.startup = “0”
time.synchronize.tools.enable = “0”
time.synchronize.resume.host = “0”
Vmware KB article to disabling time synchronization