我被一个看似简单但实际上很麻烦的问题所困扰,所以我在这里寻求帮助。
我在VMware ESXi 5.1的VMware工作站中安装了一个实例,以了解各种ESXi特性。让我称它为vESXi机器。运行vESXi的问题是,每次晚上挂起vESXi并在第二天继续运行,vESXi的时间就会滞后。也就是说,如果我昨晚22:00暂停vESXi,并在今天上午继续播放,我会看到vESXi的报道--昨晚仍然是22:00。我知道这是正常的,因为PC系统通过计数硬件计时器、滴答、中断来保持时间。因此,我决定让vESXi使用NTP与NTP服务器同步。我的NTP服务器是运行在同一个LAN段上的Windows 2003域控制器。
我很快就注意到了这个问题:我的vESXi从来不与窗口NTP服务器同步它的时间,不管我等了多长时间。
您可能建议我关闭vESXi而不是挂起它,但是我非常喜欢VMware工作站提供的挂起功能,它非常快速、流畅。

我读过http://kb.vmware.com/kb/1035833,它提供了解决方法(对其进行了一些调整以使其与Windows服务器一起工作),但这篇KB文章在一读时造成了更多的困惑。更重要的是,如果我有相当多的vESXi,那么对它们进行调整是非常麻烦的。
Q1(小学):这些说法到底是什么意思?
默认情况下,未同步的Windows服务器选择一个10秒的色散,并在每个轮询间隔上添加它保持同步的色散。默认情况下,ESXi/ESX主机不接受根色散大于1.5秒的任何NTP答复。
Q2:知识库告诉我添加
tos maxdist 30致/etc/ntp.conf .这句话是什么意思?ntpd.conf手册页http://linux.die.net/man/5/ntp.conf似乎对tos或maxdist只字未提。
Q3:由于ESXi NTP客户机(守护进程)不能成功地与指定的NTP服务器同步,ESXi是否生成一些解释细节的日志消息?
Q4:有没有办法强迫ESXi的ntp客户端立即与特定的NTP服务器同步?即使是手动操作也是受欢迎的。我不知道捆绑的ntpd命令是否能做到这一点。
Q5:如果没有手动/etc/ntp.conf在ESXi上进行调整,我可以设置什么样的NTP服务器来为我的vESXi盒提供时间源?Linux ntpd还是什么的?是否需要在服务器端进行特殊配置?
提前谢谢你。
用实验
在阅读了NTP常见问题并做了相当多的实验之后,我证实了以下事实:
因此:我关于vESXi的时间保持的实际问题已经解决了(更愿意与Linux服务器同步时间)。
现在的焦点是Q1。Windows服务器有什么问题?我希望有人能从NTP协议的角度来帮助解释Q1中的这两个语句。
我感谢四层理论和现实抽取器所提供的有用信息,尽管它们对我的具体问题的回答并不十分准确。
发布于 2014-03-03 09:36:46
我终于想明白了。理解VMware KB语句在Q1中的关键是分散的含义。它实际上是指NTP响应包中的根色散场。Windows广告的根色散字段约为10秒,而Linux的广告时间约为0.01秒。
我认为微软是故意这样做的,并在http://support.microsoft.com/kb/939322/en-us中宣布了这种行为。
下图显示了10秒的色散场(用3.4捕获).

发布于 2014-02-26 10:17:04
如果时间差太大,NTP将不会同步。这是预期的行为。
通常情况下,这不是一个问题,因为安装在客户操作系统中的VMware工具会将时间同步到主机,而不管时间漂移有多远。由于您正在使用实验性和不受支持的选项将ESXi作为VM运行,所以您无法获得VMware工具的功能,因此它不同步。
对于tos maxdist,您可以查看自动NTP配置选项,但是这些不能解决您的问题,因为时间太远了。
发布于 2014-02-26 10:26:58
这是一个非常不正常的设置,ESXi在VMWare工作站内。向你致敬。
如果NTPD“认为”它一直在运行,那么它不会做出如此巨大的时间调整(比如说,让它进入睡眠状态)。不幸的是,ESXi似乎没有ntpdate二进制文件(您可以每半小时左右通过cron运行该二进制文件,并完全禁用ntpd )。
我已经注意到,如果停止并启动服务(可能几次),ntp倾向于自我纠正。
丑陋的解决办法,但也许是一项任务来停止/启动ntpd?
下面是向ESXi添加cron作业的链接
要停止和启动的命令是
/etc/init.d/ntpd stop
/etc/init.d/ntpd starthttps://serverfault.com/questions/578362
复制相似问题