我们有一个包含 2 个 Hyper-V 主机的 Windows 域网络。这些主机上有几个 Hyper-V VM 客户端。其中两个客户端是域控制器。
Hyper-V 主机都是该域的客户端。这带来了一个常见的时间同步问题,因为主机将尝试将其时间与 PDC 仿真器同步,而域控制器将其时间与 Hyper-V 主机同步。
在处理该问题时,我没有意识到网络中的防火墙不允许端口 123 上的传出流量。这导致多次(失败的)重新配置尝试。
切换时间源
一旦了解了问题,我就将主机设置为同步到可靠的现场时间源,并希望 DCs 再次简单地使用 VM IC 时间同步提供程序(以便它们与主机同步时间)。
但其中一个 DC 拒绝切换到 VM IC 时间同步提供程序,它仍然使用本地 CMS 时钟源(据我了解,并不理想)。
到目前为止什么失败了?
我尝试在 Hyper-V 管理器中禁用该虚拟机的时间同步组件,然后重新启动机器,重新启动 w32time 服务几次,重新启用时间同步组件。这不起作用。我还尝试了此过程的其他排列,但也没有帮助。
我尝试更改
Enabled
注册表中HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders
不同时间提供商的值()。我在客户端重新安装了 Hyper-V 集成包。
答案1
对于域控制器:在客户机内禁用 Hyper-V 时间同步,但在 Hyper-V 管理控制台中的虚拟机配置中保留启用 Hyper-V 时间同步。这样,Hyper-V 会在客户机启动或从暂停中恢复时设置时钟,但在正常运行期间,客户机负责自己的时钟。在客户机上使用此命令可阻止其使用 VM IC:
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0
(对于域控制器,负责自己的时间同步非常重要,因为 AD 需要知道时间的质量。如果来宾正在管理时钟,它可以访问网络时间的质量指示器。但如果 Hyper-V 正在管理时钟,则来宾会将时钟视为权威时钟,并始终假定它是正确的,即使事实并非如此。)
对于所有其他客人:使用 Hyper-V 客户端附加组件来同步时钟。如果客户端未安装附加组件,则使用 Hyper-V 虚拟机管理程序将模拟的硬件时钟。
由于你的情况是,你对 DC 客户端的时间同步设置进行了修改,因此我建议你重置 w32time 设置首先,然后重新安装客户机添加功能,最后应用上面的注册表设置。