I have a Windows 2008R2 server that is a member of a domain. The other day I found that its time was different from the domain controller by seven seconds. I ran the following command...
w32tm /config /syncfromflags:domhier /update net stop w32time net start w32time
I then rebooted the server just to be sure. The time on the server was 'correct' in no time. But a day or two later the server has drifted again by 3 seconds.
All other member servers on this domain are fine (time is in sync to well within a second)
I've checked the settings in regedit and the 'Type' key shows 'NT4DS' which I believe is correct for a server synced from the domain. All other registry entries under that folder match a working server.
I believe all the correct ports are open between the server and the domain. The server has no other domain related problems.
The server is virtual (VMware). The virtual machine is not set to sync time with the host. Most of the other servers (that don't have this problem) are also virtual, on the same host pair.
Any ideas? Or any further areas I can check to verify the config?
Edit: New information. I just ran
w32tm /query /status and got this...
Leap Indicator: 3(last minute has 61 seconds)
Stratum: 0 (unspecified)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0000000s
Root Dispersion: 0.0000000s
ReferenceId: 0x00000000 (unspecified)
Last Successful Sync Time: unspecified
Source: Free-running System Clock
Poll Interval: 10 (1024s)
On a different server the 'Source' paramater lists a domain controller. So there is definitely a 'good' reason for this server to have the problem. I will investigate this myself but providing it here for the benifit of those following this question.
Edit to provide screenshot of time synchronization task history...