我在 LAN 上有 4 台计算机,如果可能的话,它们的系统时钟需要在一毫秒左右的时间内紧密同步。我刚刚在 LAN 上安装了基于 GPS 的时间服务器 (ESE-104A)。此时,局域网已连接到路由器和互联网,但路由器在运行时不会连接到互联网。
在操作中,当机器、NTP 服务器和路由器通电时,整个系统将启动。
我如何设置 Ubuntu 每隔几分钟同步一次并计算周期应该是多少?
我怎样才能知道需要多长时间才能安定下来以及计时的质量如何?
我找到了一个参考文献,大约是 2000 年左右的,它表明 hwclock 应仅在关闭时与系统时间同步。我应该这样做以及如何做?
我应该保留哪些日志文件?
这是“ntpq -
remote refid st t when poll reach delay offset jitter
*nts .M-@M-(^AM-R. 1 u 29 128 377 38.912 -7.739 7.195
这是我的 ntp.conf(我仅使用 IPv4)
driftfile /etc/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 192.168.1.210
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
答案1
ntpd
在所有机器上运行。设置服务器这样它就可以从 GPS 接收器获取时间并将其他机器指向服务器。和iburst
客户端的同步速度足以满足您的目的。
答案2
我通常会设置系统,作为其启动例程的一部分,它们最初会运行ntpdate
并从本地时间服务器引导时间,这样它们最初就不会出现严重偏差。然后使用默认选项启动 ntpd。
例如,在文件末尾/etc/rc.local
添加以下行:
/etc/init.d/ntpd stop
ntpdate <local time server>
/etc/init.d/ntpd start
它很hacky但可以完成工作。我发现此线程有关服务器故障讨论了不通过让 NTP 做一些它从未打算做的事情(主要是保持精确时间)来将 NTP 变成弗兰肯斯坦怪物的原因。
如果你真的想获得精确的时间,我认为你最好这样做:精确时间协议。有一个开源项目实现了 PTP 协议,恰当地命名为Linux PTP 项目。