我注意到我们的vmware虚拟机经常有不正确的时间。 无论多less次我重置时间,他们继续desyncing。
有没有其他人注意到这一点? 其他人做什么来保持他们的虚拟机时间同步?
编辑:这些是cli linux虚拟机btw ..
如果您的主机时间正确,则可以设置以下.vmxconfiguration文件选项以启用定期同步:
tools.synctime = true
默认情况下,每分钟同步一次。 要更改周期率,请将以下选项设置为期望的同步时间(秒):
tools.synctime.period = 60
为了这个工作,你需要在你的客户操作系统中安装vmware工具。
有关更多信息,请参阅pdf/vmware_timekeeping.pdf
根据vmware的知识库,实际的解决scheme取决于linux发行版和发行版,在rhel 5.3中,我通常编辑/etc/grub.conf并将此参数附加到内核条目中:divider = 10 clocksource = acpi_pm
然后启用ntp,从vmware-toolbox禁用vmware时间同步,最后重新启动虚拟机
每个linux发行版的指南都可以在这里find:
为linux客人提供最佳实践http://kb.vmware.com/selfservice/microsites/search.do?language=en_us&cmd=displaykc&externalid=1006427
我会回答windows客人。 如果您安装了vmware tools,则任务栏的通知区域(靠近时钟)会有一个vmware tools图标。 双击并设置您的选项。
如果您没有安装vmware tools,您仍然可以设置时钟的上网时间选项以与某些ntp服务器同步。 如果您的物理机器为您的客机提供ntp协议,那么您可以使用主机专用networking完成。 否则,您必须让您的客人在互联网上与真正的ntp服务器同步,例如time.windows.com。
这里需要注意一些事情。 我们对在esxi主机上运行的windows vm有同样的问题。 guest虚拟机上的vmware工具中已打开时间同步,但来宾时钟始终与主机时钟关断(约30秒)。 esxi主机已configuration为从内部时间服务器获取时间更新。
事实certificate,我们在windows vm(控制面板>date和时间>互联网时间选项卡)打开了互联网时间设置,所以客人得到两个地方的时间更新,互联网时间赢了。 我们将其closures,现在客户时钟很好,只能从esxi主机获取时间。
就我而言,我们正在windows server 2003 r2 standard上运行vmware server 2.02。 主机也是windows server 2003 r2 standard。 我安装了vmware tools并设置为同步时间。 我做了我在各种网站上find的一切想象。 我们仍然有可怕的漂移,虽然它已经从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或某些英特尔多核处理器中启用amd cool'n'quiet技术(amd双核)时,会出现此问题。 当不同核之间的时间不同步时,多核或多处理器系统可能会遇到时间戳计数器(tsc)漂移。 使用tsc作为计时资源的操作系统可能会遇到问题。 如果系统中有其他可用作计时源的定时器,则较新的操作系统通常默认不使用tsc。 其他可用的定时器包括pm_timer和高精度事件定时器(hpet)。 解决scheme:要解决此问题,请与硬件供应商联系,查看是否有新的驱动程序/固件更新可用于解决问题。
注意驱动程序安装可能会在boot.ini文件中添加/ usepmtimer开关。
一旦这个(/使用pmtimer开关)完成,时钟就准时死了。
这个文档为我解决了这个问题。
cpu速度因节电而异。 我最初注意到这一点,因为vmware给了我一个有用的提示,我的笔记本电脑,但这个网页提到了同样的事情:
引用自: vmware提示和技巧节能(speedstep,c状态,p状态…)
您的省电设置可能会严重干扰vmware的性能。 有几个级别的节电。
cpu频率
这不应该导致性能下降,除非以较低的频率运行cpu(手动通过诸如“ondemand”或“conservative”之类的pipe理器),性能明显降低。 在运行vmware的过程中改变cpu速度的唯一问题是windows时钟将会损失时间。 为了防止出现这种情况,请在/ etc / vmware / config中以千赫为单位指定完整的cpu速度
host.cpukhz = 2167000
vmware经历了很多时钟漂移。 这个谷歌search “vmware时钟漂移”链接到几篇文章。
第一击可能对你最有用: http : //www.fjc.net/linux/linux-and-vmware-related-issues/linux-2-6-kernels-and-vmware-clock-drift-issues
在windows客户机上安装vmware tools时,默认情况下,“时间同步”未启用。 但是,“最佳做法”是在windows来宾上启用时间同步。
有几种方法可以从虚拟机外部执行此操作,但是我想要在安装工具之后或之后find从guest虚拟机内部启用时间同步的方法。
令人惊讶的是,这并不像我预期的那么简单。 (我认为可以在安装工具时将其设置为参数/configuration选项)
经过一番search之后,我find了一个vmware的文章“使用vmware tools命令行界面”的方法。
因此,如果时间同步被禁用,您可以通过在guest虚拟机中运行以下命令行来启用它:
vmwareservice.exe –cmd “vmx.set_option synctime 0 1″
补充笔记
对于一些(恕我直言)愚蠢的原因,这个工具要求你指定当前以及新的价值
0 =禁用1 =启用
所以 – 如果你在已经设置好的机器上运行这个命令,你会得到一个错误 – “无效的旧值”。 显然你可以在运行时“忽略”这个错误(所以不是一个大问题),但目前的devise似乎有点愚蠢。 恕我直言,这将是多明智的,如果你可以简单地指定你想要设置的值,而不需要指定当前值。
即vmwareservice.exe -cmd“vmx.set_option synctime <0 | 1>”
我将以下作业添加到crontab。 这是hacky,但我认为应该工作。
* / 5 * * * * service ntpd stop && ntpdate pool.ntp.org && service ntpd start
它停止从服务的ntpd服务更新,并再次启动ntpd
在active directory环境中,了解以下内容非常重要:
-
所有成员机器都与任何域控制器同步。
-
在域中,所有域控制器都从该域的pdc模拟器(pdce)进行同步。
-
域的pdc模拟器应该与本地或ntp同步。
在vmware中设置时间或configuration时间同步时考虑这一点很重要。