web-dev-qa-db-ja.com

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

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

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

  1. クロックのスキューが大きい場合、起動時の時間をすばやく修正します。

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

  3. 「起動中にタイムサーバーにアクセスできなかった」、「起動中にインターネットにアクセスできない」などの特定の問題が発生した場合に、時刻をすばやく処理して同期できる堅牢なソリューション。

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

参考文献

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

他にもあるに違いありませんが、これらは私が関連性があると思ったものです。

18
slm

Ntpを使用して時間の大きな偏差を修正することはできないため(クロックが追いつくか、遅くなるまでに数時間ない限り)、次のようにします。

 service ntpd stop 
 ntpdate us.pool.ntp.org 
 service ntpd start 

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

6
Andrew

あなたが探しているのはntpd--panicgateオプション。

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

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

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

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

4
Patrick

Ntp/ntpdateの代わりにchronyd/chronycを使用してください。これはすでにFedoraのデフォルトの方法であり、おそらく準備ができ次第、RHEL 7.0に組み込まれるでしょう。

ドキュメントは http://chrony.tuxfamily.org/ にあります

2
aim