通过Hyper-V虚拟化的域控制器的时间同步

我想知道是否有人可以推荐一种更好的方法来配置一组 Windows Server 2008 R2服务器的域时间同步,而不是我目前配置的.我有三个域控制器,都是Hyper-V来宾.对于所有这些DC,将禁用主机的集成服务的时间同步功能. DC配置为权威时间服务器,FSMO DC1服务器使用公共nist-a和nist-b服务器作为其时间源. DC2,DC3以及此环境中的所有其他服务器(主机和来宾)都是一个域的成员,并查看DC1的时间.对于所有剩余的客户(即不是DC),启用集成服务的时间同步功能.这篇文章的原因是我偶尔会在下一段中看到后面的消息,我想让我的所有服务器(主机和客户)都尽可能准时:

时间服务检测到900秒的时间差大于5000毫秒.时间差可能是由与低精度时间源的同步或次优的网络条件引起的.时间服务不再同步,无法为其他客户端提供时间或更新系统时钟.当从时间服务提供商收到有效时间戳时,时间服务将自行纠正.

如果有人与虚拟化DC具有类似的设置,并且已经在域中的所有服务器上实现了高度准确的时间同步,那么您的输入将会受到赞赏.

谢谢.

解决方法

在虚拟化域环境中保持时间的最可靠方法是保持PDC物理,增加所有虚拟化DC和域成员的同步频率和漂移容差,并禁用所有虚拟机的主机 – 客户机时间同步.

这是对问题的伪解释(自从我看到这个以来已经很长时间了):

当机器(工作站,服务器,VM)启动时,它会从RTC(主板/ BIOS上的电池供电的时钟芯片)读取时间,并计算每个cpu滴答的持续时间.然后,OS计算自初始读取以来发生的时钟滴答数,并将该时间与读取时的原始时间读数相加.这给你当前时间.

问题是,主机模糊了VM发生的真实时钟周期.当主机上实际发生500个时钟周期时,VM可能已经看到100个时钟周期.因此,这种计算时间的方法会中断,并且时间会从VM上消失.

通过vSphere和Hyper-V上安装的虚拟机工具/增强功能包进行主机 – 访客时间同步可以解决这个问题,但它们并不完美(在某些设置中,如果虚拟机实时漂移,它们可以将虚拟机向前拉,但是如果它在实时之前漂移,则不要跳转VM.)

进一步复杂的是时钟周期计入多核设置(定时计数器基本上模拟在每个内核上)以及可以动态改变时钟速度的设置(我不知道如何维护它).考虑到VM可以在一个内核上执行一个时钟周期,然后在下一个周期跳转到不同cpu上的不同内核,这真的太可怕了.

回到原点:认情况下,域时间从PDC开始,然后逐渐下降到其他DC,然后从那里流向成员服务器和工作站.因此,如果您确保PDC是真正可靠的时间源(通过保持物理),并禁用所有其他域成员上的主机 – 客户同步,您将确保稳定且相对准确的时间基础架构.

请注意,将PDC作为物理服务器运行然后在该服务器上启用Hyper-V并向其添加一些guest虚拟机也可能不合适,因为我相信当您启用Hyper-V时,“基本”操作系统实际上变为虚拟化操作系统(静).因此,将一台物理服务器保留为PDC,并保持Hyper-V不受限制.

有趣的一点需要注意:微软对Windows时间同步的官方立场,即使使用自XP / 2003以来内置于Windows中的兼容NTP服务,也是15秒.在实践中,你可以将它降低到100毫秒以下,但他们所支持的只是在15秒内同步. Kinda有道理,大多数MS环境核心唯一对时间敏感的关键组件是Kerberos,认情况下,只要你在5分钟的容差范围内,它就会愉快地运行.

相关文章

Hyper-V上运行的Linux虚拟机验证是否安装了集成服务 ps aux|...
目录虚拟化介绍虚拟化厂商介绍微软虚拟化发展历程Hyper-v 3....
最近有win10系统用户在开启Hyper-V功能的时候发现无法启动...
Win10系统中的Hyper-V虚拟机组件可以让用户很方便的创建虚拟...
在Win10中使用Hyper-V来创建虚拟机很方便,下面小编就把Hype...
大家都知道Win10家庭版、中文版、普通版和专业版相比是缺少很...