VMware:如何在挂起后保留客户机中的时间

VMware:如何在挂起后保留客户机中的时间

我安装了 Gentoo 作为客户操作系统。我的硬件时钟与主机系统同步,但操作系统的时钟在挂起后往往会出错。

我发现的唯一解决方案是hwclock -s通过 cron 频繁运行。

还有更好的方法吗?

答案1

VMware 工具可能会帮你做到这一点,但 Gentoo 不支持宾客兼容性列表所以它可能不起作用,或者可能需要付出很多努力才能起作用。

您可以使用 ntp 来保持时钟最新,或者安排 ntpdate 运行。我不确定这些方法是否比 hwclock -s 更好。

您可能想要避免的一件事是简单地改变时钟时间的方法 - 这将导致跳过 cron 作业。ntp 加快时钟以获取正确的时间。ntpdate 更改时钟时间。

答案2

$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
kvm-clock tsc hpet acpi_pm 

$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

不能依赖 TSChttp://en.wikipedia.org/wiki/Time_Stamp_Counter

尝试 hpet 或 acpi_pm

加上内核命令行选项clocksource=hpet(在引导加载程序配置中设置)。

请参阅 Linux 源代码中的 Documentation/kernel-parameters.txt。

答案3

我在另一台 Macbook 上的 VMware Fusion 3.1.3 上构建了一个新的 Gentoo VM 客户机,并安装了 portage 中的 open-vm-tools。我必须取消屏蔽两个包,但它们构建成功。

/usr/bin/vmtoolsd 进程使客户机时钟与主机时钟保持同步。它还执行其他一些日常工作。诚然,它可能需要一小段时间才能使时钟同步,但它为我做到了。

为了获得加速 I/O 等,您还需要激活这些内核选项:

  • VMWARE_PVSCSI
  • VMXNET3
  • VMWARE_气球

它们不需要“工具”包,因为上游内核现在默认包含这些驱动程序。 open-vm-tools-kmod 包包含额外的驱动程序模块。我的配置文件可见于此要点:

https://gist.github.com/1209749

我实际上并没有阅读这个 wiki 条目,我只是自己安装了软件包并配置了启动脚本和内核选项,但它可能会有用:

http://www.gentoo-wiki.info/HOWTO_Install_VMware_Tools_in_Gentoo

答案4

尽管这个问题已经很老了,但这里还有另一个更好的解决方案:

  1. 出现 app-emulation/open-vm-tools
  2. 确保“/usr/bin/vmtoolsd”以 root 身份运行(目前没有提供初始化脚本)
  3. 通过“vmware-toolbox-cmd timesync enable”启用自动时间同步。可以通过“vmware-toolbox-cmd timesync status”检查状态

这样,即使虚拟机已暂停,客户机的时钟也将始终与主机的时钟匹配。其他方法(如运行 ntpd 或 ntpdate)对我来说都失败了。而且,是的,时钟会跳转,cron 作业可能会被跳过 ;)

相关内容