NTPを使用して時刻を同期する推奨方法は何ですか?


18

この質問は、ローカライズされた方法で何度も出てきました。この質問は、NTPを使用してシステムのクロックを同期するための優先/最良の方法を提供することを意図しています。

ソリューションは、次のような複数の問題を正しく処理する必要があります。

  1. クロックのスキューが大きいブートアップ時の時間をすばやく修正します。

  2. クロックが時間とともに大きなスキューを発生することがある状況をガードおよび/または修正する構成を提供します。

  3. 「ブート中にタイムサーバーにアクセスできなかった」または「ブート中にインターネットにアクセスできなかった」などの特定の問題が発生した場合に、時間を迅速に処理および同期できる堅牢なソリューション。

理想的なソリューションは、これらすべてを処理できる単一の NTP構成ファイルです。

参照資料

「究極の」ソリューションを提供する多くの部分は、次のような質問でU&Lサイト全体に広がっています。

他にも存在するはずですが、これらは関連性があると思い浮かぶものです。



1
参考までに、これに対する包括的な答えに取り組むことを計画しています。chat.stackexchange.com/transcript/message/11350138#11350138で
-derobert

#2はntpdが実行されている場合は発生しません
dfc

@dfc-これは、VMが一時停止してから再開したときに発生する可能性があります。他の状況でも発生する可能性があります。
slm

@slm "develops"は、VMの再起動後のスキューの1回のジャンプを意味しますか?再起動後数時間以内に、ntpdはスキューを制御できるようになります。絶対に悪化させないでください。他の状況は何ですか?
dfc

回答:


6

ntpを使用して時間の大きな偏差を修正することはできないため(クロックが追いつくか遅くなるまで数時間かかる場合を除く)、私はこれを行います:

サービスntpd停止
ntpdate us.pool.ntp.org
サービスntpd開始

私は毎日1日1回cronを実行します。再起動と電源の入れ直しはシステム時間を混乱させる可能性が最も高い/頻繁なイベントなので、ntpdateをinitスクリプトに入れて、起動後にntpが開始する前に実行します。


ntpdが正常に実行されている場合、なぜ停止および開始する必要があるのですか?これはひどい考えのようです。
dfc

3
ntpdが実行中の場合、ntpdateは機能しません。
グリズリー

4

あなたが探していることであるntpd--panicgateオプション。

panicgateオプションを使用すると、ntpd開始後の最初の調整を任意のサイズにすることができます。これは、マシンが起動し、クロックが非常に不正確である場所を説明したユースケースにぴったりです。このオプションを有効にしてntpdを起動すると、サーバーを見つけてサーバーとの同期を確立するまで少し時間がかかることがあります。

そのオプション自体がアイテム#1を解決します。

#2はバニラntpdです。Ntpdは、システムのクロックスキューのレートであるドリフトファイルを保持します。

#3も#1と同じです。この--panicgateオプションは、ntpdの起動時にすぐに制限されるのではなく、調整が行われるたびに「最初の調整」に制限されます。


ntpd --panicgateと入力してから、日付はまったく何もしません
AlxVallejo

initファイルを変更して渡します-gか、または設定する同等のオプションがありますntp.confか?
ジェローム

-gDebianインストールでデフォルトですでに使用されていることに気付きましたが、どのinit / configファイルでこれが行われるのかわかりません。
ジェローム

2

ntp / ntpdateの代わりにchronyd / chronycを使用します。これはすでにfedoraのデフォルトの方法であり、準備が整い次第RHEL 7.0に導入されると思われます。

ドキュメントはhttp://chrony.tuxfamily.org/で見つけることができます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.