04
2020
08

同一AD域内的计算机时间不准,时间越来越快的可能原因

这几天碰到一个很神奇的问题,同一个AD域内的电脑,显示的时间越来越快了,前天是走快了不到1分钟,昨天是将近5分钟,现在都快8分钟了,我和我们离岸运维团队纠结了快一天了,都没有找到发生这种情况的原因,直到……(如果只想看解决方案请直接跳至文章末尾)

我一直以为,同一个AD域内的电脑,一般情况下时间应该是去同步某一台域控的时间的,好像默认是首选DNS所在的那台域控,有的时候也会是备用DNS所在的域控,不过貌似还出现过随机的情况……emmmmmm,这个咱们就不纠结了,反正总归一句话,AD域内的电脑一般情况下是向AD域控同步时间的,这一点也可以在电脑的事件查看器→Windows 日志→系统里查看来源为Time Service的事件得到证实,如图所示:

那么如果是这样的话,那应该修改域内的pdc就能解决这个问题了,然而在实际操作中,又发生了很奇怪的事情,有的域控调好时间之后没过几秒,马上又自动改回来了,另外有的域控呢,是改对了时间之后要过一会,又自动改回来了,我等攻城狮实在百思不得其解……

后来,在我求助外援的时候又发生了一件很戏剧化的事情,我找到了我认识的一位深谙服务器运维的奆佬,就在我描述这个问题的时候,说的第一句话“一般情况下AD内的电脑都是同步域控的对吧?”就被他反驳了,他说“诶,不一定哦,如果有虚拟机的话,默认虚拟机应该是会优先同步宿主机的时间”,就这一句反驳让我茅塞顿开!还没正式开始描述问题我就找到了问题的原因,同时也解释了为什么有的域控改对了时间马上自动改回来,有的要过会才改回来了,因为有些域控是装在Hyper-V虚拟机里面的!然后虚拟机的宿主机并不是域控,所以就导致了宿主机去同步虚拟机,虚拟机又去同步宿主机,这样的一个时间同步循环,然而宿主机(域成员)同步虚拟机(域控)是通过NTP协议同步的,而虚拟机(域控)同步宿主机(域成员)则是通过一个Hyper-V的时间同步服务(如图所示),可能就是由于这个问题造成了一个时间差,所以就导致域内电脑显示的时间越走越快。

3.jpg

那么问题既然已经找到了,那解决就很简单了,只要把上图中虚拟机同步宿主机的Hyper-V时间同步服务关掉就可以了,这个服务的位置是:选中域控所在的虚拟机,依次点击Action→Settings...→Management→Integration Services,就可以找到一个叫Time synchronization的服务了,把前面的√去掉就可以了,主要是在域控的虚拟机上取消这个,其他虚拟机不一定需要取消。


P.S. 查看时间相关服务的信息是用cmd下的w32tm命令,如果要查看本机的NTP同步状态,可以使用w32tm /query /status命令,此命令也可以看到目前本机获取时间的NTP服务器信息。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。