ntpdとsystemd-timesyncd - 安定したNTP同期を達成するには?

ntpdとsystemd-timesyncd - 安定したNTP同期を達成するには?

NTPデーモンの状態を照会すると、ntpdc -c sysinfo次の出力が表示されます。

system peer:          0.0.0.0
system peer mode:     unspec
leap indicator:       11
stratum:              16
precision:            -20
root distance:        0.00000 s
root dispersion:      12.77106 s
reference ID:         [73.78.73.84]
reference time:       00000000.00000000  Thu, Feb  7 2036  7:28:16.000
system flags:         auth monitor ntp kernel stats
jitter:               0.000000 s
stability:            0.000 ppm
broadcastdelay:       0.000000 s
authdelay:            0.000000 s

これは、NTP 同期が失敗したことを示します。ただし、システム時間の精度は1秒以内です。今と同じ時間にネットワーク接続なしでシステムを実行すると、システム時間が約10秒ほど差があります。

この動作は、システムに時間を同期させる別の方法があることを示します。私もsystemd-timesyncd.service(設定ファイルがあります/etc/systemd/timesyncd.conf)あることに気づき、timedatectl status正確な時間を教えてくれました。

      Local time: Thu 2016-08-25 10:55:23 CEST
  Universal time: Thu 2016-08-25 08:55:23 UTC
        RTC time: Thu 2016-08-25 08:55:22
       Time zone: Europe/Berlin (CEST, +0200)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2016-03-27 01:59:59 CET
                  Sun 2016-03-27 03:00:00 CEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2016-10-30 02:59:59 CEST
                  Sun 2016-10-30 02:00:00 CET

それで、私の質問はこれら2つのメカニズムの違いは何ですか?そのうちの1つはもう使用されていませんか?並列に使用できますか? NTP同期状態を照会するには、どちらを信頼する必要がありますか?

(私は別のシステム(別のネットワークにあります)を持っており、どちらの方法も成功を示し、正確な時間を生成します。)

ベストアンサー1

systemd-timesyncd は、基本的に最新の systemd バージョンとある程度バンドルされている小規模クライアント専用の NTP 実装です。完全なntpdよりも軽いですが、時間同期のみをサポートします。つまり、他のコンピュータに対してNTPサーバーとして機能することはできません。クライアント側でntpdを置き換えるためのものです。

理論的には、2つの間にわずかな遅延がある異なるタイムサーバーを選択できるため、2つを同時に使用しないでください。これにより、システムクロックが定期的に「ジャンプ」します。

ntpdc残念ながら、状態を取得するにはntpdを使用している場合はtimedatectltimesyncdを使用する必要があります。

おすすめ記事