我想同步 10 台 Ubuntu 16.04 服务器上的时钟,但这些服务器都没有互联网访问。根据我的互联网搜索,ntp 似乎不是为此设计的。最简单的方法是什么?
答案1
有无线电时钟接收器和 GPS 设备使用串行连接连接到 PC。然后您可以使用它们进行时间同步。以下是其中的一个示例:http://www.rjsystems.nl/en/2100-ntpd-garmin-gps-18-lvc-gpsd.php
答案2
我建议实施一个 ntp 服务器并选出其中一台机器作为其他九个客户端的主服务器。
为了这个目的,慢性的是一个非常优秀且轻量级的 NTP 服务器,具有大量选项,尤其是适合您使用的选项:手动输入服务器上的时间(查看文档中的manual
; settime
; )。smoothtime
手册的安装步骤取自这里:
在每台机器上安装 chrony
sudo apt install chrony
选择您设置为 NTP 的主主机服务器。
在服务器,编辑 /etc/chrony.conf 并确保它包含以下行:
driftfile /var/lib/chrony/drift local stratum 8 manual allow 192.168.165
字段中的地址
allow
是允许客户端连接的网络或子网地址。在客户:编辑 /etc/chrony.conf 并确保它包含以下行:
server master iburst driftfile /var/lib/chrony/drift logdir /var/log/chrony log measurements statistics tracking
在每个主机上启动并启用 chronyd:
systemctl start chronyd systemctl enable chronyd
答案3
尽管可能会重复右侧相关文章列表中的 5 个几乎相同的问题,但您的互联网研究 100% 正确:NTP 不是为此设计的(因为计算机时钟不是这样工作的)。使用 0 层时钟(可能是 GPS 接收器,根据 @Bert 的回答)否则会出错。
如果您决定选择糟糕的时间路线,您可以使用本地时钟驱动程序(已弃用)并将层数调整到较低水平,如下所示:
server 127.127.1.1
fudge 127.127.1.1 stratum 1