メール鯖のDovecotがINDEX破損で応答不能になっていた
2019年03月09日(土) - 12:27 | カテゴリ: Linux
書いておかないと忘れそうなのでメモ
唐突に自宅メール鯖にアクセスが出来なくなりサーバ全体の障害を疑ったのだが、
INBOX(第1層)はアクセス不能で他の階層(第2階層以下)はアクセスが出来る謎現象が発生した。
ログを見ると下記の様にトランザクションログの破損が表示されている状況。
Error: Corrupted transaction log file /mail/spool/***/dovecot.index.log seq 14: record size too small (type=0x40004, offset=12784, size=0) (sync_offset=13036) Error: Index /mail/spool/***/dovecot.index: Lost log for seq=14 offset=13036: Failed to map file seq=14 offset=13036..XXXXX (ret=0): corrupted, indexid=0 (initial_mapped=1, reason=Index mapped) Warning: fscking index file /mail/spool/***/dovecot.index |
恐らく、DovecotのINDEXファイルが破損してトランザクションも不整合状態になったのだと思い、
エラーが出たディレクトリにある次のファイルを待避(削除)した後、Dovecotを再起動させたら復旧した。
- dovecot.index
- dovecot.index.cache
- dovecot.index.log
- dovecot.list.index
- dovecot.list.index.log
- dovecot.mailbox.log
自前のメール鯖は、Webメールクライアント・IMAPクライアントなど、
複数の環境から接続出来る構成を取っている為、同時に接続して処理が衝突してしまったのかもしれない。
複数環境から接続出来ないと不都合が大きくなるので、今の所は構成変更はせずに様子見中。
ただ、この状態になったのは初めての事なので発生確率はそれなりに低いと思われ、
「自宅サーバ用途ならまぁ良いか~」とも考えている。