在 Centos 5 VM 上获取与 NTP 同步的时间

在 Centos 5 VM 上获取与 NTP 同步的时间

我的 Centos 5 VM 正在漂移时间。

我搜索了不同的答案来解决这个问题。

我查看了 VMWare 的提示,并tinker panic 0在我的 ntp.conf 文件中进行了添加。我还将内核参数更改为:

kernel /vmlinuz-2.6.18-194.32.1.el5 ro root=/dev/VolGroup00/LogVol00 notsc divider=10 clocksource=acpi_pm

它工作了一段时间,然后我最近重新启动了我的机器,它又恢复了原来的状态。虽然我遵循了与上次相同的步骤,但我不确定如何让它再次工作。

有任何想法吗?

以下是我的 ntpq -pn 的样子:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 122.226.192.4   204.152.184.72   2 u   32   64  377   68.894  38873.7 5711.48
 116.193.170.16  192.93.2.20      2 u   35   64  177  135.991  45598.7 10745.4
 116.193.83.174  192.43.244.18    2 u   38   64  377   76.782  43291.2 8170.13
 61.153.197.226  209.81.9.7       2 u   32   64  377   83.523  34288.8 6679.24

答案1

我觉得自己是个十足的白痴。刚刚意识到我在 grub 上加载了错误的默认内核,并且 grub 选项中的一个值拼写错误。我现在已经修复了它,它正在运行……

对于那些好奇的人,我拼写错误:

clocksource=acpi_pm

作为

clocksource=acpi_p

学过的知识。

答案2

这是 x86 还是 x86_64 内核?我看你已经看过 VMWare 文档了 - 你是否尝试过设置“clock=pit”?

虽然已经有一段时间了,但使用 AMD CPU 时我曾见过这种特定行为(具体来说,大约 6-8 年前我在 AthlonXP 和 Athlon64 CPU 上见过这种行为),并且只能通过完全禁用影响主机系统上 TSC 的任何 CPU 电源管理(这将是任何改变 CPU 时钟频率的东西),并强制我的 Linux 客户机以“clock=pit”运行来修复它。据我所知,英特尔芯片从未受到影响 - 我猜他们的 TSC 实现更好。

答案3

你看过 VMWare 的Linux 客户机的计时最佳实践

尝试

分频器=10 时钟源=acpi_pm

或者

除数=10

在你的引导加载程序配置中。


您还想尝试:

vmware-guestd --cmd “vmx.set_option synctime 1 0”

以停止 VMWare 客户工具和 NTPd 之间的争用。

答案4

您的 ntpq 输出缺少上游主机左侧的任何符号,以表明您的 ntp 服务器对它们的看法。

通常,其中一个旁边会有一个 *,其他旁边会有一个 + 或 -。* 是当前选择的时间源,+ 是候选,- 已从候选中排除。还有其他符号,但很少见到。

缺少符号表明您的 ntp 服务器没有尝试从任何其他服务器设置自己的时间,这可能是由于权限问题。

检查您的配置中的任何“限制”行或随意将其添加到您的问题中。

相关内容