Ich habe zwei Server mit einer gemeinsamen GlusterFS-Festplatte, auf beiden läuft Dovecot und beide stellen E-Mails von dieser gemeinsamen Festplatte bereit. Benutzer lesen E-Mails nur von einem dieser Server, aber E-Mails werden an beide zugestellt. Gelegentlich habe ich Probleme beim Zugriff auf den Maildir-Ordner im Posteingang:
IMAP(Benutzer): Öffnen(/home/Benutzer/Maildir/dovecot-uidlist) fehlgeschlagen: Berechtigung verweigert
Der Benutzer kann den Posteingang nicht öffnen. Der Zugriff auf andere Ordner funktioniert einwandfrei. Wenn ich die Dovecot-Indexdateien lösche und Dovecot neu starte, funktioniert alles einwandfrei.
Was kann ich tun, um dieses Setup zuverlässiger zu machen?
Meine Dovecot-Einstellungen auf beiden Servern:
mmap_disable = no
dotlock_use_excl = yes
mail_nfs_storage = yes
mail_nfs_index = no
Wenn alles andere fehlschlägt, könnte ich ein Bash-Skript erstellen, um die Dovecot-Indexdateien zu bereinigen, wenn die Protokolle Fehler enthalten ...
Antwort1
Ich habe Glusterfs für einige Projekte eingesetzt, verwende es jedoch nicht als Backend-Speicher für IMAP/SMTP-Speicher.
Aus Erfahrung kann man aber einiges sagen:
Zunächst einmal würde ich niemandem empfehlen, verteilte Dateisysteme für Speicher-Backends mit hohen Transaktionslasten wie IMAP und SMTP zu verwenden. Denn sie funktionieren nicht gut mit ihnen, hauptsächlich aus zwei Gründen: hohe Latenz und Probleme mit der Dateisperre.
Zweitens habe ich einige Zeit auf dem Gluster-Freenode-Kanal verbracht und Leute gesehen, die über Dovecot berichteten und sich über die ständige Indexbeschädigung bei Gluster beschwerten. Ich würde Ihnen daher dringend empfehlen, eine andere Back-Storage-Replikationslösung, Dsync-Replikation oder etwas Ähnliches zu verwenden.
Hoffe das hilft.
Antwort2
Ich denke, Sie sollten mail_nfs_index = yes setzen und sicherstellen, dass Sie einen Proxy verwenden, der immer dieselbe IP auf denselben Backend-Server umleitet. Dieser Link kann helfen: https://wiki.dovecot.org/MailLocation/SharedDisk