Time keeping is one of the essential in VI.
Whether you are running your DC's as a VMs or not, sooner or later you might be, so this article presents best practices for configuring time keeping in Windows Guest operating systems. There is still an older document, still valuable, with more information – see Timekeeping in VMware Virtual Machines (PDF). And also another excelent PDF called Virtualizing a Windows Active Directoy Domain Infrastructure – which goes even further and gives you much more details and considers all the aspects (DNS, replication, planning disaster recovery etc…) when you want to go All Virtual with Windows Domains.
The update is from December 7th when it's been published by VMware. So this is the new best practice of time keeping in Windows VMs. (KB1318)
You can use either NTP or w32time. Thus NTP is provided by third party utilities, and w32time is included already with windows VMs.
Fist to do is to configure w32time to use an NTP server. Vmware recommends using folowing registry values when modifying properties:
After that you must restart the windows time service. You can do it in the services.msc MMC snap in or you can do it in the command line by typing: “net stop w32time” and after “net start w32time“.
After restarting the w32time service, run the command w32tm /resync to force w32time to resync the time.
And the last thing, in your Windows VM just uncheck in the properties of VMware tools the checkbock for Time synchronization between the Virtual Machine and your Esx server. Please note that does not disable the tools sync on startup.
See the VMware KB article on how-to configure Time keeping for linux guests.
Source: VMware KB1318