共有glusterfsディスクを備えた2つのサーバーがあり、両方ともdovecotを実行し、この共有ディスクからメールを提供しています。ユーザーはこれらのサーバーの一方からのみメールを読み取りますが、メールは両方に配信されます。受信トレイのmaildirフォルダにアクセスするときに問題が発生することがあります。
IMAP(ユーザー):open(/ home/user/Maildir/dovecot-uidlist)が失敗しました:アクセスが拒否されました
ユーザーは受信トレイを開くことができません。他のフォルダへのアクセスは正常に機能します。 dovecotインデックスファイルを削除してdovecotを再起動すると、すべて正常に動作します。
この設定の信頼性を高めるにはどうすればよいですか?
両方のサーバーでの私の鳩小屋の設定:
mmap_disable = no
dotlock_use_excl = yes
mail_nfs_storage = yes
mail_nfs_index = no
他のすべてが失敗した場合、ログにエラーがある場合は、dovecotインデックスファイルをクリーンアップするbashスクリプトを作成できます...
いくつかのプロジェクトにglusterfsをデプロイしましたが、IMAP/SMTPストレージのバックエンドストレージとしては使用していません。
しかし、経験からいくつかのことが言えます:
まず第一に、IMAPやSMTPなどのトランザクションの多いワークロードのストレージバックエンドに分散ファイルシステムを使用することはお勧めしません。それらはうまく機能しないため、主に2つの理由があります。待ち時間が長いこととファイルロックの問題です。
第二に、gluster freenodeチャネルにかなりの時間を費やしており、Dovecotが一定のインデックス破損について不平を言っていると報告している人々がglusterが行っているのを見ました。したがって、他のバックストレージレプリケーションソリューション、dsyncレプリケーション、または同様のものを利用することを強くお勧めします。
お役に立てれば。