Link to home
Start Free TrialLog in
Avatar of J.R. Sitman
J.R. SitmanFlag for United States of America

asked on

Server has incorrect time

A member server Win 2008 R2, that is a Hyper-V host is for some unknown reason getting it's time from one of the VM's that it hosts.  Also I checked the registry setting for NTPServer and it's set to time.windows.com

What is the best method to fix this?   And if possible what would cause a Host to get it's time from a VM?
Avatar of Wayne88
Wayne88
Flag of Canada image

You mean the VM clients are getting the time from the HOST.  The proper way to fix it is to ensure the hyper-v host is always sync to an NTP.  Use an NTP pool like pool.ntp.org

The VMs client need to get the time from host because it's no different than non-vm OS will get time from the machine's internal clock/bios.  The clock is maintained running by the battery when the machine is powered off.  Like a physical machine, the VM clients also need a reliable source to maintain time which is why it grabs the time from the host which in turn rely on the internal clock/battery when the physical machine is off.
Avatar of J.R. Sitman

ASKER

No the Host is getting it time from the VM.  Which I no is opposite of how it should be.   I'll look into NTP pool.
"No the Host is getting it time from the VM.  Which I no is opposite of how it should be.   I'll look into NTP pool."

No, you have the terminology mixed up.  The HOST is the Hyper-V and the CLIENTS are the VMs.

"A member server Win 2008 R2, that is a Hyper-V host is for some unknown reason getting it's time from one of the VM's that it hosts. "

This doesn't make sense.  The VM CLIENTS get the time from the HOST.  Not the HOST get the time from the VM.  That's what I said on my post.
I don't have it mixed up.  See attached.  DCSVRVMSB is a VM hosted by spcala200.  I ran w32tm /query /source on spcala200 (the host)
User generated image
when I run the same query from the VM I get this.

User generated image
My apologies.  I see, is DCSVRVMSB a Domain Controller and the LAN's NTP server?
No problem.  It is a DC and I don't know how it got set up as the NTP server.   How do I fix these issues?
The DC is the NTP server for the domain by default.  Is the Hyper-V host also a member of the domain?  If this is the case then the configuration you have is correct because all domain members get their time sync from the DC.
I can definitely state that something is not configured correctly.   I reason for this post was that spcala200 (Host) clock has been off by 15 minutes twice in the last month.
Today it is off by 7 minutes.  Every VM that is being hosted by spcala200 has the exact same time.  Hence, spcala200 is issuing time and not DCSVRVMSB.

Need help with this.
ASKER CERTIFIED SOLUTION
Avatar of Wayne88
Wayne88
Flag of Canada 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 have another DC, spcala185.  I think it would be better to sync everything to that one, don't you?
Sorry, I am not well versed with your environment but if spcala185 is more suited to be an NTP server of your choice then I don't see a problem with that.  It's a very light function anyway.  As long as you have a internal time server all your internal machines can refer to it's fine.
In a domain, the members always look to the main DC for time services... You should  set the vm's to NOT get time from host, and do what they were designed to do, get time from DC. You then set your main DC to sync from a valid time source. If you have the vm's trying to sync from both the domain and the vm host, you can get errors like this....
The way I have my environment set up is that I have the VM Hosts and DCs get the time from NTP pool.  When I said member servers should get time from the DC, that doesn't apply to VM hosts.  I rather get my VM hosts synced to an NTP pool because it wouldn't make sense to have the host get time from a machine that it's hosting (the VM client can be down).
thanks.  I'm working on the changes.
I ran the manualpeerlist and it updated spcala200 (host) NTPserver in the registry.  However, when I do a w32tm /query /source, it is still stating it's time is from DCSVRVMSB.  The domain is very small so replication should be quick.  I even shutdown DCSVRVMSB to see if that would force spcala200 to get the new time source.

Suggestions?
SOLUTION
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
Not from a GPO.  the command didn't help.
Did you restart the time service after the change was made?

w32tm /config /manualpeerlist:us.pool.ntp.org
net stop w32time
net start w32time
because no one is working today, I was able to reboot it.   Everything is now working correctly.   Thanks for hanging in there and helping.
You're welcome and I am glad to help.  Cheers!