kvm 客户端上的时钟同步

kvm 客户端上的时钟同步

我无法让许多 kvm 客户端上的系统时钟保持同步。我在 Google 上搜索了不少,发现了很多不同的选项,其中很多我都试过了,但都无济于事。所以我来了。

ntpd 是不可能的(主机系统运行它并且时钟总是正确的,但是如果你在客户机上运行它,时钟就会变得很不准确)。

主机是 Ubuntu 9.04,内核是 2.6.28-11-server 客户机是 Ubuntu 8.04,内核是 2.6.24-24-virtual

主机上的时钟源情况如下:

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource 
tsc hpet acpi_pm jiffies 
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource 
tsc

关于客人:

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource 
tsc pit jiffies 
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource 
pit 

我在客户机的内核启动参数中设置了“clock=pit divider=10”。它仍然会漂移。我们说的漂移不是很大,但确实有。

有什么建议吗?有人遇到过这个问题并解决过吗?

答案1

从根本上讲,时钟会有一些漂移,我认为目前能做的事情有限。你说你没有在客户机中运行 NTP,但我认为你应该这样做,只要确保你没有引用本地时钟(注释掉服务器 127.xxx)并且设置了 tinker panic 0,这样当有大的跳跃需要纠正时它就不会失灵。这基本上是 VMWare 计时论文中的指导方针,我猜也适用于 KVM 设置。

答案2

在客户机上获得精确时钟的最佳选择是使用kvm-clock源(时钟源) 与时钟主机同步。

答案3

以下是 VMware 论文《VMware 虚拟机中的计时》(2008 年)的链接:http://www.vmware.com/pdf/vmware_timekeeping.pdf

相关内容