Hyper-V Dynamic Memory Allocation strikes again… I have decided to no longer use Dynamic Memory Allocation on any of my virtual machines. It is a fine idea in theory but it is extremely buggy and I am not sure how it made it into a production OS…
What’s the issue this time around? This is my third article talking about a bug related to Dynamic Memory Allocation. In this case it has to do with the clock sync on the VM. Which is a major ordeal if you happen to be working with a virtualized Domain Controller. Here was the situation… every time power got cut to the host and subsequently the VM was “hard powered” off, upon reboot the clock would be off by several hours. (more…)
Ran into a fun issue today… I had a pair of Server 2012 R2 servers in a remote office that refused to sync the proper time for their clocks. No matter what I did they were always off by five minutes. One of them was a domain controller for the office.
In the process of fixing the issue I learned about an interesting feature in hyper-v that was the root cause of all my trouble. By sharing my experience, hopefully you will avoid the same issues I ran into.
I have a single DC test environment at home and I am running on old hardware. One machine’s clock had gained 3 hours. That machine happened to be the domain controller. I am running Server 2012 R2 on all machines so i used powershell to run the following commands:
Check how far off the system time is from the ntp server at time.windows.com:
w32tm /stripchart /computer:time.windows.com /samples:5 /dataonly
Tell the system it is okay to sync its time with time.windows.com
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update
Force the system to sync its clock
All other servers/computers in the domain sync their time with the Domain Controller that holds the PDC emulator role. This should fix time issues across the domain if run on the correct DC.
Hope you find this helpful!
PS. Traditionally you can use the command:
NET TIME /DOMAIN:<domainname> /set /y
to sync domain members with the DC holding the PDC role.
If that fails, you can force a sync to another server with either of these commands:
NET TIME \\<MACHINENAME> /SET /Y
NET TIME \\<IP Address> /SET /Y