我受到一个看似简单却又麻烦的问题的困扰,所以我在这里寻求帮助。
我在VMware Workstation内部安装了VMware ESXi 5.1实例,以了解各种ESXifunction。 让我称之为vESXi机器。 我运行vESXi的问题是,每次我在晚上暂停vESXi并在第二天恢复时,vESXi的时间就会滞后。 也就是说,如果我昨天晚上22点暂停vESXi并且今天早上恢复,我会看到vESXi报告昨天晚上22点还在。 我知道这是正常的,因为PC系统通过计数硬件计时器滴答中断来保持它的时间。 所以,我决定让vESXi使用NTP与NTP服务器同步。 我的NTP服务器是在同一LAN网段上运行的Windows Server 2003域控制器。
我很快就注意到了这个问题:无论我等待多长时间,我的vESXi都不会同步Window NTP服务器。
您可能会build议我closuresvESXi而不是挂起它,但我真的很喜欢VMware Workstation提供的挂起function,它非常快速而stream畅。

我已经阅读http://kb.vmware.com/kb/1035833其中提供了解决方法(一些调整,使其与Windows NTP服务器),但该知识产权文章创build更多的障碍,在一读。 更重要的是,如果我有相当多的vESXi,调整每个vESXi都是非常麻烦的。
Q1(小学):这些陈述到底是什么意思?
默认情况下,未初始化的Windows服务器select10秒的离散度,并在每个轮询时间间隔上添加离散度,以保持同步。 默认情况下,ESXi / ESX主机不接受任何根分散大于1.5秒的NTP答复。
Q2:KB告诉我添加
tos maxdist 30
到/etc/ntp.conf 。 那条线是什么意思? ntpd.conf手册页http://linux.die.net/man/5/ntp.conf似乎没有说tos或maxdist 。
问题3:由于ESXi NTP客户端(守护程序)未与指定的NTP服务器成功同步,ESXi是否生成一些日志消息来解释详细信息?
问题4:有没有办法强制ESXi的ntp客户端立即与特定的NTP服务器同步? 即使是手动操作也是受欢迎的。 我不知道捆绑的ntpd命令是否可以做到这一点。
Q5:如果在ESXi上没有手动调整/etc/ntp.conf ,可以设置什么样的NTP服务器来为我的vESXi提供时间源? Linux ntpd还是什么? 服务器端需要什么特殊configuration?
先谢谢你。
在阅读NTP常见问题和做了一些实验之后,我确认了以下事实:
所以:关于vESXi的计时问题我的实际问题已经解决了(宁愿与Linux NTP服务器同步时间)。
现在重点在第一季度。 Windows NTP服务器有什么问题? 我希望有人能从NTP协议的angular度帮助解释第一季度的这两个声明。
我对四重奏和真实提取器的有用信息表示感谢,虽然他们对我的具体问题的答案不太准确。
如果时差太大,NTP将不会同步。 这是预期的行为。
通常,这不是问题,因为安装在客户操作系统中的VMware Tools会将时间同步到主机,无论时间有多长。 由于您正在使用实验性和不受支持的选项将ESXi作为虚拟机运行,因此无法获得VMware Toolsfunction,因此不会同步。
对于tos maxdist您可以查看自动NTPconfiguration选项,但是这些不会解决您的问题,因为时间太短了。
这是一个相当不错的设置,ESXi内部VMWare工作站。 向你致敬。
如果NTPD“认为”它正在运行(通过睡觉),它将不会进行大量的时间调整。 不幸的是,ESXi似乎没有一个ntpdate二进制文件(你可以每隔半小时运行一次cron,并且完全禁用ntpd)。
我注意到,如果您停止并启动服务(可能是几次),ntp会自行更正。
丑陋的解决方法,但也许一个cron工作来停止/启动ntpd?
以下是将cron作业添加到ESXi的链接
停止和启动的命令是
/etc/init.d/ntpd stop /etc/init.d/ntpd start
我终于弄明白了。 了解第一季度VMware KB语句的关键是分散的含义。 它实际上是指NTP响应数据包中的Root Dispersion字段。 Windows广告10秒左右的Root Dispersion字段,而Linux ntpd广告约0.01秒。
我认为微软故意这样做,并在http://support.microsoft.com/kb/939322/en-us上公布这种行为。
下面的图像显示了10秒的分散场(用Microsoftnetworking监视器3.4捕获)。
