我在 VirtualBox 3.04 中运行的 Ubuntu 8.04 服务器(2.6.24-24-通用内核)中快速运行时钟时遇到问题。
它漂移得很快,大约每小时 5 分钟。
我认为它工作正常,直到我升级到 VirtualBox 3.04(从 2.something)。我正在运行,ntpd
我唯一要做的就是/etc/init.d/ntp stop
,当虚拟机暂停/恢复时。ntpdate ...
/etc/init.d/ntp start
今天,我尝试安装 VirtualBox Guest Additions,它们正在运行(根据/etc/init.d/vboxadd status
.)
运行vboxadd-service --foreground --verbose
结果:
vboxadd-service: Starting 'timesync' in the main thread
vboxadd-service: adjtime by -380331911000 ns
vboxadd-service: adjtime by -381107064000 ns
vboxadd-service: adjtime by -381883899000 ns
看起来它正在尝试更新时间,但失败了。
所以,我不确定该怎么做,我无法就是否ntpd
应该运行达成任何共识?如果没有,我如何阻止它在重新启动时再次启动?
这是 VirtualBox 中的一个已知问题,已通过在虚拟机上安装 Guest Additions 来管理 TimeSync 来解决。不久前他们也是 VMWare 的一个类似问题。这只是 VirtualBox 被报道的次数之一。
确保您正在运行最新的来宾添加,并且它是您的 VirtualBox 版本提供的最新版本。
我不明白为什么你不能在系统上运行 ntpd,或者 cronjob 一个 ntpdate 每隔两三分钟运行一次。我记得时钟漂移有时在许多 VM 产品中是一个问题,解决方案始终是确保添加/实用程序和 VM 产品处于同一水平。
您还可以查看使用更新版本的 Ubuntu 安装新 VM 是否会影响时钟漂移,或者您的系统上的超线程或 BIOS 中启用的其他处理器扩展是否存在一些奇怪的问题。
我个人的方法是定期查看从 cron 运行时间同步,因为 NTP 有时会在不告诉我的情况下失败或随机运行,这在时钟没有像疯子一样倾斜但在这种情况下会很棒......强制它持续运行可能更方便。除了咀嚼一些额外的处理器周期外,不会伤害任何东西。
我不了解 Ubuntu 和 Virtualbox,但根据我对 RedHat 和 VMware 的了解,您可以尝试将“clock=pit”附加到您的内核启动选项中。