配置NTP后时间漂移

配置NTP后时间漂移

这是一位XenServer 7.1 CU1主持人。 NTP 的行为应与任何其他Linux distro.我们配置了/etc/ntp.conf以下服务器(已尝试其他具有类似结果的服务器,并且这些服务器在另一个环境中工作:

server 0.north-america.pool.ntp.org
server 1.north-america.pool.ntp.org
server 2.north-america.pool.ntp.org
server 3.north-america.pool.ntp.org

重新启动服务后,我们检查统计信息:

[root@c0101 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*tock.usshc.com  .GPS.            1 u   56   64    1   32.936   36.036   0.000
 www.tripout.tec 128.233.154.245  2 u   56   64    1   82.397   46.653   0.000
+t2.time.bf1.yah 98.139.133.62    2 u   57   64    1   17.589   26.316   0.000
 mirrors.switch. 206.108.0.134    2 u   55   64    1   63.777   57.423   0.000

由此,我可以看到已tock.usshc.com选择(有 * 星号),轮询时间为 62 秒,这是由于源不良而最小的,偏移量很高(因为我在不同环境中的服务器上检查,它仅显示 -0.81 ),抖动为 0,这看起来很奇怪,因为在所有情况下我都看到至少一个低数字,例如,0.1延迟看起来很正常。

大约十分钟后,由于“不良来源”,没有服务器选择(没有 * 符号),而且偏移和抖动看起来也很糟糕:

[root@c0101 ~]# ntpq -c peers
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 tock.usshc.com  .GPS.            1 u   52   64  205   32.952  6021.94 4422.72
 www.tripout.tec 128.233.154.245  2 u   64   64  377   82.473  5880.01 3724.85
 t2.time.bf1.yah 98.139.133.62    2 u    3   64  377   17.812  6647.80 3704.53
 mirrors.switch. 206.108.0.134    2 u    1   64  377   63.746  6678.59 3723.43

这是 ntp 日志,我很难理解。

[root@c0101 ~]# cat /var/log/ntp.log
14 Sep 12:01:20 ntpd[3914]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
14 Sep 12:01:20 ntpd[3914]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
14 Sep 12:01:20 ntpd[3914]: Listen and drop on 1 v6wildcard :: UDP 123
14 Sep 12:01:20 ntpd[3914]: Listen normally on 2 lo 127.0.0.1 UDP 123
14 Sep 12:01:20 ntpd[3914]: Listen normally on 3 xapi1 10.131.250.22 UDP 123
14 Sep 12:01:20 ntpd[3914]: Listening on routing socket on fd #20 for interface updates
14 Sep 12:01:20 ntpd[3914]: 0.0.0.0 c016 06 restart
14 Sep 12:01:20 ntpd[3914]: 0.0.0.0 c012 02 freq_set kernel 500.000 PPM
14 Sep 12:01:21 ntpd[3914]: 0.0.0.0 c61c 0c clock_step +1014.260362 s
14 Sep 12:18:15 ntpd[3914]: 0.0.0.0 c614 04 freq_mode
14 Sep 12:18:16 ntpd[3914]: 0.0.0.0 c618 08 no_sys_peer
14 Sep 12:19:39 ntpd[3914]: ntpd exiting on signal 15
14 Sep 12:19:39 ntpd[4689]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
14 Sep 12:19:39 ntpd[4689]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
14 Sep 12:19:39 ntpd[4689]: Listen and drop on 1 v6wildcard :: UDP 123
14 Sep 12:19:39 ntpd[4689]: Listen normally on 2 lo 127.0.0.1 UDP 123
14 Sep 12:19:39 ntpd[4689]: Listen normally on 3 xapi1 10.131.250.22 UDP 123
14 Sep 12:19:39 ntpd[4689]: Listening on routing socket on fd #20 for interface updates
14 Sep 12:19:39 ntpd[4689]: 0.0.0.0 c016 06 restart
14 Sep 12:19:39 ntpd[4689]: 0.0.0.0 c012 02 freq_set kernel 500.000 PPM
14 Sep 12:19:40 ntpd[4689]: 0.0.0.0 c61c 0c clock_step +1.067923 s
14 Sep 12:19:41 ntpd[4689]: 0.0.0.0 c614 04 freq_mode
14 Sep 12:19:42 ntpd[4689]: 0.0.0.0 c618 08 no_sys_peer
14 Sep 12:22:58 ntpd[4689]: 0.0.0.0 c628 08 no_sys_peer
14 Sep 12:26:11 ntpd[4689]: 0.0.0.0 c638 08 no_sys_peer

这里有附加输出以及ntpq -c as我也试图理解的其他人。

我一直在使用此链接来排除故障: http://support.ntp.org/bin/view/Support/TroubleshootingNTP https://rags.wordpress.com/2011/10/17/how-to-debug-ntp-issues/

答案1

如果这是虚拟机,请确保:

  1. 您已tinker panic 0在 ntp.conf 中设置(笔记:这必须是conf 文件的第一行!)。如果时钟漂移太远,这将防止 ntpd 跳出。和...

  2. 确保您没有在转换模式 (ntpd -x) 下运行。转换模式将尝试进行逐步调整,而不是步进时钟。如果时钟漂移快于转换速率,这可能会成为虚拟机上的问题。

答案2

我们可以通过将时钟源更改为 xen(虚拟机管理程序)而不是 dom0(管理虚拟机)来解决此问题/opt/xensource/libexec/xen-cmdline --set-dom0 clocksource=xen

另一个更复杂的修复是调整滴答频率,请参阅这个链接

我没有太多关于原因的信息,除了 NTP 无法调整时钟,因为由于当前版本上的一些错误以及某些类型的戴尔硬件的使用,它漂移得太快。

这是在新版本中发布修复程序时。

相关内容