サーバーを同期するこれら2つの方法の長所と短所は何ですか?
サーバーはおそらく毎日1秒以上ドリフトしないので、crontabのntpdateは大丈夫でしょう。ただし、ここで冗長NTPサーバーを使用できると聞きました
http://www.pool.ntp.org/en/use.html
障害が発生した場合に同期時間を維持するため。
何か提案はありますか?
サーバーを同期するこれら2つの方法の長所と短所は何ですか?
サーバーはおそらく毎日1秒以上ドリフトしないので、crontabのntpdateは大丈夫でしょう。ただし、ここで冗長NTPサーバーを使用できると聞きました
http://www.pool.ntp.org/en/use.html
障害が発生した場合に同期時間を維持するため。
何か提案はありますか?
回答:
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を実行し、サーバーを組織内の指定されたタイムサーバーと同期することをお勧めします。通常、その内部サーバーは、パブリックNTPサーバーの1つと同期します(リンク先として)。
私はntpdateメソッドを問題なく使用しましたが、本当のntpdデーモンを実行するよりもハックが多いようです。
ntpdを実行している仮想マシンでクロックスキューの問題を聞いたことがあります。また、いくつかのプールサーバーに対してntpdateを呼び出す通常のcronジョブを実行することで、この問題を修正している人もいると聞きました。私はこれらの問題に遭遇したことはありませんが、何度か聞いたことはあります。
他の場所で述べたように、NTPはスムーズな時刻修正を提供します。サーバー上のアプリケーションが完全な秒数を失ったり、同じ秒数を繰り返したりすることを気にしない場合、ntpdはntpdateよりも多くを得ることができません。
一方、秒に敏感な時間に敏感なアプリケーションがある場合、またはさらに悪いことに部分的な秒に敏感な場合は、ntpdがはるかに良い選択です。Novell eDirectoryは、更新衝突処理のために更新をタイムスタンプします。これは、更新が非常に高速になった場合(朝のログインラッシュ中など)に重要になります。Syslogサーバーは、正常なログを保持するために、少なくとも0.5秒の正確な時間が必要です。
自宅のMythTVボックスの場合、ケーブルプロバイダーが時間を考慮しているものから数秒でもずれていることに気づいたので、その上でNTPを使用します。作業中のUPSモニターサーバーの場合、Kyle Hodgsonが指摘したのと同じ理由でcrontabbed ntpdateを使用します。そのアプリケーションの場合、真の2番目のオフであることは悲惨ではありません。
冗長性については、ネットワーク上で少なくとも2つの時間ホストを維持し、すべての内部ホストがそれら2つを指すようにします。これら2つの異なるNTPホストを追跡します。さらに、インターネットリンクがダウンした場合にコンセンサス方式で相互間の時間を保つことができるように、ピア構成で構成されています。堅牢なNTPを設計することは間違いなく可能です。
アクセスと強化が重要なサーバーでは、私が依存していたntpdのバージョンであるxntpdがUDPポート123を開く必要があるという理由を使用しました。tcp22と80のみを開くことが好ましいので、ntpdateを使用しました代わりにcrontabで。なぜそれが必要なのか、私が思い出す理由ではない理由を聞いたことがありません。
crontabを使用したntpdate呼び出しを使用する場合の短所の1つは、ドリフト補正をエレガントに処理できないことです。ntpdate、iircは、古くなっていることがわかるとすぐに時計を更新します。通常、ntpデーモンはドリフトを穏やかに修正します。これには、ログが正常に保たれるという利点があります。たとえば、ビジーなWebサーバーでは、RTCが数分ドリフトした場合、翌日にWebログを読むと、人々が安全に攻撃できると推測されることがありますWebのヒットは順不同になるため、ログインする前のURLです。
自宅での使用では、ntpdateは大したことではありません。「遅い」という理由があります。PRODUCTION ENTERPRISE環境でntpdateでcronを使用する人は誰でも、ただのバカです。