我有一台服务器,很多时候 chronyd 无法同步系统时钟,导致出现这样的情况:
Reference ID : 0A263C14 (10.38.60.20)
Stratum : 4
Ref time (UTC) : Tue Jun 04 12:20:09 2019
System time : 4576.955566406 seconds fast of NTP time
Last offset : +0.000107134 seconds
RMS offset : 1.026136756 seconds
Frequency : 80.575 ppm slow
Residual freq : -0.003 ppm
Skew : 0.019 ppm
Root delay : 0.024930937 seconds
Root dispersion : 0.071089722 seconds
Update interval : 1030.2 seconds
Leap status : Normal
如果发出像 chronyc makestep 这样的命令强制同步,系统时间就会恢复正常,但一两天后我遇到了同样的问题,我注意到的唯一事情是来自 chronyc 源的“最后一个样本”非常高:
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 10.37.23.20 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 10.13.186.21 0 6 0 - +0ns[ +0ns] +/- 0ns
^* 10.38.60.20 3 10 377 222 -4128us[-3993us] +/- 105ms
^? 10.15.214.60 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 10.29.147.252 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 10.25.100.172 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 10.32.117.205 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 10.32.62.252 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 10.38.156.92 0 6 0 - +0ns[ +0ns] +/- 0ns
^+ 10.25.144.92 4 10 377 242 -4371us[-4235us] +/- 121ms
^+ 10.38.27.76 4 10 265 568 -4863us[-4724us] +/-
有什么线索可以解释吗?该服务器是一台 vmware 虚拟机。
谢谢,托马索。
答案1
在 makestep 之前,您与 10.38.60.20 的偏移量为 +4576 秒。之后,您为 -0.003993 秒。微秒单位很重要,这是 6 位小数的差异。
最后一列的估计误差为 +/- 0.105 秒。这已经超出了我对 LAN 的预期,因为在通往地球另一端的许多路径上,延迟时间仅为 0.200 秒左右。
通过使更多低延迟 NTP 服务器可访问来改进这一点;不应访问任何服务器。确认每个服务器都是 NTP 服务器。删除任何不必要地阻止您访问 NTP 服务器的防火墙规则。
关于虚拟机管理程序,请确保主机时钟与其他所有时钟同步到相同的 NTP 服务。