Von MBOX nach Maildir umstellen

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
JYPDWhite
Beiträge: 6
Registriert: 12.02.2017 18:54:28

Von MBOX nach Maildir umstellen

Beitrag von JYPDWhite » 05.09.2018 13:53:25

Hallo zusammen,

ich habe hier einen Server auf dem die Mails im MBOX Format gespeichert werden (Debian Standard). Ich bin nun der Meinung dass es für ein Backup "schöner" ist wenn hier maildir verwendet wird. Dann müsste ja nicht eine riesendatei pro User gesichert werden sondern viele kleine Dateien. Was im Falle eines Restores (User hat wichtige E-Mail gelöscht) nach meinem Verständis auch besser handhabar sein sollte.

Ich habe diese Anleitung bzw. Tippssamlung gefunden: https://wiki.debian.org/MaildirConfiguration
Hat jemand hier mit so einer Umstellung schon erfahrung sammeln können? Bzw. gibt es gute Gründe wieso Debian weiterhin im Standard an MBOX festhält?

Das System ist ein Debian Stretch mit Exim4 als MTA und Dovecot für Imap.

Edit: Es geht also drum bestehnde Postfächer zu portieren und auch dass wenn man sich per ssh einloggt man eine Meldung bekommt wenn man E-Mails hat.

Grüße White

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Von MBOX nach Maildir umstellen

Beitrag von ThorstenS » 05.09.2018 14:04:51

Das dovecot wiki ist eigentlich recht gut bestückt mit Tipps und Tricks. Ich empfehle dir das hier zu lesen und die Konvertierung zuerst mal nur mit 1-2 Testmailboxen vorzunehmen und das Ergebnis mit den Mailclients zu testen, die du auch sonst einsetzt:
https://wiki.dovecot.org/Migration/MailFormat
https://wiki.dovecot.org/Tools/Doveadm/Sync

hec_tech
Beiträge: 1093
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: Von MBOX nach Maildir umstellen

Beitrag von hec_tech » 06.09.2018 09:38:21

Maildir halte ich bei großen Mailboxen für nicht machbar.
Die IOs sind extrem - mdbox halte ich da für wesentlich besser.

Bei ein paar Mailboxen mag Maildir ja noch ok sein aber sobald das viele tausend sind zwingt man damit das Storage Backend in die Knie.
Gerade Suchoptionen sind ein großes Problem bei Maildir.

Recovery macht man sowieso mit den Dovecot Tools. Die Mails sind ja nicht wirklich gelöscht sondern nur zum Löschen markiert. Dazu muss bei Dovecot erst ein expurge ausgelöst werden. Wenn man hier sinnvolle Werte wie ein Monat behalten konfiguriert hat man eigentlich ein recht gutes Backup.

Wenn man die kompletten Mailboxen wiederherstellen will muss man mit Snapshots arbeiten am besten mit ZFS.

lg
Gregor

Colttt
Beiträge: 2983
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Von MBOX nach Maildir umstellen

Beitrag von Colttt » 06.09.2018 11:29:39

Maildir halte ich bei großen Mailboxen für nicht machbar.
definiere groß, wir haben hier einige Mailboxen im Maildir format die sind zwischen 15-55GB groß, wir sind zwar jetzt nicht jmd der viele User hat (~600) aber IO Probleme haben wir im normalem betrieb nicht.

@JYPDWhite wenn du dovecot nutzt guck die mal das dbox format an, dort kannst du bei mdbox sagen das jede Datei nur X MB groß werden darf, so hast du nicht zig files wie bei Maildir, hast aber auch nicht ein große Datei die das wiederherstellen erschwert, sondern eine Mischung aus beiden.
Debian-Nutzer :D

ZABBIX Certified Specialist

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Von MBOX nach Maildir umstellen

Beitrag von r4pt0r » 06.09.2018 14:20:14

Maildir läuft auch in Setups mit weit über 500k usern noch problemlos und kann je nach storage sogar ggf performanter sein als mbox! Insbesondere wenn Flashspeicher (spez. NVMe) oder effizientes Caching auf dateisystemebene (ZFS) vorhanden ist, sind viele kleine IOPs auf einzelne Dateien i.d.r. effizienter als Zugriffe auf große blobs (wie mbox).

Backup/recovery ist mit maildir ebenfalls einfacher. Hinzu kommt der große Vorteil dass bei Datenkorruption nur einzelne Nachrichten betroffen sind, nicht gleich eine komplette mailbox/user. Gerade wenn Dateisysteme ohne gesicherte Integrität (z.b. via checksummen) verwendet werden kann das wichtig sein.


Zur Migration:
dovecot liefert einige tools zur Mailformat-migration. mb2md.pl wäre in deinem Fall das richtige.
Der hierarchy separator ist zwischen den Formaten unterschiedlich; das muss dann in der config von dovecot entsprechend angepasst werden (maildir nutzt '.'; mbox sollte '/' sein IIRC)

