我注意到我们的 VMWare 虚拟机上的时间通常不正确。无论我重置了多少次他们继续不同步的时间。
有没有其他人注意到这一点?其他人如何使他们的 VM 时间保持同步?
编辑:这些是 CLI linux VMs btw ..
我注意到我们的 VMWare 虚拟机上的时间通常不正确。无论我重置了多少次他们继续不同步的时间。
有没有其他人注意到这一点?其他人如何使他们的 VM 时间保持同步?
编辑:这些是 CLI linux VMs btw ..
如果您的主机时间正确,您可以设置以下 .vmx 配置文件选项来启用定期同步:
tools.syncTime = true
默认情况下,这会每分钟同步一次时间。要更改周期性速率,请将以下选项设置为所需的同步时间(以秒为单位):
tools.syncTime.period = 60
为此,您需要在来宾操作系统中安装 VMWare 工具。
根据 VMware 的知识库,实际解决方案取决于 Linux 发行版和发行版,在 RHEL 5.3 中,我通常编辑 /etc/grub.conf 并将此参数附加到内核条目:divider=10 clocksource=acpi_pm
然后启用 NTP,从 vmware-toolbox 禁用 VMware 时间同步,最后重新启动 VM
可以在此处找到包含每个 Linux 发行版指南的完整表格:
为 LINUX 来宾提供的计时最佳实践 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427
我将为 Windows 客人回答。如果您安装了 VMware Tools,则任务栏的通知区域(接近时钟)会显示一个 VMware Tools 图标。双击它并设置您的选项。
如果您没有安装 VMware Tools,您仍然可以将时钟选项设置为 Internet 时间以与某些 NTP 服务器同步。如果您的物理机器为您的来宾机器提供 NTP 协议,那么您可以通过仅主机网络来完成。否则,您将不得不让您的客人与 Internet 上的正版 NTP 服务器同步,例如 time.windows.com。
这里有一点需要注意。我们在 ESXi 主机上运行的 Windows VM 遇到了同样的问题。在客户机上的 VMWare 工具中打开了时间同步,但客户机时钟始终与主机时钟保持关闭(大约 30 秒)。ESXi 主机配置为从内部时间服务器获取时间更新。
事实证明,我们在 Windows VM 中打开了 Internet 时间设置(控制面板 > 日期和时间 > Internet 时间选项卡),因此来宾从两个地方获取时间更新,并且 Internet 时间获胜。我们关闭了它,现在来宾时钟很好,完全从 ESXi 主机获取时间。
在我的例子中,我们在 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 开关)完成,时钟就准时死了。
该文档为我解决了这个问题。
CPU 速度因省电而异。我最初注意到这一点是因为 VMware 在我的笔记本电脑上给了我一个有用的提示,但是这个页面提到了同样的事情:
引用自:VMWare 提示和技巧 省电(SpeedStep、C-states、P-States、...)
您的省电设置可能会严重影响 vmware 的性能。有几个级别的省电。
CPU频率
这不应该导致性能下降,除了以较低频率运行 CPU 时性能明显降低(手动或通过“ondemand”或“conservative”等调控器)。在 vmware 运行时改变 CPU 速度的唯一问题是 Windows 时钟会失去时间。为防止这种情况,请在 /etc/vmware/config 中以 kHz 为单位指定您的完整 CPU 速度
主机.cpukHz = 2167000
VMware 经历了很多时钟漂移。这个Google 搜索“vmware 时钟漂移”链接到几篇文章。
第一次点击可能对您最有用:http ://www.fjc.net/linux/linux-and-vmware-related-issues/linux-2-6-kernels-and-vmware-clock-drift-issues
在 Windows 客户机上安装 VMware Tools 时,默认情况下不启用“时间同步”。但是——“最佳实践”是在 Windows 客户机上启用时间同步。
有几种方法可以从 VM 外部执行此操作,但我想找到一种方法来在安装工具时或之后从客户机本身启用时间同步。
令人惊讶的是,这并不像我预期的那么简单。(我认为在工具安装期间将其设置为参数/配置选项是可能的)
经过一番搜索,我在一篇名为“使用 VMware Tools 命令行界面”的 VMware 文章中找到了一种方法。
因此,如果时间同步被禁用,您可以通过在来宾中运行以下命令行来启用它:
VMwareService.exe –cmd “vmx.set_option synctime 0 1″
补充笔记
由于某些(恕我直言愚蠢的)原因,此实用程序要求您指定当前值和新值
0 = 禁用 1 = 启用
所以——如果你在已经设置了这个的机器上运行这个命令,你会得到一个错误消息——“无效的旧值”。显然你可以在运行时“忽略”这个错误(所以不是什么大问题),但目前的设计似乎有点愚蠢。恕我直言,如果您可以简单地指定要设置的值而不需要指定当前值,那将更加明智。
即VMwareService.exe –cmd “vmx.set_option synctime <0|1>”</p>
在 Active Directory 环境中,了解以下内容很重要:
所有成员计算机与任何域控制器同步。
在域中,所有域控制器都从该域的 PDC 仿真器 (PDCe) 同步。
域的 PDC 模拟器应与本地或 NTP 同步。
在 vmware 中设置时间或配置时间同步时,请务必考虑这一点。
摘自:http ://www.sysadmit.com/2016/12/vmware-esxi-configurar-hora.html
我将以下作业添加到 crontab。这很hacky,但我认为应该可以。
*/5 * * * * service ntpd stop && ntpdate pool.ntp.org && service ntpd start
它停止来自服务的 ntpd 服务更新并再次启动 ntpd