KITA Eng.

北海道でサーバー技術者として歩み出したひとが綴るblog。

ntpdのfrequency error ? PPM exceeds tolerance ? PPMが出たらまず試したいこと。

先日突然/var/log/messagesに
ntpd[xxxx]: frequency error 1028 PPM exceeds tolerance 500 PPM
みたいな感じのメッセージが出力されるようになったときの対応メモ。

そもそもこのメッセージの意味は?

ntpd[xxxx]: frequency error 1028 PPM exceeds tolerance 500 PPM

行頭から順番に見ていこう。

かわいらしく表現すると、
正確な時刻を刻んであげようと日々陰ながら努力して情報収集しているntpdくんが言うことには、ちょっとずれてるけどまぁ許してやろうの範囲を超えるような誤差が起こってしまって、もーどうしたもんかと困っているよ。
ということなのでしょう。

実際、サーバーの時刻を表示させてみたら、

$ date
  Fri Nov 13 19:30:30 JST 2015

という具合に表示されるわけですが、これが実際にコマンドを実行したときの時刻とだいぶずれてました。サーバーの時刻がずれているというのは、何か障害があったときにログを漁るときに面倒なので、困るわけです。

エラーが出たらとりあえず、エラーメッセージをコピペしてググれ!

ネット上にいる素晴らしい先人たちが、同じようなエラーに取り組んでいることが多いので、エラーメッセージがあれば とりあえずそのままコピペしてググれば解決策をGoogle先生が教えてくれるといいます。

常にエラーが出ているパターンとか、内部クロックがいまいちな場合の対応とかが結構ヒットしたのですが、今回は、一時的に出ているエラーっぽいということで、

hajimenovic.hatenablog.jp

これが、状況的には似ていていいなと思ったのですが…。

/var/lib/ntp/driftファイルを削除またはリネームする。
# mv /var/lib/ntp/drift /var/lib/ntp/drift.back

ってのがちょっとファイル操作するまでじゃないよなぁとか、「削除」って結構思い切りがいるからちょっとまだやだなという気持ちになったので、別をあたることにしました。

私的ベストアンサー!

最終的には、こちらのページの対応を使わせてもらいました。

Why does NTP error messsage " ntpd[xxxx]: frequency error -512 PPM exceeds tolerance 500 PPM " displayed in /var/log/messages ? - Red Hat Customer Portal

コマンドメモ

$ service ntpd stop       <-- まずntpdを停止する。
$ ntpd -qg                <-- 設定ファイルにある許容誤差を無視して時刻合わせをする
$ service ntpd start      <-- ntpdを再開する。
$ ntpq -p                 <-- 一応稼働状況確認してみる。

稼働状況の確認は、ntpdが動作し始めてすぐはまだ同期が始まってないだろうので、直後と少ししてからの複数回やっとくと変化がわかってよさげ。