Die Migration selbst führt man idealerweise in einem ausreichend großen maintenance-fenster durch; den MDA/LDA (also dovecot) nimmt man in dieser Zeit offline. Den MTA stellt man entweder auf caching um (schwierig wenn per SASL auf vorhandensein des empfängers geprüft wird), oder lässt ihn einfach mit einem tempfail ablehnen - korrekt konfigurierte bzw RFC-konforme Mailserver probieren es später nochmal. Wenn der MTA "korrekt" als relay vor dem MDA konfiguriert wurde, ist letzteres das normale verhalten wenn der MDA nicht erreichbar ist.

Irgendwelche Experimente mit live-migration oder schrittweise Migration der User auf einen "neuen" Datensatz würde ich tunlichst vermeiden. Solange die Größe des Mailservers sich in einem Rahmen bewegt in dem man die Migration innerhalb von max 4h abwickeln kann, würde ich grundsätzlich die offline-Variante wählen. Alles andere ist weit mehr Aufwand in der Vorbereitung und Durchführung und nicht gerechtfertigt. Zudem wird es dann im Falle von Problemen bei der Migration umso aufwändiger wieder den alten bzw einen funktionierenden Stand herzustellen.

Wenn die Migration nicht in diesem Zeitfenster durchführbar ist oder die zwingende Vorgabe besteht, dass der Server erreichbar bleiben muss (...dann hätte man sich vorab über redundanz Gedanken machen bzw das budget freigeben sollen, aber das ist ein anderes Thema :roll: ), dann würde ich mit 2 MDAs parallel arbeiten und den Transportweg (ggf schrittweise per User) am MTA ändern.
Der neue MDA speichert dann alles was neu ankommt direkt in frische maildirs; die migration der mbox'en kann dann im Hintergrund entweder per Migrationsscript, das in die neue maildir-struktur schreibt (IMHO etwas haarig...), per IMAP-sync oder einer Kombination aus beidem erfolgen, bei der die mbox Inhalte ausgelesen und per lmtp an den "neuen" MDA durchgereicht werden, der sich dann um die korrekte Speicherung kümmert. Hier muss eben abgewogen werden welche vorgehensweise am praktikabelsten ist (Anzahl User, Mailboxgrößen, ggf vorhandene Hardware...). Grundsätzlich sollte man immer die technisch einfachste mögliche Variante wählen (KISS!).

hec_tech
Beiträge: 1093
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: Von MBOX nach Maildir umstellen

Beitrag von hec_tech » 06.09.2018 14:23:09

Es ist immer die Frage was die User machen.

Ich sehe wesentlich weniger Auslastung am Storage mit mdbox. Außerdem hat man nicht immer die Probleme mit zu wenig Inodes.
Das Hauptproblem sind diverse Suchanfragen von den Usern. Die Größe der Mailbox ist nicht das Hauptproblem viel eher die vielen kleinen Files.

Bei Installationen mit 10k+ Usern wird das zum Wahnsinn. Alles kann das Storage auch nicht im Cache haben. Backups löse ich mit Snapshots am Storage + Mirror auf anderen Standort.

hec_tech
Beiträge: 1093
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: Von MBOX nach Maildir umstellen

Beitrag von hec_tech » 06.09.2018 14:33:38

r4pt0r hat geschrieben: ↑ zum Beitrag ↑
06.09.2018 14:20:14
Maildir läuft auch in Setups mit weit über 500k usern noch problemlos und kann je nach storage sogar ggf performanter sein als mbox! Insbesondere wenn Flashspeicher (spez. NVMe) oder effizientes Caching auf dateisystemebene (ZFS) vorhanden ist, sind viele kleine IOPs auf einzelne Dateien i.d.r. effizienter als Zugriffe auf große blobs (wie mbox).

Backup/recovery ist mit maildir ebenfalls einfacher. Hinzu kommt der große Vorteil dass bei Datenkorruption nur einzelne Nachrichten betroffen sind, nicht gleich eine komplette mailbox/user. Gerade wenn Dateisysteme ohne gesicherte Integrität (z.b. via checksummen) verwendet werden kann das wichtig sein.
500k Postfächer mit Maildir das würde ich gerne sehen. Wenn ich nur 1 IOPs pro User habe wären das 500k IOPs. Da kannst du Disken vergessen - man müsste alles in Flash ausführen. Bei dem Preis pro TB ist das nicht so leicht machbar.

Ich rede ja nicht von mbox sondern von mdbox. ZFS ist zwar nett nur ist mir WAFL lieber. Ich muss mich auf das Storage verlassen können. Dazu gehört auch Scrubbing usw.
Ich sehe nicht so große Probleme bei Backups. Einfach die Snapshots und fertig. Schlimmstenfalls muss ich eine Mailbox restoren. Das dauert ein paar Minuten. Verlust ist maximal eine Stunde. Wobei ich mit Dovecot gelöschte Mails sowieso ganz einfach wiederherstellen kann.

JYPDWhite
Beiträge: 6
Registriert: 12.02.2017 18:54:28

Re: Von MBOX nach Maildir umstellen

Beitrag von JYPDWhite » 20.09.2018 21:16:40

Danke euch, ich werde das bei Gelgenheit dann mal in Angriff nehmen.

Antworten