手当たり次第に書くんだ

飽きっぽいのは本能

Dovecot INBOXが空になる事象と復旧手順

概要

Dovecot環境において、INBOX(受信トレイ)が突然空になる事象が発生した。

本事象は、メール実体(Maildir)は存在するが、インデックス不整合によりDovecotがメールを認識できない状態である。


症状

  • INBOXが空に見える
  • サブフォルダは正常
  • Maildir配下(cur/new)にはメールファイルが存在

原因構造

Maildir(実体) ≠ Dovecot Index(メタデータ)

Dovecotはインデックスを参照してメール一覧を構築するため、インデックス破損時にメールが存在しないように見える。


復旧コマンド

doveadm force-resync -u <user> INBOX

処理内容

本コマンドは以下を実行する:

  • インデックスの破棄・再構築
    • dovecot.index
    • dovecot.index.cache
    • dovecot.index.log
  • Maildir実体の再スキャン
  • UIDおよびフラグの再計算

設計的整理

Maildir = SSOT(Single Source of Truth)
Index    = キャッシュ

したがって、本操作は

キャッシュ破棄 → 実体から再構築

に相当する。


注意点

  • UIDが再割り当てされる可能性がある
  • IMAPクライアント側で再同期が発生する
  • 大量メール環境では処理時間が増加する

まとめ

INBOX消失はデータ欠損ではなく、インデックス不整合である場合がある。

その場合、Maildirを正とした再同期により復旧可能である。

Dovecot INBOXが空になる事象と復旧手順

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る