生物物理計算化学者の雛

主に科学に関する諸々を書き留めています。

メールサーバの .imap.index が壊れたことに由来するメール送受信エラー対応

Linuxメールサーバの挙動がおかしかったため再起動をしたところ復旧したのですが、特定ユーザのみメール送受信がタイムアウトしてしまいうまくいかない現象が起きました。

メールサーバは Postfix + Dovecot による構成です。


メールのログファイル /var/log/maillog を見たところ、pop3, imap接続の両者で以下のエラーメッセージが出力されていました。
(メールサーバ名 mailserver、ユーザ名 user1)

Mar  3 14:02:31 mailserver imap-login: Login: user1 [::ffff:192.168.1.2]
Mar  3 14:05:01 mailserver imap(user1): Timeout while waiting for release of shared fcntl() lock for index file /home/user1/mail/.imap/INBOX/.imap.index

Mar  3 14:16:05 mailserver pop3-login: Login: user1 [::ffff:192.168.1.12]
Mar  3 14:16:46 mailserver pop3(user1): Timeout while waiting for release of shared fcntl() lock for index file /home/user1/mail/.imap/INBOX/.imap.index


どうやら .imap/INBOX/.imap.index ファイルがおかしいようです。
(再起動した際に.imap.indexファイルが壊れた可能性がありそうです)


.imap.index ファイルは存在しなければ dovecot により再生成されるという記述がありましたので、エラーの原因となっている.imap.indexファイルを削除しました。

その結果、送受信のタイムアウトエラーは解消し、user1も無事メールサーバを利用できる状態に復旧することができました。