NTPDとntpdateを比較する


23

サーバーを同期するこれら2つの方法の長所と短所は何ですか?

サーバーはおそらく毎日1秒以上ドリフトしないので、crontabのntpdateは大丈夫でしょう。ただし、ここで冗長NTPサーバーを使用できると聞きました

http://www.pool.ntp.org/en/use.html

障害が発生した場合に同期時間を維持するため。

何か提案はありますか?

回答:


26

NTPアルゴリズムには、サーバーのクロックのドリフトを計算して修正できる情報が含まれています。NTPDには、これを使用してクロックの同期を保つ機能が含まれており、NTPDを実行していないコンピューターのクロックよりも正確に実行されます。NTPDは、精度を向上させるために複数のサーバーも使用します。

ntpdateはこのサービスを実行するための状態を保持しないため、同じ種類の精度は提供されません。より良い結果を提供するために使用するサーバーのリストを提供することができますが、これは時間の経過とともに各サーバーからのドリフトを追跡するNTPDで提供される洗練されたアルゴリズムに代わるものではありません。

NTPDATEは、システム時刻を瞬時に修正します。これにより、一部のソフトウェアで問題が発生する可能性があります(たとえば、古いように見えるセッションを破棄する)。NTPDは意図的にシステム時間をゆっくり修正し、その問題を回避します。NTPDを起動するときに-gスイッチを追加すると、NTPDが最初にNTPDを起動する前に一度ntpdateを実行するのとほぼ同等の大きな更新を行うことができます。

セキュリティの問題に関しては、ntpサーバーは未開始の接続に再接続しません。つまり、ファイアウォールは、ntp要求を開始してリターントラフィックを許可したことをファイアウォールが認識できる必要があります。NTPDを機能させるために、任意の接続用にポートを開いたままにする必要はありません。

ntpdate(8)のマニュアルページから:

ntpdateは、ホストクロックを設定するために必要に応じて手動で実行するか、ホスト起動スクリプトから実行してブート時にクロックを設定できます。これは、NTPデーモンntpdを開始する前に最初にクロックを設定する場合に便利です。cronスクリプトからntpdateを実行することもできます。ただし、cronスクリプトを作成したntpdateは、NTPデーモンに代わるものではないことに注意してください。NTPデーモンは、高度なアルゴリズムを使用して、リソースの使用を最小限に抑えながら精度と信頼性を最大化します。最後に、ntpdateはntpdのようにホストクロック周波数を制御しないため、ntpdateを使用した精度は制限されます。


ntpdを起動する前にntpdateを使用するよりも良い:-gを使用するだけです!
アレックスJ

8

ntpddateよりもntpdの方が好ましいのは、クロックがジャンプするのではなく、スムーズな時刻修正が行われるためです。ログに逆方向の時間ジャンプがある場合、ログをどのように理解しますか?ntpdateは、必要に応じてサーバー間を透過的に切り替えます。

(Kyleによると)オープンポートを要求する場合、ntpdの新しいバージョン(たとえば、Debianサーバーの4.2.4)は、暗号化認証を使用してLANにブロードキャスト/マルチキャストするように構成できます。

編集:この質問もご覧ください。


5

通常、NTPDを実行し、サーバーを組織内の指定されたタイムサーバーと同期することをお勧めします。通常、その内部サーバーは、パブリックNTPサーバーの1つと同期します(リンク先として)。

私はntpdateメソッドを問題なく使用しましたが、本当のntpdデーモンを実行するよりもハックが多いようです。


3

ntpdを実行している仮想マシンでクロックスキューの問題を聞いたことがあります。また、いくつかのプールサーバーに対してntpdateを呼び出す通常のcronジョブを実行することで、この問題を修正している人もいると聞きました。私はこれらの問題に遭遇したことはありませんが、何度か聞いたことはあります。


1
彼らはVM上でティックレスカーネルを実行したいと思うでしょう
-goo

1
ESX VM上のVMwareツールソフトウェアは時間の同期を処理するため、VMwareツールを備えたVMでntpdを使用しないでください。代わりにホストでNTPDをセットアップし、VMwareツールに残りを任せます。
dunxd

3

他の場所で述べたように、NTPはスムーズな時刻修正を提供します。サーバー上のアプリケーションが完全な秒数を失ったり、同じ秒数を繰り返したりすることを気にしない場合、ntpdはntpdateよりも多くを得ることができません。

一方、秒に敏感な時間に敏感なアプリケーションがある場合、またはさらに悪いことに部分的な秒に敏感な場合は、ntpdがはるかに良い選択です。Novell eDirectoryは、更新衝突処理のために更新をタイムスタンプします。これは、更新が非常に高速になった場合(朝のログインラッシュ中など)に重要になります。Syslogサーバーは、正常なログを保持するために、少なくとも0.5秒の正確な時間が必要です。

自宅のMythTVボックスの場合、ケーブルプロバイダーが時間を考慮しているものから数秒でもずれていることに気づいたので、その上でNTPを使用します。作業中のUPSモニターサーバーの場合、Kyle Hodgsonが指摘したのと同じ理由でcrontabbed ntpdateを使用します。そのアプリケーションの場合、真の2番目のオフであることは悲惨ではありません。

冗長性については、ネットワーク上で少なくとも2つの時間ホストを維持し、すべての内部ホストがそれら2つを指すようにします。これら2つの異なるNTPホストを追跡します。さらに、インターネットリンクがダウンした場合にコンセンサス方式で相互間の時間を保つことができるように、ピア構成で構成されています。堅牢なNTPを設計することは間違いなく可能です。


1

アクセスと強化が重要なサーバーでは、私が依存していたntpdのバージョンであるxntpdがUDPポート123を開く必要があるという理由を使用しました。tcp22と80のみを開くことが好ましいので、ntpdateを使用しました代わりにcrontabで。なぜそれが必要なのか、私が思い出す理由ではない理由を聞いたことがありません。

crontabを使用したntpdate呼び出しを使用する場合の短所の1つは、ドリフト補正をエレガントに処理できないことです。ntpdate、iircは、古くなっていることがわかるとすぐに時計を更新します。通常、ntpデーモンはドリフトを穏やかに修正します。これには、ログが正常に保たれるという利点があります。たとえば、ビジーなWebサーバーでは、RTCが数分ドリフトした場合、翌日にWebログを読むと、人々が安全に攻撃できると推測されることがありますWebのヒットは順不同になるため、ログインする前のURLです。


1

ntpdateは1回限りの更新を目的としています。時間を定期的に同期させたい場合は、ntpdという目的でサービスを使用してください。

私が知る限り、ntpdを使用しない説得力のある理由はありません


0

crontabを使用する必要はありません。それがntpdの目的です。

最初は時間切れになったときの1つの方法は、単にntpdを停止し、実行ntpdate ntp.server.comして同期を取り戻し、ntpを再び起動することです。

ただし、大規模なネットワークがある場合は、おそらくローカルのntpサーバーをいくつかセットアップし、すべてのホストにそれらを使用させます。


0

「ntpdate」が依然として望まれ、使用されている理由については、この説明を参照してください。

要約すると、ntpdは、-gオプションを使用した場合でも、大規模な時間調整を行う場合に比べて低速です。


-3

自宅での使用では、ntpdateは大したことではありません。「遅い」という理由があります。PRODUCTION ENTERPRISE環境でntpdateでcronを使用する人は誰でも、ただのバカです。


2
用途があります。あらゆる種類の最小限のオープンポートと+/- 1000ms程度の時間分解能要件を必要とするサーバーなど、cron + ntpdateは時間同期を維持するための完全に有効な方法です。
sysadmin1138
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.