6 months ago i thought I figured our time sync issues once and for all by specifying a external NTP server. Here I am again though with my time out of sync and I can’t get it to resync.

I saw somewhere that you can reset w32tm with:

net stop w32time
w32tm /unregister
w32tm /register
net start w32time

I then did this to reset time settings:

net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:”0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org”
w32tm /config /reliable:yes
net start w32time

I then run w32tm /resync and the time gets fixed. However, a split second later it changes back to the incorrect time. Where is it getting its time from?!? I did a netdom /query fsmo to make sure i’m working on the PDC and I am.

5 Spice ups

It may be pulling the time from the machine bios.

What time does it revert to and where are you issuing the w32tm command at? Sorry. should have read that closer.

These are Hyper-V vm’s, i’ve heard there can be sync issues with this. It’s pulling a time thats ~3 minutes in the future.

I dont understand why it would still pull a local system time when i’ve specified /syncfromflags:manual. Isn’t the point of specifying external servers so that it stops using local system time?

Take a look at this. Apparently the host is to be set up to sync from a NTP source and the VMs should use the time sync provider from the host if I am reading this correctly.

http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx

1 Spice up

If your DC’s are VM’s, DO NOT sync the time using the VM utilities (in Microsoft’s Hyper-V, uncheck “Time Services” under Integration Services on the Settings of the VM.

Then use this command to set the time on the DC’s

w32tm /config /manualpeerlist:0.ca.pool.ntp.org,1.ca.pool.ntp.org,2.ca.pool.ntp.org,3.ca.pool.ntp.org /syncfromflags:manual /reliable:yes /update

You can also set up the DC’s to sync from the peer list through GPO as well.

System/Windows Time Service/Time Providers >
NtpServer 0.ca.pool.ntp.org 1.ca.pool.ntp.org 2.ca.pool.ntp.org 3.ca.pool.ntp.org 
Type NTP 
CrossSiteSyncFlags 2 
ResolvePeerBackoffMinutes 15 
ResolvePeerBackoffMaxTimes 7 
SpecialPollInterval 3600 
EventLogFlags 3 
 
Policy Setting Comment 
Enable Windows NTP Client Enabled 
4 Spice ups

I used:

(Powershell)

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL

Stop-Service w32time

Start-Service w32time

From here

Have you seen this?

http://community.spiceworks.com/topic/477104-do-you-disable-the-time-syncronization-service-in-hyper-v

1 Spice up

Double check your time sources in your registry:

http://community.spiceworks.com/how_to/show/86634-setting-up-and-managing-ntp

1 Spice up

What happens when you run this:

w32tm /query /configuration

Type should be NTP.

When you run:

w32tm /query /source

That should show you where your system is configured to get NTP from.

Run the above from an Admin prompt.

Severely delayed response, two week Christmas break :slight_smile:

It looks like it was indeed an issue with it using the Hyper-V time sync in place of the NTP source. A lot of technet articles seem to indicate that best practice is to use a “partial sync”. Where for normal functioning it uses the w32tm source then for saved state, etc it’ll use the Hyper-V configuration. In multiple places i’ve seen to add this registry key to make this happen:

reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0

Sources:

http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx

This registry key %uFEFFdoes not%uFEFF work for me. It will still sync from the Hyper-V host unless I disable Time Sync on the VM itself. I have verified that w32tm is set to use the external NTP servers. But it looks like if I have time sync enabled on the VM it will override whatever setting is in w32tm. I know its not 100% best practice but i’m going to just leave Time sync disabled on the DC. I can’t spend too much more time fighting with this at the moment.

This problem seems to persist, IDK what the problem is but this is frustrating. Something so seemingly simple. I have three DCs:

DC1 (Hyper-V no time sync) -

DC2 (Hyper-V no time sync) -

  • w32tm /query /configuration TYPE: NT5DS

  • W32tm /query /source: DC1

DC3 (VMware - no Timesync) -

  • w32tm /query /configuration TYPE: NT5DS

  • W32tm /query /source: DC1

If i run w32 /resync on DC1 the time is fixed. But later goes out of sync again. What am i missing?

Why don’t you set them all to NTP?

The PDC emulator is the only one you should have to set the NTP pool information up on and the others should get their time from him/her.

1 Spice up

I did a w32tm /resync on the PDC and the time held for I believe the rest of the work day. This morning its off by 3 minutes again. Resync fixes it.

This machine is Hyper-V time sync is disabled, is it just losing that much time inbetween resyncs or not resyncing for some reason? Do I need to just check the sync interval, or make a scheduled task?