Link to home
Start Free TrialLog in
Avatar of kassant7
kassant7Flag for United States of America

asked on

server time wrong after hyper v install

Server 2008R2, after we installed the hyperv role, the server clock could not keep the correct time.

Server has been running fine with the correct time for 4+ years. Installed hyperv 2 weeks ago and the clock has been wrong ever since.

Server is  the only DC and was set for NTP sync with us.pool.ntp.org, and a few other sources. Seems like everything was fine until we installed hyoperv.

We did all the usual, resync this, change source that, unregister w32tm, all no joy. The only thing that works is to set the server to sync from the cmos battery. This keeps the clock to within 2 minutes, but that isnt really synced.

The real question is why whatever clock the server uses to keep time (it isnt the cmos clock) will not keep time correctly.

Open to suggestions.
Avatar of Cliff Galiher
Cliff Galiher
Flag of United States of America image

Installing Hyper-V with other roles (including ADDS) has adverse effects because of how Hyper-V wants so manage resources. It is basically universally accepted that Hyper-V should always be the only role running on bare metal, and even other applications should be lightweight, such as backup or management agents.
Avatar of kassant7

ASKER

I agree, but we couldn't do that in this case.

The server is already running and the client didnt want to make too many changes. They needed to run some old program that only worked on XP as a VM.
Then time will skew. Hyper-v is six years old and I has always been this way. If there were a solution, it'd be documented by now. Short of faster hardware to minimize the impact, or running a third-party NTP client that refreshes more often (which is inefficient on the network) little can be done.
1 so the time is off on the host?
2 is it the same case for Vms (if you have any)?
3can you run that from cmd as admin

w32tm /query /source

and post it back here

4 also

sfc /scannow
Time is off on the host.

The time on the VM is fine. It is not a domain member and the hyperv time sync off.

Currently the source is cmos when we run w32tm /query /source When it was set to NTP the time gets off by more than 3 hours per day.

SFC found no issues when we ran it at the beginning of this episode, 3 days ago.
ASKER CERTIFIED SOLUTION
Avatar of JAN PAKULA
JAN PAKULA
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I took those steps already.  I will try it again if you desire.

I will paste the entire reg entry we import to reset the time server when it messes up. I have to find it and export to txt.
Sorry for the delay. This is what we use for PDC's now;

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time]
"DisplayName"="@%SystemRoot%\\system32\\w32time.dll,-200"
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
  00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
  6b,00,20,00,4c,00,6f,00,63,00,61,00,6c,00,53,00,65,00,72,00,76,00,69,00,63,\
  00,65,00,00,00
"Start"=dword:00000003
"Type"=dword:00000020
"Description"="@%SystemRoot%\\system32\\w32time.dll,-201"
"ObjectName"="NT AUTHORITY\\LocalService"
"ServiceSidType"=dword:00000001
"RequiredPrivileges"=hex(7):53,00,65,00,41,00,75,00,64,00,69,00,74,00,50,00,72,\
  00,69,00,76,00,69,00,6c,00,65,00,67,00,65,00,00,00,53,00,65,00,43,00,68,00,\
  61,00,6e,00,67,00,65,00,4e,00,6f,00,74,00,69,00,66,00,79,00,50,00,72,00,69,\
  00,76,00,69,00,6c,00,65,00,67,00,65,00,00,00,53,00,65,00,43,00,72,00,65,00,\
  61,00,74,00,65,00,47,00,6c,00,6f,00,62,00,61,00,6c,00,50,00,72,00,69,00,76,\
  00,69,00,6c,00,65,00,67,00,65,00,00,00,53,00,65,00,53,00,79,00,73,00,74,00,\
  65,00,6d,00,54,00,69,00,6d,00,65,00,50,00,72,00,69,00,76,00,69,00,6c,00,65,\
  00,67,00,65,00,00,00,00,00
"FailureActions"=hex:80,51,01,00,00,00,00,00,00,00,00,00,03,00,00,00,14,00,00,\
  00,01,00,00,00,60,ea,00,00,01,00,00,00,c0,d4,01,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
"MaxAllowedPhaseOffset"=dword:0000012c
"FrequencyCorrectRate"=dword:00000004
"SpikeWatchPeriod"=dword:00000384
"LocalClockDispersion"=dword:0000000a
"HoldPeriod"=dword:00000005
"PhaseCorrectRate"=dword:00000007
"MaxPollInterval"=dword:0000000f
"MaxPosPhaseCorrection"=dword:0002a300
"PollAdjustFactor"=dword:00000005
"AnnounceFlags"=dword:00000005
"TimeJumpAuditOffset"=dword:00007080
"MinPollInterval"=dword:00000006
"EventLogFlags"=dword:00000002
"MaxNegPhaseCorrection"=dword:0002a300
"LargePhaseOffset"=dword:02faf080
"UpdateInterval"=dword:00000064
"LastClockRate"=dword:0002625a

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"ServiceDllUnloadOnStop"=dword:00000001
"ServiceMain"="SvchostEntry_W32Time"
"NtpServer"="3.us.pool.ntp.org,0x1 2.us.pool.ntp.org,0x1"
"Type"="NTP"
"ServiceDll"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,\
  00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
  77,00,33,00,32,00,74,00,69,00,6d,00,65,00,2e,00,64,00,6c,00,6c,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Security]
