私は現在時計ドリフトのあるサーバーを管理しており、サーバーの時間を後ろに移動せずに違いを修正したいと思います。
うるう秒のスイング技術について読んでいて、ntpの修正を広げる同様の方法があるかどうか疑問に思います(特に修正のためにシステムクロックが後ろに設定されている場合)。
答え1
NTPは残酷な時計ジャンピングや他の作業なしで自動的に処理する必要があります。
ntpd -q
同期時間を一度実行して終了できます。
時計の歪みが大きすぎると(> 1000秒)、NTPはパニック状態になり終了します。この場合も、NTPデーモンを実行してntpd -g
時計を強制的に調整してください。
廃止されたものを使用しないでくださいntpdate
。
答え2
ヒントをくれたdr01のおかげで、メーリングリストの回答で回答が見つかりました。ここ。最大の違いは私が使用する用語です。 ntpは「jump」ではなく「step」を使用し、「smear」ではなく「slew」を使用します。
Step: 時間が大きい単位にすばやく変更されます。 「ステップ」メソッド(settimeofday)を使用すると、時間が速い速度で徐々に変更されるか、時間がすぐに正確な時間に変わります。
ステップ==時計を正しい時間にリセット一つ即時段階。カスケード時計は「戻る」ことができます。
回転==スピードを上げるか下げて時計を調整します。回転する時計は決して「戻る」ことはありません。
要約すると、ntpは、差がしきい値(128ms)未満の場合は時間を変更し、差がそのしきい値を超えると時間を段階的に調整します。
内部にntpdドキュメント-x
差がデフォルトのしきい値よりも高い場合でも、ntpが常に更新するように強制できるオプションについて詳しく説明します。
-x通常、オフセットがステップしきい値(デフォルトは128ミリ秒)より小さい場合は時間が変換され、しきい値を超えると時間が段階的に変換されます。このオプションは、すべての場合に時間を強制的に変更します。ステップしきい値が0に設定されている場合、値と-xオプションに関係なく、すべてのオフセットが段階的に実行されます。通常、これは大きな時間と周波数誤差に対処するように設計されたクロックステートマシンをバイパスするので、良い考えではありません。注:スルーレートは0.5ms / sに制限されているため、毎秒の調整には2000秒の分割返済間隔が必要です。したがって、秒調整を償却するのに数時間または数日かかることがあります。このオプションは -q オプションとともに使用できます。
ただし、最大コンバージョン率は500ppm(百万分率)なので、5分の差を修正するのに約7日かかります。