web-dev-qa-db-ja.com

systemd timesyncdに強制的に時刻をNTPサーバーとすぐに同期させる

NTPサーバーから時間を取得するようにsystemd timesyncdを設定しました:

/etc/systemd/timesyncd.conf > NTP=ca.pool.ntp.org
systemctl restart systemd-timesyncd.service 
timedatectl set-ntp true

ステータスは次のとおりです。

$ timedatectl status
...
Network time on: yes
NTP synchronized: no

出力からわかるように、時刻はまだ同期されていません。誰かが次の質問で私を助けてくれますか?

  • TimesyncdがNTPと同期するにはどのくらい時間がかかりますか?それはどのような間隔で行われますか?どこで確認して変更できますか?
  • 緊急の場合:時間のみを手動で設定できますか、timesyncdを強制的にNTPサーバーとすぐに同期させますか?
16
manifestor

実際のNTP=実装を使用するには、chronyまたはntpdのいずれかをインストールして構成する必要があります。時間パフォーマンスの監視が必要な場合は、そうしてください。私は時代遅れだと思います。

iburstを設定のpoolまたはserver行に追加して、最初の数パケットを高速化します。それでも安定するまで数分かかる場合があります。しばらくお待ちください。

chronyc trackingは現在のオフセットを表示します。 1秒の精度で数十ミリ秒のオフセットを簡単に許容できます。

chronyc makestepは現在の調整をすぐに行います。通常は必要ありません。


timesyncdは、時間を設定できるSNTPクライアントですが、段階的かつ継続的に制御することも、リモートをフィルターすることも、NTP品質に基づいてサーバー 。( NTPプロトコルのみ)、時間のハードウェアやPTPと通信することもできません。繰り返しのntpdateより少し優れています。つまり、クロックがあまり良くないことを意味します。個人的には、交換しますほとんどのサーバーで。

Timesyncdで時刻を設定する唯一の方法は、手動で行うことです:timedatectl set-time "2019-01-15 00:40:16"。クロックを統制および監視するための堅牢な手段はありません。基本NTP統計情報timedatectl timesync-statusは比較的新しいものです。RedHat 7またはUbuntu 18.04でこのオプションを利用できるとは思いません。

systemdは、NTPがLinuxにクロックを調整するように指示するためにこれまでに使用された場合に、 "同期された"と定義します。具体的には、カーネルの規律呼び出しadjtimex()がエラーなしで返され、初期状態ではない場合。ソースコード、systemd/src/basic/time-util.c。

9
John Mahowald

これ以上パッケージをインストールせずに... NTPオフ、手動で時刻を十分に近づけるように設定、回転= NTP戻る:

セットNTPサービスが非アクティブ

$ timedatectl set-ntp false

時間を手動で設定する

ええ、それは悲しいことですが、それは機能します。何かをインストールしたり、それを機能させたりする必要はありません。おおよその[〜#〜] local [〜#〜]時間を壁時計、携帯電話、インターネットから取得します。すぐにntpをオンに戻すので、完全である必要はありません...

$ Sudo timedatectl set-time "2019-06-22 13:41:00"

セットNTPサービスがアクティブ

$ Sudo timedatectl set-ntp true

待つ

john@mybox:~$ timedatectl
               Local time: Sat 2019-06-22 13:49:53 AEST
           Universal time: Sat 2019-06-22 03:49:53 UTC
                 RTC time: Sat 2019-06-22 03:49:54
                Time zone: Australia/Sydney (AEST, +1000)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no

「システムクロックの同期:いいえ」は、「同期している」と見なされるのに十分に調整されると「はい」になります。

トラブルシューティング

$ cat /etc/systemd/timesyncd.conf
[Time]
NTP=pool.ntp.org

$ timedatectl timesync-status
       Server: 13.210.208.89 (au.pool.ntp.org)
Poll interval: 8min 32s (min: 32s; max 34min 8s)
 Packet count: 0

$ grep systemd-timesyncd /var/log/syslog | tail
Jun 22 14:13:09 meebox systemd-timesyncd[8333]: Timed out waiting for reply from 103.214.220.220:123 (au.pool.ntp.org).

企業のファイアウォールによってntpパケットがブロックされていました。

10
John Mee