我在运行在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来解决,以pipe理TimeSync。 他们同样也是VMWare的一个类似的问题。 这只是VirtualBox报道的时间之一。
确保您正在运行最新的guest虚拟机,它是您的VirtualBox版本提供的最新版本。
我不明白为什么你不能在系统上运行ntpd,或者cronjob ntpdate每两三分钟运行一次。 我记得时钟漂移是许多VM产品中的一个问题,解决scheme总是确保添加/实用程序和VM产品是同一个级别。
你也可以看到,如果安装一个带有更新版本的Ubuntu的新虚拟机,会影响时钟漂移,或者如果系统上有超线程,或者在BIOS中启用了某些其他处理器扩展。
我个人的做法是定期从cron运行一个时间同步,因为NTP有时可能会失败,不会告诉我,也不会在随机时间运行,如果时钟不像疯了一样疯狂,但是在这种情况下…强迫它一直运行可能会更方便。 除了咀嚼一些额外的处理器周期外,不会伤害任何东西。
我不知道Ubuntu和Virtualbox,但是从我所了解的RedHat和VMware的angular度来看,你可以尝试在你的内核启动选项中添加“clock = pit”。