21

我的虚拟机的时钟漂移非常明显。那里有关于处理这个问题的文档,但似乎没有什么工作得很好。

任何人都有任何建议,对他们有用的东西,...

据说通过 ntp 定期更新不是一个好的解决方案。

4

11 回答 11

17
  1. 在听取任何人的意见之前,请仔细阅读 vmware 文档。我们正在运行 ESX5。

Linux 客人的计时最佳实践除其他外说:参考: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId= 1006427

NTP 建议 注意:VMware 建议您使用 NTP 而不是 VMware Tools 定期时间同步。NTP 是行业标准,可确保您的客人保持准确的时间。您可能必须打开防火墙 (UDP 123) 以允许 NTP 流量。

这是一个示例 /etc/ntp.conf:

tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.vmware.pool.ntp.org
server 1.vmware.pool.ntp.org
server 2.vmware.pool.ntp.org
driftfile /var/lib/ntp/drift

这是一个示例(特定于 RedHat)/etc/ntp/step-tickers:

0.vmware.pool.ntp.org
1.vmware.pool.ntp.org

配置指令 tinker panic 0 指示 NTP 在看到时间大幅跳跃时不要放弃。这对于应对较大的时间漂移​​以及从暂停状态恢复虚拟机非常重要。

注意:指令 tinker panic 0 必须位于 ntp.conf 文件的顶部。

不使用本地时钟作为时间源也很重要,通常称为无纪律本地时钟。当存在大量时间漂移时,NTP 倾向于回退到远程服务器而不是远程服务器。

这种配置的一个例子是:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

注释掉这两行。

更改 NTP 配置后,必须重新启动 NTP 守护程序。请参阅您的操作系统供应商的文档。

于 2013-03-07T06:34:37.653 回答
11

vmware在这个问题上有一个非常好的 PDF 文档。

基本上,主人会尽其所能地处理交付给客人的蜱虫。 不要像那样运行 NTP 或定时或垃圾。只需安装 vmware-guestd 并让主机完成您的任务。如果您仍然丢失滴答声,那么任何其他解决方案也会有很大的漂移。

如果可以,请使用具有低频率滴答率的客户操作系统。较新版本的 Linux 带有 1000Hz 的滴答声,但它曾经只有 100Hz。这对主机来说似乎更容易交付。通常需要重新构建内核来更改 HZ 值。

于 2008-09-22T22:33:03.860 回答
8

只是添加一些关于为什么 NTPD 不是一个好的解决方案的数据。NTPD 是一个试图补偿本地时钟漂移的守护进程;如果“内部时钟”在一天内漂移了 X 秒,那么与其像“ntpdate”中的强制命令一样向前/向后跳跃,NTPD 会尝试向时钟添加/删除一些周期,以便及时,通常在 15 分钟内,时钟运行得足够准确,并且补偿克服了服务器在一天内获得/损失的 X 秒数。这样做的好处是您不会看到一天中的任何时间重复,这对于事务系统来说是必须的。

但为了能够做到这一点,NTPD 要求本地时钟做得相当好,这通常意味着本地时钟每天漂移不会超过 42 秒(或多或少;我不确定确切的数字)。这通常是虚拟机中的问题,因为时钟是软件控制的,所以如果主机过载过多,您会看到客户端的时钟会运行得更慢,如果没有,那么时钟也会运行快速地。NTPD 的问题是本地时钟不可靠,并且没有恒定的时间漂移​​;它可能或多或少取决于主机系统的过载。

所以在这种情况下,最好按照建议安装客户端工具,并将 CLIENT 时钟与 HOST 的时钟(通常称为“挂钟”)同步

于 2009-06-17T14:51:08.530 回答
1

没有明确的答案,因为存在多种方法,每种方法都有其优点和缺点。选择哪一个取决于您的任务、服务器负载、操作系统等。

阅读vmware_timekeeping.pdf以彻底了解该问题。

Linux 的快速食谱可以在单独的知识库文章中找到

于 2008-10-22T12:52:55.033 回答
1

此问题的最佳解决方案是(如果本地连接)安装本地 NTP 服务器并将“服务 ntp 重新启动”置于无限循环中,睡眠时间约为 30 秒。通过在“/etc/init.d/rc.local”文件中编写代码。重新启动系统和时间将与服务器计算机同步。

于 2021-02-11T13:39:14.297 回答
0

安装虚拟机添加(工具)不会同步来宾和主机操作系统之间的时钟吗?

于 2008-09-22T20:35:33.890 回答
0

据说通过 ntp 定期更新不是一个好的解决方案

不过,这是我推荐的解决方案。为什么它在您的位置不被认为是好的?

于 2008-09-22T20:39:44.443 回答
0

如果您还没有 NTP,请安装它。

ntpdate 将正确设置时钟,然后 ntpd 可以保持时钟准确。

NTP 池项目提供了大量可供选择的 NTP 服务器。

编辑刚刚注意到您说您认为 NTP 不是一个好的解决方案 - 为什么?如果您担心时钟变化的影响,NTP 是理想的选择,因为 ntpd 不会向前或向后跳时钟,而是通过稍微加快/减慢时钟的速度来“旋转”时钟,直到它重新与正确的时间。

于 2008-09-22T20:48:08.947 回答
0

我有同样的问题并通过

  1. 安装 vmware-guestd
  2. 向内核发送一个选项clocksource=acpi_pm
  3. 以 root 身份运行 hwclock -s 每小时。
于 2009-03-25T03:38:10.690 回答
0

这是一个老问题,但最近影响了我们。我发现我们的任何运行 vmware 工具的虚拟机都受到了这个问题的影响。

最近我们开始使用 open-vm-tools 并且在那些 vm 上没有设置选项。由于 Vmware 完全支持和推荐 open-vm-tools,我建议在 vmware 工具上使用它:http: //kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId= 2073803

如果 open-vm-tools 在您使用的存储库中,则通过yum installorapt-get install等​​方式安装也很简单。

于 2015-09-14T10:32:13.777 回答
-2

您可以使用 cmd 和

net time \\computer_name /set

远程设置时钟(或例如在脚本中)

于 2008-09-22T20:38:04.743 回答