NTP“到达”重置、远程 ntp 服务器错误重新标识以及高抖动

NTP“到达”重置、远程 ntp 服务器错误重新标识以及高抖动

我有一台远程无人服务器,最近出现了一些非常奇怪的时钟/NTP 行为。症状:

  • 非常高的抖动
  • ntpq -pn 返回:
    • 尽管 NTP 服务器距离 CAT5e 仅 1 米,并且直接连接到相关机器,但“何时”计数仍重置为 1。没有数据包丢失或其他通信故障的迹象。
    • 通常,尽管我知道相关的 NTP 服务器在访问其第 2 层服务器时没有任何问题,但 refid 仍为“LOCAL(0)”。
admin@machine:~$ date && ntpq -pn
Thu 24 May 19:34:02 UTC 2018
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 <local_ntpserver>  LOCAL(0)        15 u  120  128  377    0.120  -486.68 909.283

 admin@machine:~$ date && ntpq -pn
Thu 24 May 19:38:37 UTC 2018
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 <local_ntpserver>  <remote_ntpserver>    3 u    1  128  377    0.123  -1854.0 2164.83

从本地 NTP 服务器(即在同一物理位置运行的机器):

      remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 <remote_ntpserver>   <remote_ntpserver2>  2 u   49   64  377  5076.18  1546.21 299.468

您可以看到,尽管跨越高延迟无线网络,但该本地 NTP 服务器仍具有良好的覆盖范围和相对较低的抖动。

我已经在主机器上将 minpoll 和 maxpoll 修改为较低的值(4、5),以便 ntp 运行得更频繁,并且这种“创可贴”解决方案似乎让主机器在某种程度上与现实联系在一起(不像以前那样每天多次偏离几分钟),但我想找到这种奇怪行为的根源。

我有一个理论,即 tsc 时钟可能会大幅漂移,但我没有证据证明这一点。不过,这可以解释高抖动,而这反过来又可能导致 NTP 中出现一些奇怪的行为。

无论如何,我不明白为什么 refid 一直恢复为“LOCAL (0)”,而事实显然并非如此。NTP 服务没有重新启动。例如:

● ntp.service - LSB: Start NTP daemon
   Loaded: loaded (/etc/init.d/ntp)
   Active: active (running) since Wed 2018-05-23 15:58:50 UTC; 1 day 3h ago

但在过去几个小时里,我观察到了大量这种恢复为“LOCAL (0)”的情况,所以它并不是从头开始,需要时间来初始化或收集正确的数据。

相关内容