On my Windows guests running under Hyper-V in a domain environment, I noticed that the Windows Time service was having problems. Periodically, I was receiving the following three messages in the System log.
Event Type: Information
Event Source: W32Time
Event Category: None
Event ID: 38
Date: 6/11/2009
Time: 12:26:15 PM
User: N/A
Description:
The time provider NtpClient cannot reach or is currently receiving invalid time data from xxx.xxx.xxx (ntp.d|a.b.x.y:123->a.b.x.z:123).
Event Type: Warning
Event Source: W32Time
Event Category: None
Event ID: 24
Date: 6/11/2009
Time: 12:42:47 PM
User: N/A
Description:
Time Provider NtpClient: No valid response has been received from domain controller xxx.xx.xxxx after 8 attempts to contact it. This domain controller will be discarded as a time source and NtpClient will attempt to discover a new domain controller from which to synchronize.
Event Type: Error
Event Source: W32Time
Event Category: None
Event ID: 29
Date: 6/11/2009
Time: 12:42:47 PM
User: N/A
Description:
The time provider NtpClient is configured to acquire time from one or more time sources, however none of the sources are currently accessible. No attempt to contact a source will be made for 15 minutes. NtpClient has no source of accurate time.
Upon restarting the Windows Time service, it would successfully synchronize with a domain controller (Event ID 37), but then I noticed the server also had another synch attempt:
Event Type: Information
Event Source: W32Time
Event Category: None
Event ID: 35
Date: 6/11/2009
Time: 1:04:30 PM
User: N/A
Description:
The time service is now synchronizing the system time with the time source VM IC Time Synchronization Provider.
The end result of this being that W32Time is not synchronizing correctly with the domain controllers as member servers should do by default. All other servers and workstations are correctly synchronizing with a domain controller.
The fix is to disable Time Synchronization in the Hyper-V Integration Services for each guest. Then restart the Windows Time serviceon the guest. The guests will then correctly synchronize with a domain controller.
This process is crucial on virtualized domain controllers as they are providing time to all clients. Remember that the domain controller with the PDC emulator role should be configued with external NTP time sources (configured using the w32tm command line).
Information on configuring external NTP time sources for Windows Time is available in this answer.