Why won't my domain server (2008 R2) sync with external time service correctly?

I have configured my PDC (windows 2008 R2) to sync with external time source uk.pool.ntp.org and followed all the instructions to the letter which are set out here:

http://blogs.technet.com/b/industry_insiders/archive/2006/08/29/w32-tm-service.aspx

but for some reason it always remains 5-6mins faster than the correct time. When I query the value against the peers it shows this:

  C:\Windows\system32>w32tm /query /peers
#Peers: 1

Peer: uk.pool.ntp.org,0x1
State: Active
Time Remaining: 732.9759988s
Mode: 1 (Symmetric Active)
Stratum: 2 (secondary reference - syncd by (S)NTP)
PeerPoll Interval: 10 (1024s)
HostPoll Interval: 10 (1024s)

C:\Windows\system32>w32tm /monitor /computers:uk.pool.ntp.org
uk.pool.ntp.org[82.219.4.30:123]:
    ICMP: 15ms delay
    NTP: -339.9182573s offset from local clock
        RefID: ntp2.linx.net [195.66.241.10]
        Stratum: 2

Warning:
Reverse name resolution is best effort. It may not be
correct since RefID field in time packets differs across
NTP implementations and may not be using IP addresses.

can anyone tell me why this is so? It's driving me mad!!

Thanks in advance.


Solution 1:

OK So after loads of looking and checking and reconfiguring, I had a massive AH HAAH! moment:

This machine is running as a virtual server! Hyper-V has a time synchronization integration service. The Hyper-V Host machine upon checking had the wrong time!

going to settings on the hyper-v manager for this domain server and unchecking the time synchronisation under management -> integration services and then applying, immeadiately fixed the issue!

I really hope this helps someone.