2

We have some windows server 2008 VMware instances on multiple physical servers (hosted) and an application which requires the time to be synced across the server instances.

Obviously, VMware has problems with this and we really have never gotten it working any better, we have setup the servers to poll for an NTP update every minute which mitigates the problem (in a fairly crude way). Except that every once in a while, the update will fail (because there's already too much drift) and then windows never does an NTP update afterwards which eventually allows the servers to drift far enough apart that our application breaks, and we notice.

We are thinking about changing hosts to Xen servers on approximately the same setup, and I anticipate similar problems.

  1. can anyone tell me if Xen has the same time-drift issues VMware does, for guests?
  2. can anyone tell me what the best windows server settings are for syncing with an external NTP server to keep things in sync:
    1. how frequently do you recommend syncing? (assuming every minute)
    2. do you recommend running our own NTP server - even if it has to be on a virtual instance? (assuming not)
    3. is there any way to tell windows to sync with the NTP server no matter what the time difference is?
    4. any other suggestions for keeping windows servers time in sync?

I have become familiar with [ http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1318 ] and it's helped, but it's not been totally effective (see above).

thanks much!

user9517
  • 115,471
  • 20
  • 215
  • 297
zeroasterisk
  • 275
  • 1
  • 4
  • 10
  • How much error can you accept, 1 second, 1ms,? Using only the time sync built into the vmware tools has kept my DC with 1 second of the host which is ntp synced. If you need very accurate time (error <1s), then a VM is probably not a viable option. – Zoredache May 19 '10 at 22:23
  • Is the machine a domain controller? – andyhky May 20 '10 at 02:31

3 Answers3

4

Using NTP intermittently (even as often as once per minute) is not going to help a lot. NTP is designed for constant updates/tweaks and is not intended for discrete clock jumps.

If you install a proper NTP daemon you will have better luck. I have found http://www.meinberg.de/english/sw/ntp.htm (a Windows build of the "standard" NTPd implementation) to be reliable in VMs running Windows Server 2003 and 2008.

Four things to note though:

  1. Make sure the VMWare time sync methods or turned off for the guests NTP is running, or they and NTP will fight each other. The installer for the NTP build linked above will turn off common time sync software found in the guest, but it can not turn of VMWare's so you'll need to do that yourself.

  2. Make sure you have tinker panic 0 specified at the top of your NTPd config file. This stops the NTP service giving up if there is a sudden change in clock drift, which is not uncommon in VMs due to differing loads on the host over time.

  3. Use a local time source for the VMs for better local accuracy, and sync this local source with .pool.ntp.org or similar instead of syncing the VMs directly with the outside world. That way if your external network access goes down the VMs still have a clock source more reliable than there own to sync with (and you are being kinder to the public time servers). You could use the VMWare host machine as this local time source, though I tend to have a machine acting as external network gateway and have it perform this job also.

  4. Make sure that you don't have the VM's local clock listed as a time source, even as a last-resort fall-back.

David Spillett
  • 22,754
  • 45
  • 67
1

I'm not aware of time sync issues specifically being a VMWare issue, more a virtualisation issue. Are your hosts and VC NTP-synced and if so have you have switched on the time sync option in the vmtools and switched off NTP in the guest? We have and don't see time issues.

Chopper3
  • 101,299
  • 9
  • 108
  • 239
0

If timing is critical to your application(s), then you should consider going directly to the source using a GPS based time server. Here is one company that provides the solutions

Symmetricom

dbasnett
  • 683
  • 5
  • 11
  • I can't comment directly on their NTP GPS products, but I did use their telecom timing products, and they were great. Not cheap. – dbasnett May 19 '10 at 19:58
  • the issue with Vm drift isn't that the source is somehow inaccurate it's that the guests do not poll on time (EG I can set 1 minute polling and the guest thinks that's exactly what it's doing in real time it's polling every 5 and drifting during that time period) this is what the vmware tools is supposed to resolve - but isn't in this case – Jim B May 19 '10 at 20:12
  • I certainly am NOT a Vm person. So are you saying that if I have code in a loop checking for 5 minutes from now it won't work? Or are you saying that some auto firing timer mechanism is? – dbasnett May 19 '10 at 20:23
  • If I had a business of any size, and it somehow depended on accurate time, I'd spend the money for a GPS NTP based server. – dbasnett May 19 '10 at 20:26
  • Also, anyone selling or talking about Stratum-0 should be avoided, and probably the same can be said for Stratum-1. – dbasnett May 19 '10 at 20:33
  • How do you mean, stratum-0 and stratum-1 should be avoided? Stratum 0 is defined as the time source, aka the GPS reciever, and a NTP server that has local access to a stratum 0 source is then a stratum 1 server. So any GPS NTP appliance is by definition a stratum 1 server. – Stuggi Mar 02 '17 at 07:26