我有一个小网络的机器使用systemd-timesyncd.service,需要他们的时钟是同步的。他们不需要是正确的,只是同步。我已经指定其中一台机器为NTP服务器,其余的机器都指向这一台,但是它们需要几个小时来同步,当它们同步时,这是非常不一致的:
Jun 22 18:09:16 host systemd-timesyncd[10515]: Initial synchronization to time server 10.10.1.30:123 (10.10.1.30).
Jun 22 18:25:50 host systemd-timesyncd[10515]: Server has too large root distance. Disconnecting.
Jun 22 18:34:22 host systemd-timesyncd[10515]: Server has too large root distance. Disconnecting.
Jun 22 18:51:26 host systemd-timesyncd[10515]: Server has too large root distance. Disconnecting.
Jun 22 19:25:34 host systemd-timesyncd[10515]: Server has too large root distance. Disconnecting.
Jun 22 19:59:43 host systemd-timesyncd[10515]: Server has too large root distance. Disconnecting.
Jun 22 20:33:51 host systemd-timesyncd[10515]: Initial synchronization to time server 10.10.1.30:123 (10.10.1.30).
Jun 22 21:07:59 host systemd-timesyncd[10515]: Server has too large root distance. Disconnecting.
Jun 22 21:42:07 host systemd-timesyncd[10515]: Server has too large root distance. Disconnecting.
Jun 22 22:16:16 host systemd-timesyncd[10515]: Initial synchronization to time server 10.10.1.30:123 (10.10.1.30).我该怎么解决这个问题?
发布于 2021-06-23 14:39:02
罪魁祸首似乎是“根距离”。这是整个路由从每个客户端通过本地NTP服务器(尽管是任何其他NTP服务器)引入到具有GNSS接收方或原子钟的“local 1”服务器的延迟。
+---------------------+ +---------------------+
+---------+ | Stratum 1 server | 20ms delay | Stratum 2 server |
|GNSS rcvr|---| Root distance: 0ms +--------------+ Root distance: 20ms |
+---------+ | nasa.gov | | 0.pool.ntp.org |
+---------------------+ +----------+----------+
|
| 5040ms delay
|
==LAN=FIREWALL==+================
|
+-----------------------+ +-----------+-----------+
| Clients | 1ms delay | Stratum 3 server |
| Root distance: 5061ms +--------------+ Root distance: 5060ms |
| 10.10.1.0/24 | | 10.10.1.30 |
+-----------------------+ +-----------------------+由于与分层1服务器的对齐不太重要,所以您可以将每个客户端上的RootDistanceMaxSec=增加到一个更舒适的值。30秒就可以了。缺省值是5s,所以您可能非常接近这个数字。编辑/etc/systemd/timesyncd.conf:
# See timesyncd.conf(5) for details.
[Time]
NTP=10.10.1.30
#FallbackNTP=
RootDistanceMaxSec=30
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048这将导致客户端接受10.10.1.30作为NTP服务器,即使它可能远离等级1服务器。
https://unix.stackexchange.com/questions/655488
复制相似问题