我有几个 Linux 设备(没有 TOY 芯片,因此它们完全依赖 ntp),它们可以在没有互联网访问的情况下启动(与交换机的链接已打开)。服务ntp
将启动,但显然不会联系任何对等点。然后我得到一个ntp
正在运行但未与任何对等点同步的服务(ntpq -p
给出 .INIT.
状态)
问题是,当建立互联网连接时,这种情况确实会发生变化。
如果启动时连接可用,则一切正常。如果我手动发出service ntp restart
(ntp
连接到对等点并且时间正确同步),情况也是如此。
ntp 不应该定期尝试重新连接吗?
- 如果是:这是我需要配置的东西吗(我在配置中没有看到任何内容)
- 如果不是:处理服务重启或服务启动延迟的好方法是什么(我可以假设互联网连接将恢复n分钟后启动)
注意:它看起来像来自文档最大池时间(我理解为 ntp 在放弃之前尝试连接对等点的最大时间?)为 1024 秒 = 17 分钟,这远远超过建立互联网访问所需的时间(最坏情况约为 2 到 5 分钟)
答案1
你可能被 ntpd 的一个极端情况所困扰:
据我所知,ntpd 版本 < 4.2.4p3 会从其同步列表中删除某些时候无法访问的服务器。当然,在这种情况下,这非常糟糕,因为 ntpd 很可能在获得互联网连接之前“耗尽”其对等服务器列表。
人们可以设置dynamic
这些服务器的选项来ntp.conf
解决此问题。
对于较新的版本,这应该不再是必要的(此外,动态选项在某些时候被淘汰,这导致一些人对 ntp 突然抱怨感到不满)。
因此,您可以升级您的 ntpd,或者设置选项。
作为第三个选项,你可以在 init 系统中创建适当的依赖关系;使 ntpd 依赖于已建立的互联网联系 (不是只是网络)。 这样一来,您也可以在其他服务中重复使用它。
答案2
如果出现界面,Debian OpenNTPD 打包会自动重新启动。这是很常见的。
还,你通常需要在启动 xntpd 之前进行一次性同步无论如何,我建议这是可行的方法。