NTPDが予期せずに停止する可能性の高い原因と解決策


9

物理ドキュメントの保存にs3を使用するWebアプリケーションで、NTPが継続的に停止する問題が発生しています。これは、おおよそ1日1〜2回発生するようです。これが発生したときに提供される情報はほとんどありませんが、PIDファイルは存在しますが、ステータスを確認するとサービスが停止しています。

誰もがNTPDの死の可能性のある原因を示唆できますか?クロックドリフトが原因であると考えていますが、何が原因かはわかりません。十分なメモリと利用可能なディスク領域があります。

サービスが最後に停止したとき、これは出力でした:

Sep  6 06:15:25 vm02 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="988" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Sep  6 06:17:06 vm02 ntpd[10803]: 0.0.0.0 0618 08 no_sys_peer
Sep  6 08:01:10 vm02 ntpd[10803]: 0.0.0.0 0617 07 panic_stop -28101 s; set clock manually within 1000 s.

どのOSとバージョンですか?走っているhidはありますか?ntp-serversはいくつ構成されていますか?どのntpdオプションが有効ですか?
Nils

ntp.driftファイルを削除してみてください。値が高すぎてスキューが発生している可能性があります
Rqomey

回答:


6

正確な理由を見つけるための1分の方法はないと思います。

以前にESXi環境で同様の問題がありました。話を簡潔に言うと、ESXiホストのクロックが大幅にずれており、ゲストVMがESXiホストとアップストリームNTPサーバーの両方から時刻を同期していることがわかりました。これにより、VMのNTPdが混乱し、非常に頻繁に死にました。

また、ごくまれに、サーバーとアップストリームのNTPdサーバーとの間の往復時間がドリフト時間の計算に使用されるため、ランダムなパケット損失によってNTPdが終了することも判明しました。

上記の2つのケースでは、NTPdは、たとえば1000秒を超えるような大きな時間ドリフトを検出すると、デフォルトで終了します。-gオプションは少し役立ちます。

   -g      Normally,  ntpd  exits  with  a  message to the system log if the offset exceeds the panic threshold,
           which is 1000 s by default. This option allows the time to be set to any value  without  restriction;
           however,  this  can  happen only once. If the threshold is exceeded after that, ntpd will exit with a
           message to the system log. This option can be used with the -q and -x options. See the tinker command
           for other options.

あなたはシステムログを見ることができます、それはいくつかの言葉があなたにヒントを与えるかもしれないはずです。「ntpq -p」出力監視して、オフセットがどのように発生するかを大まかに把握することもできます。


VMでntpdを実行しているときは、ホストと時刻を同期しないでください。また、ローカルクロックを参照として含めないでください。
Paul Gear

3

ログメッセージは、クロックドリフトが終了の理由であることを明確に示しています。可能な解決策:

  • -gフラグを指定してntpdを起動します。ただし、これでは根本的な原因であるクロックスキューは修正されません。
  • ntpdを開始する前にntpdateを実行します。おそらく同じ警告。
  • さらにタイムソースを追加します。NTPは、精度を維持するために4〜6個のソースを必要とします。これを行う簡単な方法は、構成に[0-3] .YOURREGION.pool.ntp.orgへの繰り返し参照を含めることです。たとえば、

    server 0.au.pool.ntp.org iburst
    server 1.au.pool.ntp.org iburst
    server 2.au.pool.ntp.org iburst
    server 3.au.pool.ntp.org iburst
    
    server 0.au.pool.ntp.org iburst
    server 1.au.pool.ntp.org iburst
    server 2.au.pool.ntp.org iburst
    server 3.au.pool.ntp.org iburst
    

1

あなたが試すことができる別のオプションは、chronyです。私たちのテストでは、ntpdよりも安定して動作し、仮想環境で発生した時間のずれをより適切に処理します。

http://chrony.tuxfamily.org/

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