代码之家  ›  专栏  ›  技术社区  ›  SCdF

如何保持vmware vm的时钟同步?

  •  50
  • SCdF  · 技术社区  · 17 年前

    我注意到我们的VMware虚拟机上的时间经常不正确。无论我重置了多少次,它们都会继续不同步。

    其他人注意到了吗?其他人如何保持他们的虚拟机时间同步?

    编辑: 这些是cli-linux-vms-btw.。

    11 回复  |  直到 9 年前
        1
  •  50
  •   SCdF    17 年前

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

    tools.syncTime = true
    

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

    tools.syncTime.period = 60
    

    要实现这一点,您需要在来宾操作系统中安装VMware工具。

    见 http://www.vmware.com/pdf/vmware_timekeeping.pdf 更多信息

        2
  •  8
  •   gusruiz    16 年前

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

    然后启用ntp,从vmware工具箱禁用vmware时间同步,最后重新启动vm

    在这里可以找到一个完整的表,其中包含每个Linux发行版的指南:

    Linux客户的计时最佳实践 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

        3
  •  4
  •   Windows programmer    17 年前

    我会为Windows的客人负责。如果安装了VMware工具,则任务栏的通知区域(时钟附近)有一个用于VMware工具的图标。双击并设置选项。

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

        4
  •  4
  •   TRiG    10 年前

    这里需要注意的事情。我们在ESXi主机上运行的Windows VM也存在同样的问题。在客户机上的vmware工具中打开了时间同步,但客户机时钟与主机时钟的时间一致关闭(大约30秒)。ESXi主机配置为从内部时间服务器获取时间更新。

    事实证明,我们在Windows VM(控制面板>日期和时间>Internet时间选项卡)中启用了Internet时间设置,因此客人从两个地方获得了时间更新,Internet时间获胜。我们关闭了它,现在客人的时钟很好,只从ESXi主机获得他们的时间。

        5
  •  3
  •   AdminIMGE    15 年前

    在我的例子中,我们在Windows Server 2003 R2标准版上运行VMware Server 2.02。主机也是Windows Server 2003 R2标准配置。我安装了vmware工具并设置为同步时间。我做了我在各种网站上所能想到的一切。我们仍然有可怕的漂移,虽然它已经从15分钟或更多缩小到3或4分钟的范围。

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

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

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

    一旦完成此项工作(usepmtimer开关),时钟就会准时停止。

        6
  •  3
  •   thSoft    12 年前

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

        7
  •  1
  •   Tom Leys    17 年前

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

    引用: VMWare tips and tricks 省电(速度步进、C态、P态等)

    您的节能设置可能会严重影响VMware的性能。有几个级别的节能。

    CPU频率

    这不应导致性能下降,除了在较低频率下运行CPU时性能明显较低之外(手动或通过类似“OnDemand”或“Conservative”的调节器)。在运行vmware时改变CPU速度的唯一问题是Windows时钟将失去时间。要防止出现这种情况,请在/etc/vmware/config中以kHz为单位指定您的完整CPU速度。

    主机.cpukhz=2167000

        8
  •  1
  •   warren    17 年前

    VMware经历了大量的时钟漂移。这个 Google search 有关“vmware时钟漂移”的链接,请参阅几篇文章。

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

        9
  •  1
  •   Nirav Shah    15 年前

    在Windows客户机上安装VMware工具时,默认情况下不启用“时间同步”。 然而,最佳实践是在Windows客户机上启用时间同步。

    有几种方法可以从虚拟机外部完成这项工作,但我想找到一种方法,可以在安装工具时或之后从客户机内部实现时间同步。

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

    经过一番搜索,我在一篇名为_156;的VMware文章中找到了一种方法,该文章使用了VMware工具命令行界面_156;。

    因此,如果禁用时间同步,您可以通过在来宾中运行以下命令行来启用它:

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

    附加说明

    由于某些(imho愚蠢的)原因,此实用程序要求您指定当前值和新值

    0 =禁用 1 =启用

    因此,如果在已经设置了此命令的机器上运行此命令,则会出现一个错误,显示“无效旧值”。 显然,运行时可以忽略这个错误(所以不是很大的问题),但是当前的设计看起来有点愚蠢。 imho如果您可以简单地指定要设置的值,而不需要指定当前值,那么这将更加明智。

    即 vmwareservice.exe_“cmd_156;vmx.set_选项同步时间<0_1>__

        10
  •  0
  •   Francesc Layret    9 年前

    在Active Directory环境中,必须知道:

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

    • 在域中,所有域控制器都从该域的pdc仿真器(pdc)同步。

    • 域的pdc仿真器应与本地或ntp同步。

    在VMware中设置时间或配置时间同步时,必须考虑到这一点。

    从中提取: http://www.sysadmit.com/2016/12/vmware-esxi-configurar-hora.html

        11
  •  -1
  •   dksh    12 年前

    我将以下作业添加到crontab。这是黑客行为,但我认为应该奏效。

    */5***service ntpd stop&ntpdate pool.ntp.org&service ntpd start服务ntpd启动

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