理想未来ってなんやねん

娘可愛い。お父さん頑張る。

dovecotが勝手に死ぬ

管理しているメールサーバーが急に繋がらなくなる現象が発生したので調べてみたところdovecotが落ちていた。
ログファイル/var/log/dovecotに以下のような記録があった。

dovecot: Jan 26 05:21:57 Fatal: Time just moved backwards by 6 seconds. This might cause a lot of problems, so I'll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards

dovecotは時間が巻き戻るようなことがあると勝手に死ぬらしい。


時刻が巻き戻った原因を調べていたところ/var/log/messageに以下の記録があった。

Jan 26 05:21:57 xxxx-svr ntpd[3984]: time reset -6.274791 s

ntpdが時刻のずれを調整したらしい。
そのタイミングでdovecotが落ちていた。

対策

ntpdの動作にはslewモードとstepモードがあり、slewモードだと1秒あたり0.5msずつ徐々に調整し、stepモードだとずれを一気に調整する。
デフォルトの動作の場合、時刻のずれが128msより小さい場合はslewモードで調整し、128msより大きくなるとstepモードで一気にずれを調整するらしい。

ntpdに-xオプションをつける事で、ずれが大きい場合でもslewモードで動作させることができる。
これにより時間が飛ぶことが防げるはず。



CentOSの場合/etc/sysconfig/ntpdファイルのNTPDATE_OPTIONSに-xを追記する。

NTPDATE_OPTIONS="-x"

後はntpdを再起動。

sudo service ntpd restart


これでしばらく様子を見てみる。