我只是尝试在我的系统上设置 NTP。服务器和客户端都将在我的计算机上运行,它们通过本地链路连接在一起。其中一个将具有参考时钟。
服务器和客户端都是 Linux Ubuntu。我在两端都安装了 ntp 守护程序。在客户端中,我将服务器的 ip 地址输入到 /etc/ntp.conf。一切正常。
但是,客户端将时间设置为正确时间需要的时间太长(大约 17 分钟)。是否可以在启动时收集正确时间。我编写了一些代码,通过系统调用定期调用“ntpdate”,问题解决了,但必须有某种方法允许我将客户端的轮询时间缩短到 1-2 分钟。ntp.conf 中有一些设置,如 maxpoll - minpoll,但我无法理解它们的功能,因为使用最佳配置(minpoll 4?16 秒?)我也看不到客户端在 10 分钟之前校正其时间。
此外,在某些情况下,我的客户端是嵌入式系统(ARM - IGEP 板),它总是以不相关的日期(2-3 年前)打开。因此,校正时间所需的时间也不应该取决于时差。
答案1
networkwait=1
如果启动时的时间同步未正确完成,请尝试在 ntpconfig 中进行设置iburst
。在客户端 ntp.conf 中的服务器声明末尾添加内容也可能是一个好主意。
由于您使用的是 ubuntu,它默认为客户端附带 ntpupdate,并在启动时尝试同步,因此当请求发生时,您的客户端网络可能仍处于关闭状态。ubuntu 还通过 chron 作业每天更新时间。
https://help.ubuntu.com/10.04/serverguide/NTP.html
Minpoll 和 maxpoll 似乎与 NTP 的内部工作有很大关系,但似乎不应该在不深入了解其影响的情况下更改它们。我现在会将它们恢复为默认设置,并在进一步操作它们之前尝试上述建议一次。
祝你好运