再起動後500msのシステムクロック偏差は正常ですか?

再起動後500msのシステムクロック偏差は正常ですか?

すぐに起動すると、再$ ntpq -p 起動後にシステムクロックが最大600ミリ秒まで遅くなることがわかります。

正しいNTP時間に収束するのに時間がかかるので、私たちのユースケースでは少し迷惑です。 (Cephモニター、時間に敏感です)。その後、再起動すると、時計の傾きが再び表示されます。

再起動後にこれが発生しますか? PCのRTCが間違っていますか?

調査するために私がしたこと:

  1. いくつかの(非常に似ていますが)サーバー(HP dl360 gen9)で確認しました。しかし、2009年の古いホワイトラベルデスクトップも同様です。
  2. 集計されたNTP時間をRTCに保存し、RTCからシステムクロックにコピーします。約10ミリ秒程度の偏差しか見られません。素直にすることもできますが、これは基本的にシステム時間の点で再起動を模倣します。
  3. 再起動する前に明示的にRTCに保存してください。
  4. kexec-rebootを使用してください。それでも発生します。
  5. これまでは、Ubuntu 16.04でのみテストされました。

ベストアンサー1

RTCは秒数だけ保存する可能性が高いため(カーネルがいつ1秒から次の秒に切り替えるかわからない限り)、デフォルトでは1/2秒、つまり500ミリ秒オフになります。 RTCに時間を保存する場合も同様です。カーネルが1秒のティックの発生を制御できない場合、保存は最大500ミリ秒まで遅れることがあります。

確実な解決策は、NTPに問題をすばやく修正できるようにすることです。 ntpdを使用して-g(またはより強力に-G)起動すると、起動時に時計を段階的に変更することが許可(または強制)されます。 /ラインiburstと一緒に使用すると、約10秒以内に正確な時計を提供する必要があります。serverpool

たとえば、ntp-waitNTP が準備されるまで時間に敏感なワークロードを開始しないようにすることができます。

おすすめ記事