Was sind die praktischen Unterschiede zwischen Maildir und Mbox?

Was sind die praktischen Unterschiede zwischen Maildir und Mbox?

Obwohl ich die Grundlagen der beiden Speicherformate verstehe (1 Datei pro E-Mail unter Maildir vs. 1 einzelne Datei pro Postfach unter mbox), frage ich mich, was die praktischen Auswirkungen hier sind -

  • Ist ein Speicherformat skalierbarer als das andere?
  • Gibt es Bedenken bzw. Unterschiede hinsichtlich der Datenintegrität?
  • Gibt es klar definierte Situationen, in denen Sie ein Format gegenüber dem anderen bevorzugen sollten?

Antwort1

Verwalten Sie keine Postfächer von Postfix aus. Niemals. Leiten Sie Nachrichten zur Zustellung über einen POP/IMAP-Server um, der über die entsprechende Funktionalität verfügt. Im Fall von Dovecot gibt es dovecot-ldaAka deliver, das alles und noch viel mehr kann, wie benutzergesteuerte Nachrichtenfilterung, Kontingentverwaltung, automatische Antworten und so weiter.

Maildir ist jedoch aufgrund der vielen Verbesserungen gegenüber Mailbox ein neueres und bevorzugtes Format. Maildir hat einen Index für jeden Ordner, der die Kontrolle von Duplikaten, Ablaufzeiten und sogar die Volltextsuche ermöglicht. Außerdem ist Maildir bei einem riesigen Nachrichtenstapel deutlich schneller. Dovecot kann Maildir mit 300.000 Nachrichten problemlos ohne sichtbare Verlangsamung betreiben. Eine so große Mailbox ist an sich schon ein Problem. Außerdem verfügen die meisten modernen POP/IMAP-Server über viele Dienstprogramme für allgemeine Aufgaben in großen Infrastrukturen.

Antwort2

Wenn Sie NFS zur E-Mail-Speicherung verwenden,nichtVerwenden Sie mbox unter allen Umständen. Und wenn Sie eine skalierbare Lösung wünschen, ist Maildir die richtige Wahl.

Das Hauptproblem beim Mbox-Format ist die Dateisperre. Wenn Sie mehr als einen Mailserver haben oder mehr als einen Prozess gleichzeitig auf das Postfach zugreifen, besteht ein hohes Risiko, dass das Postfach beschädigt wird. Es ist auch schwierig, ein Postfach zu durchsuchen und eine große Anzahl von Nachrichten zu löschen, beispielsweise wenn Sie von einem Bounce-Sturm betroffen sind.

Maildir ist so konzipiert, dass es auch dann fehlerfrei funktioniert, wenn Sie mehrere Mailserver oder mehrere Prozesse auf einem Server haben, die E-Mails an dasselbe Konto übermitteln, während der IMAP- oder POP-Server gleichzeitig auf das Konto zugreift.

Das Hauptproblem mit Maildir ist, wenn Sie ein Dateisystem verwenden, das bei der Verarbeitung zu vieler Inodes langsamer wird, und wenn Ihr Backup-System nicht gut mit mehreren Dateien umgehen kann. Was Dateisysteme angeht, war VXFS damals, als ich bei einem ISP E-Mail-Systemadministrator war, dafür am besten geeignet. Für Backups habe ich keine Empfehlung; leider scheinen die meisten davon eher für die Verarbeitung von Datenbankservern als für eine Unmenge kleiner Dateien ausgelegt zu sein.

Antwort3

Um die spezifischen Fragen zu beantworten:

Ist ein Speicherformat skalierbarer als das andere?

Je größer die mbox wird, desto schwieriger wird ihre Verwaltung. Da sie alles in einem großen Blob speichert, kann eine inkrementelle Sicherung schwierig sein, und ein solcher Zugriff sperrt die mbox für Schreibzugriffe, während er ausgeführt wird. Wenn es zu Beschädigungen kommt, ist es viel schwieriger, sie zu reparieren oder wiederherzustellen – ein Risiko, das sich erhöht, je mehr E-Mails gespeichert werden.

Maildir ist für seine Skalierbarkeit auf das zugrunde liegende Dateisystem angewiesen, da es typischerweise viele kleine Dateien erstellt, eine pro Nachricht. Wenn Sie viele E-Mails haben, ist Maildir normalerweise einfacher und schneller zu handhaben.

Gibt es Bedenken bzw. Unterschiede hinsichtlich der Datenintegrität?

Ja, das wichtigste Problem ist, dass mbox eine Lese-/Schreibsperre für das gesamte Archiv erfordert, d. h. Lesevorgänge müssen auf Schreibvorgänge warten und jeder einzelne Schreibvorgang muss auf alle anderen Zugriffe warten. Wenn es so verwendet würde, dass eine Sperre nicht möglich ist, z. B. über eine NFS-Freigabe, könnte das Archiv beschädigt werden. Jede zufällige Beschädigung kann das gesamte Archiv und nicht nur eine einzelne Nachricht betreffen.

Mit Maildir kann die Sperrung für die meisten Vorgänge auf der Ebene der einzelnen Nachricht erfolgen, und eine Beschädigung einer Datei wirkt sich nur auf diese Nachricht aus. Alle Indizes in den Nachrichten können bei Bedarf aus den Nachrichten selbst neu erstellt werden.

Gibt es klar definierte Situationen, in denen Sie ein Format gegenüber dem anderen bevorzugen sollten?

Es ist eher so, dass Maildir beginnt, mbox als allgemein bevorzugtes Format zu ersetzen, ohne nennenswerte Nachteile zu haben.

Seine Hauptbeschränkung ist die Erstellung vieler, vieler kleiner Dateien, die einige Dateisysteme belasten und/oder je nach Größe des Dateisystemclusters ineffizient sein können. Bei modernen Dateisystemen ist dies weniger ein Problem. Es kann auch Ihre Sicherungsstrategie beeinflussen, aber insgesamt bietet es mehr Flexibilität bei der Wahl Ihrer Sicherungsstrategie.

Antwort4

Mbox ist schnell beim Suchen nach Text in einem Postfach und beim Anhängen einer neuen E-Mail an die Mail-Datei, neigt jedoch zu E-Mail-Beschädigungen und kann Probleme mit Netzwerkdateisystemen haben. Auch Dateisperren können ein Problem darstellen.

Mit Maildir ist das Abrufen bestimmter E-Mails schneller und es treten keine Probleme aufgrund von Dateisperren oder Netzwerkdateisystemen auf (Beispiel: Mit Maildir können Sie verschiedene E-Mail-Ordner in verschiedenen NFS-Freigaben speichern, dies ist mit Mbox nicht möglich). Sie können mit Maildir Probleme haben, wenn ein Dateisystem bei der Verarbeitung einer großen Anzahl von Dateien nicht effizient ist.

Ich verstehe, dass Sie eine skalierbare Lösung benötigen. Lesen Sie unbedingt dieses Dokument, bevor Sie sich für die eine oder andere entscheiden: (Auch wenn Sie Courier nicht verwenden)

Benchmarking von Mbox gegenüber Maildir

verwandte Informationen