vmware主机时间漂移


10

如何确保在vmware infrastruction 3或vmware 3 esxi上运行的linux主机与ntp服务器保持同步。我发现在esx或esxi下运行的linux guest虚拟机在将来有时钟漂移的趋势。

如何确保时间与时间服务器保持同步?我是否必须在linux主机上部署vmware工具?然后将主机同步到ntp服务器,将访客与主机和ntp服务器同步?

Answers:


6

这是我遇到的一个问题,有时偏差太大,以致ntp服务拒绝同步。

我发现,如果您在来宾上安装了vmware工具,它将自动将其时间与主机时间同步。


我还发现我必须将clocksource = pit添加到grub内核引导线。
斯科特(Scott

9

简短答案:正确的内核参数和ntpd配置

长答案:VMware有一个很好的最佳实践文档,http://kb.vmware.com/selfservice/microsites/search.do?language = zh_CN& cmd = displayKC&externalId = 1006427

请注意,这与该线程中的某些信息有些相反。例如,特别建议不要再使用vmware-tools时间同步功能。


恐怕不同的主机/来宾安装需要不同的解决方案组合。我在另一个工作中使用虚拟盒子工作,无论我们尝试了什么,我们都无法解决时间同步问题。
staticsan

4

是的,为时钟同步工具安装vmware-tools很重要,但可能还不够。

对我有用的是添加内核引导参数:

clock=pit notsc

这会将时钟源设置为vmware保持更新,并禁用时间同步计数器。

也许无关,但是在最近足够多的内核上,我总是也附上:

divider=10

这会大大降低访客的CPU使用率。

这两者在安装或不安装vmware工具时都非常有用,并且有助于使时钟更紧密地保持同步(而不是在快速漂移的时钟和vmware工具时钟同步服务之间不断挣扎)。



1

已经选择了一个答案(这是最好的答案,因为vmware工具还具有许多其他优点),但是另一种选择是在cron中运行常规的ntpdate命令。这可以纠正您的时钟,但是不能管理时钟漂移,但可以在紧急情况下工作。


1

小心ntpdate或rdate,以困难的方式移动时间通常不是一个明智的主意,因为许多服务器应用程序都依赖连续的时间。

例如,Dovecot如果检测到时间偏移很大,就会退出。


另外,切勿将ntpdate与VMWare自己的时间同步工具结合使用。在ntpdate更新了时钟,使事情像在另一个方向上一样不准确之后,您可能最终使VMWare建立了重要的基于漂移的连接。
David Spillett

1

如果在来宾系统中使用“ tickless”内核(默认情况下,IIRC为2.6.22+),则时钟漂移更易于管理。我发现使用NTP比使用VMWare自己的工具更准确,但是我尚未对此进行科学测试。

要停止NTP,只要在重负载或其他问题导致时钟漂移过大时放弃(在较新的内核中这种情况很少发生,但仍然可能发生),请确保在顶部/顶部附近有“ tinker panic 0”行您的ntp.conf。

体贴入微,将您的主机时钟与公共时钟同步,并将VM与主机同步-不要让所有VM分别与公共时间服务器联系。

另外:请勿与NTPD同时使用VMWare自己的时钟来宾同步。两者将相互跳闸,从而使您的VM时钟处于不确定和不可靠的状态。



0

如果将NTP守护程序作为客户端安装在Linux客户机上,它将定期检查并确保从长远来看时钟不会漂移。您不需要进行任何奇特的主机与访客同步,因为服务器仅位于网络上。:)


1
VM中的NTP很可能无法解决此问题。作为虚拟机运行的问题在于,您不一定会获得每cpu-second一致的滴答数。在这种情况下,ntp通常会相当快地放弃同步尝试。您要么走vmware-tools路线,要么从cron做一个粗略的'rdate -s $ SERVER'来拖延时间。
David Mackintosh,2009年

0

可能是有用的。

来宾内核引导参数:

 clock=pit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.