因此,我尝试调试当前的NTP设置,发现他与我配置的单个服务器的偏移量超过3秒,并且没有进行调整。ntpq输出中LOCAL(0)上的星号似乎表明系统正在与其自身而不是10.130.33.201服务器(这是我们系统上的另一个Linux盒子,我们希望所有内容都同步到)上进行同步。
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
10.130.33.201 LOCAL(0) 9 u 49 64 377 0.242 -3742.2 1.049
*LOCAL(0) .LOCL. 10 l 2 64 377 0.000 0.000 0.001
这是我的ntp.conf文件。由其他人撰写,因此我不确定100%一切正确。
server 10.130.33.201 burst iburst minpoll 4 maxpoll 11
driftfile /mnt/active/etc/ntp.drift
restrict -4 default nomodify nopeer notrap
restrict -6 default ignore
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
我已经读过有关Burst和iburst和minpoll / maxpoll的文章,所以我意识到可能不需要这些,但是我认为这与我当前的问题无关。
另外,由于它的部署方式,该配置文件将需要大量工作来更改,因此我希望没有什么必须更改。我希望这是我不了解NTP如何工作的一种情况。
编辑-
因此,看起来这是This Question的重复,但是我觉得发帖人没有得到足够的答案,所以我仍然想知道为什么本地时间优先于服务器时间。另外,按照下面的答案之一,我尝试prefer
在配置的服务器行上使用关键字并重新启动,但这似乎没有效果。
如果我确实删除了配置中的所有“本地”行,如对另一个问题的回答所暗示,那么如果服务器不可达,将会发生什么?NTP会死还是继续尝试?
重要编辑-
好的,通常,10.130.33.201(“服务器”)无法访问互联网,也没有GPS时间源可供使用。重要的是,系统上的所有设备都与服务器具有相同的时间,而不管该时间实际有多正确。
因此,为了看看会发生什么,我将一台NTP池服务器添加到服务器的配置文件中,这样它将从那里获取时间而不是从本地获取时间。现在,它可以正确地从NTP时间服务器获取时间。
完成之后,客户端现在与服务器同步,而不是偏爱LOCAL(0)
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.130.33.201 38.229.71.1 3 u 58 64 377 0.216 715621. 1.001
LOCAL(0) .LOCL. 10 l 18 64 377 0.000 0.000 0.001
新问题-当我的服务器使用本地(给出的原始示例)时,客户端似乎在说:“哦,10.130.33.201使用的是LOCAL(0)。嗯,我也有一个LOCAL(0)服务器- -我将直接使用它,而不是通过10.130.33.201“获取相同的信息。
是这样吗 他们是否在试图“直接到达源”(错误地为LOCAL(0))?我需要服务器从LOCAL(0)获取时间,并且我需要客户端从服务器获取时间。现在,从客户端配置文件中删除“本地”服务器是唯一的选择,但是我想了解为什么会发生这种情况,如果可能的话,请避免更改其配置(由于我们的环境...)。
另外,这看起来像是另一个没有很好答案的重复项。