We have two VMWare environments running a bunch of (mainly) Redhat 5.9 and 6.4 guests. We are having issues with time drift (minutes ahead per week). We use ntp, syncing to the local domain controller.
This recommendation by VMWare specifically says not to use the vmware-tools for time synchronisation. Why? It seems like many people have issues with NTP, and the vmware-tools generally behaves in a predictable way. Are there any specific issues with vmware-tools on later versions of Redhat?
For context, this is our ntp.conf (all commented lines removed):
tinker panic 0
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server our.domain.server.com
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
Some of our guests have absolutely no problem keeping time. Others are out by a large margin.
Honestly, you shouldn't have problems with NTP in a virtual environment and modern operating systems... It's worth finding the root cause of that problem.
If you can, make sure you have a good NTP infrastructure (I usually use an external NTP source or point everything to a core switch or router) and that you have basic things like the ESXi hosts' hardware clocks set and close in time. Sometimes, a vMotion to a different host with hardware clock skew can trigger the issues you're seeing within the virtual machines.
As for the guest-tools approach, it's a bit hacky. What if you have VMs that don't run guest tools (unsupported OS or appliance situations), or your guest tools are in a non-optimal state (e.g. VMware Tools following a Linux kernel update).
I think the reason for VMware not recommending the Tools time sync is that they want to prevent situations where there are two time sync methods simultaneously active in a VM.
Windows VMs that are joined to a domain sync time with their DCs by default, and Linux admins configure their machines for NTP (regardless whether they are virtual or physical). Adding VMware tools as a second sync source would impose undesired effects like constant adjustments.
I am not aware of an authoritative reason other than the fact that most of the time there is a mix of VMware and physical hosts or some other heterogeneous environment. So they recommend something like NTP so that EVERYTHING is in sync and not just the VMs with the host(s). Using a standard like NTP ensures that any type of environment can have a standard time clock sync across OS' and hardware platforms.