systemd-timesyncd.service
時計を使用して同期する必要がある小規模なシステムネットワークがあります。正確である必要はなく、同期するだけです。マシンの1つを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).
どうすれば解決できますか?
答え1
犯人は「ルート通り」のようです。これは、各クライアントからローカルNTPサーバー(別のNTPサーバーを介して)を介して、GNSSリスナーまたはアトミッククロック付きの「階層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 |
+-----------------------+ +-----------------------+
Tier 1サーバーとのソートはTier 3サーバーとのソートよりも重要ではないため、RootDistanceMaxSec=
各クライアントをより快適な値に増やすことができます。 30秒で効果があるかもしれません。デフォルトは5秒なので、おそらくこの数字に非常に近づくでしょう。編集する/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
これにより、クライアントがTier 1サーバーから離れていてもNTPサーバーとして承認されます。