如何保持VMWare VM的时钟同步?

时间:2008-11-10 02:58:13

标签: vmware

我注意到我们的VMWare VM通常有不正确的时间。无论我多少次重置它们继续停顿的时间。

有没有人注意到这个?其他人如何保持VM时间同步?

编辑:这些是CLI linux虚拟机btw ..

11 个答案:

答案 0 :(得分:50)

如果您的主机时间正确,您可以设置以下.vmx配置文件选项以启用定期同步:

tools.syncTime = true

默认情况下,这会同步每分钟的时间。要更改周期性速率,请将以下选项设置为所需的同步时间(以秒为单位):

tools.syncTime.period = 60

为此,您需要在来宾操作系统中安装VMWare工具。

有关详细信息,请参阅http://www.vmware.com/pdf/vmware_timekeeping.pdf

答案 1 :(得分:8)

根据VMware的知识库,实际的解决方案取决于Linux发行版和发行版,在RHEL 5.3中我通常编辑/etc/grub.conf并将此参数附加到内核条目:divider = 10 clocksource = acpi_pm

然后启用NTP,从vmware-toolbox禁用VMware时间同步,最后重启VM

可在此处找到包含每个Linux发行版指南的完整表格:

为LINUX GUESTS设置最佳实践 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

答案 2 :(得分:4)

我将为Windows客人回答。如果安装了VMware Tools,则任务栏的通知区域(靠近时钟)有一个VMware Tools图标。双击它并设置选项。

如果您没有安装VMware Tools,您仍然可以设置互联网时间的时钟选项以与某些NTP服务器同步。如果您的物理机为您的客户机提供NTP协议,那么您可以通过仅主机网络完成这项工作。否则,您必须让您的客人与互联网上的正版NTP服务器同步,例如time.windows.com。

答案 3 :(得分:4)

这里要注意的事情。我们在Windows VM在ESXi主机上运行时遇到了同样的问题。在guest虚拟机上的VMWare Tools中打开了时间同步,但是来自主机时钟的guest虚拟机时钟始终关闭(大约30秒)。 ESXi主机配置为从内部时间服务器获取时间更新。

事实证明我们已经在Windows VM中启用了Internet时间设置(控制面板>日期和时间> Internet时间选项卡),因此访客从两个地方获得时间更新,并且互联网时间正在赢得。我们将其关闭,现在客户时钟非常好,只能从ESXi主机上获取时间。

答案 4 :(得分:3)

在我的情况下,我们在Windows Server 2003 R2 Standard上运行VMWare Server 2.02。主机也是Windows Server 2003 R2 Standard。我安装了VMware Tools并设置为同步时间。我做了我在各种互联网网站上发现的一切。我们仍然有可怕的漂移,虽然从15分钟或更长时间缩小到3或4分钟范围。

最后在vmware.log中我找到了这个条目(作为.vmx文件驻留在文件夹中): “您的主机系统不保证跨不同CPU的同步TSC,因此请在Windows Boot.ini文件中设置/ usepmtimer选项以确保计时可靠。有关详细信息,请参阅Microsoft KB http://support.microsoft.com/kb ...和Microsoft KB http://support.microsoft.com/kb ...有关其他信息。“

原因:当计算机在BIOS或某些Intel多核处理器中启用了AMD Cool'n'Quiet技术(AMD双核)时,会出现此问题。当不同核心之间的时间不同步时,多核或多处理器系统可能会遇到时间戳计数器(TSC)漂移。使用TSC作为计时资源的操作系统可能会遇到此问题。如果系统中有其他可用作计时源的定时器,则较新的操作系统通常不会默认使用TSC。其他可用的定时器包括PM_Timer和高精度事件定时器(HPET)。 解决方案:要解决此问题,请与硬件供应商联系,以查看是否有新的驱动程序/固件更新可用于解决此问题。

注意驱动程序安装可能会在Boot.ini文件中添加/ usepmtimer开关。

一旦这个(/ usepmtimer开关)完成,时钟就按时死了。

答案 5 :(得分:3)

This documentation为我解决了这个问题。

答案 6 :(得分:1)

CPU速度因节电而变化。我最初注意到这一点是因为VMware在我的笔记本电脑上给了我一个有用的提示,但是这个页面提到了同样的事情:

引自:VMWare tips and tricks 省电(SpeedStep,C-states,P-States,...)

您的省电设置可能会严重影响vmware的性能。有几个级别的省电。

CPU频率

这不应导致性能下降,除了在较低频率下运行CPU时具有明显较低的性能(通过诸如“ondemand”或“保守”之类的通过调控器手动)。在vmware运行时改变CPU速度的唯一问题是Windows时钟将失去时间。要防止这种情况,请在/ etc / vmware / config

中以kHz为单位指定完整的CPU速度

host.cpukHz = 2167000

答案 7 :(得分:1)

VMware经历了很多时钟漂移。这个{vmware clock drift'的Google search链接到几篇文章。

第一次点击可能对您最有用:http://www.fjc.net/linux/linux-and-vmware-related-issues/linux-2-6-kernels-and-vmware-clock-drift-issues

答案 8 :(得分:1)

在Windows Guest上安装VMware Tools时,默认情况下不启用“时间同步”。 但是 - “最佳实践”是在Windows Guest上启用时间同步。

有多种方法可以在VM外部执行此操作,但我想找到一种方法在工具安装之时或之后从guest虚拟机本身启用时间同步。

令人惊讶的是,这并不像我预期的那么简单。 (我假设在工具安装期间将其设置为参数/配置选项是可行的)

经过一些搜索后,我在一篇名为“使用VMware Tools命令行界面”的VMware文章中找到了一种方法。

因此,如果禁用了时间同步,则可以通过在guest虚拟机中运行以下命令行来启用它:

      VMwareService.exe –cmd “vmx.set_option synctime 0 1″

附加说明

对于某些(恕我直言)愚蠢的原因,此实用程序要求您指定当前值和新值

0 =禁用 1 =已启用

所以 - 如果你在已设置此命令的机器上运行此命令,则会收到错误消息 - “旧值无效”。 显然你可以在运行时“忽略”这个错误(所以不是很大),但目前的设计似乎有点愚蠢。 恕我直言,如果您只需指定要设置的值并且不需要指定当前值,那将更加明智。

即。            VMwareService.exe -cmd“vmx.set_option synctime< 0 | 1>”

答案 9 :(得分:0)

在Active Directory环境中,重要的是要知道:

  • 所有成员机器都与任何域控制器同步。

  • 在域中,所有域控制器都从该域的PDC模拟器(PDCe)同步。

  • 域的PDC模拟器应与本地或NTP同步。

在vmware中设置时间或配置时间同步时,请务必考虑这一点。

摘自:http://www.sysadmit.com/2016/12/vmware-esxi-configurar-hora.html

答案 10 :(得分:-1)

我将以下作业添加到crontab。这是hacky,但我认为应该工作。

* / 5 * * * * service ntpd stop&& ntpdate pool.ntp.org&& service ntpd start

它停止服务的ntpd服务更新并再次启动ntpd