web-dev-qa-db-ja.com

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

物理的なドキュメントの保存に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.
9
user275940

正確な理由を見つけるための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.

あなたはすることができますシステムログを見てください、それはあなたにヒントを与えるかもしれないいくつかの単語があるはずです。 monitor "ntpq -p" outputで、オフセットがどのように発生するかを大まかに把握することもできます。

6
Enzo Wang

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

  • -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
    
3
Paul Gear

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

http://chrony.tuxfamily.org/

1
Jokajak