"Security"=hex:01,00,04,80,98,00,00,00,a4,00,00,00,00,00,00,00,14,00,00,00,02,\
  00,84,00,06,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,05,12,00,\
  00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,\
  00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,00,00,14,00,\
  8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00,00,14,00,9d,01,02,00,01,\
  01,00,00,00,00,00,05,13,00,00,00,00,00,14,00,a9,00,02,00,01,01,00,00,00,00,\
  00,05,13,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,\
  05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]
"RunOnVirtualOnly"=dword:00000000
"DllName"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
  74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,\
  00,33,00,32,00,74,00,69,00,6d,00,65,00,2e,00,64,00,6c,00,6c,00,00,00
"Enabled"=dword:00000001
"CrossSiteSyncFlags"=dword:00000002
"InputProvider"=dword:00000001
"EventLogFlags"=dword:00000001
"SpecialPollTimeRemaining"=hex(7):32,00,2e,00,75,00,73,00,2e,00,70,00,6f,00,6f,\
  00,6c,00,2e,00,6e,00,74,00,70,00,2e,00,6f,00,72,00,67,00,2c,00,37,00,63,00,\
  37,00,37,00,32,00,65,00,36,00,00,00,33,00,2e,00,75,00,73,00,2e,00,70,00,6f,\
  00,6f,00,6c,00,2e,00,6e,00,74,00,70,00,2e,00,6f,00,72,00,67,00,2c,00,37,00,\
  63,00,37,00,37,00,32,00,65,00,36,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00
"SignatureAuthAllowed"=dword:00000001
"CompatibilityFlags"=dword:80000000
"ResolvePeerBackoffMinutes"=dword:0000000f
"ResolvePeerBackoffMaxTimes"=dword:00000007
"AllowNonstandardModeCombinations"=dword:00000001
"LargeSampleSkew"=dword:00000003
"SpecialPollInterval"=dword:00000384

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer]
"ChainEntryTimeout"=dword:00000010
"RunOnVirtualOnly"=dword:00000000
"DllName"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
  74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,\
  00,33,00,32,00,74,00,69,00,6d,00,65,00,2e,00,64,00,6c,00,6c,00,00,00
"Enabled"=dword:00000001
"InputProvider"=dword:00000000
"ChainMaxEntries"=dword:00000080
"ChainMaxHostEntries"=dword:00000004
"EventLogFlags"=dword:00000000
"ChainDisable"=dword:00000000
"RequireSecureTimeSyncRequests"=dword:00000000
"ChainLoggingRate"=dword:0000001e
"AllowNonstandardModeCombinations"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider]
"RunOnVirtualOnly"=dword:00000001
"DllName"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,76,\
  00,6d,00,69,00,63,00,74,00,69,00,6d,00,65,00,70,00,72,00,6f,00,76,00,69,00,\
  64,00,65,00,72,00,2e,00,64,00,6c,00,6c,00,00,00
"Enabled"=dword:00000001
"InputProvider"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider\Parameters]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TriggerInfo]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TriggerInfo\0]
"Type"=dword:00000003
"Action"=dword:00000001
"GUID"=hex:ba,0a,e2,1c,51,98,21,44,94,30,1d,de,b7,66,e8,09

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TriggerInfo\1]
"Type"=dword:00000003
"Action"=dword:00000002
"GUID"=hex:6e,51,af,dd,c2,58,66,48,95,74,c3,b6,15,d4,2e,a1

If we set the server back to NTP sync, the time drifts by more than 10 minutes an hour. So any fixes we try have to be undone by unregistered and re-registering the w32tm service.

The server is currently using the cmos clock.
Please try this command:

w32tm /config /manualpeerlist:time.nist.gov,0x8 /syncfromflags:MANUAL
net stop w32time
net start w32time

or alternately use that:

http://www.satsignal.eu/ntp/x86/index.html
I installed the NTP program. That takes over for w32time, /query /source no longer works.

It is up and running, the average offset is 90K so we'll see if the program does what it says and step the time incrementally until it is in sync to within 30ms.
After 2 days of running the program on the affected server, things did not improve. The offset on the 4 chosen servers is from 9615 to 40092. This is after the reach has gotten to 377 with a poll of 64.

None of the servers have the + sign indicating they are suitable for sync.

I dont think it is working. It is supposed to slowly adjust the clock to be in sync by taking many smaller steps rather than big changes.

I guess whatever is wrong on the server is also affecting this program. Which may mean the issue isnt the windows time service, but something else.
The server is now doing "ok". We have it set to sync from the local clock and NTP once a day.

It is not accurate down to the ms, but it is <2 min off.

I think it must be an issue with HYper v like stated here.
Thank you.