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
これでしばらく様子を見てみる。