I was having trouble getting the time right on my ESXi hosts. Every hosts had NTP enabled and 4 external NTP servers was added.
No matter what I did the time was running 4 minutes too fast. After some digging around I finally figured what the problem was.
1. My ESXi servers were added to my active directory so I could login with my windows users directly to the host.
2. My domain controller was syncing the time through VMware tools with the host. (So my DC was running 4 minutes too fast as well) (I know best practise is NOT to sync time through VMware tools)
I suspected that my ESXi hosts were syncing with my DC instead of NTP. To verifiy I removed my ESXi hosts from the domain and voila the time was right again!
Conclusion: If your ESXi hosts has been added to a domain it will sync it time to the domain and ignore the NTP settings. Set your primary DC to sync from an external source and you will be alright.
Patrick says
I actually ran across this issue last week due to the PDC running as a VM causing this circular time issue where systems will slowly gain/loose time. We were about 12 minutes behind before correcting the issue.