物理的なドキュメントの保存に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.
正確な理由を見つけるための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で、オフセットがどのように発生するかを大まかに把握することもできます。
ログメッセージは、クロックドリフトが終了の理由であることを明確に示しています。可能な解決策:
さらにタイムソースを追加します。 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
あなたが試すことができる別のオプションは、chronyです。テストでは、ntpdよりも安定して動作し、仮想環境で発生した時間のずれをより適切に処理します。