55 votes

Quelles sont les différences pratiques entre Maildir et Mbox ?

Bien que je comprenne les principes de base des deux formats de stockage (1 fichier par courriel sous Maildir contre 1 fichier unique par boîte aux lettres sous mbox), je me demande quelles sont les implications pratiques dans ce cas.

  • Un format de stockage est-il plus évolutif que l'autre ?
  • Existe-t-il des problèmes ou des différences en matière d'intégrité des données ?
  • Existe-t-il des situations clairement définies dans lesquelles il est préférable d'utiliser un format plutôt qu'un autre ?

22voto

Kondybas Points 6806

Ne pas gérer les boîtes aux lettres à partir de postfix. Jamais. Redirigez les messages vers un serveur POP/IMAP doté des fonctionnalités appropriées. Dans le cas de Dovecot, il y a dovecot-lda alias deliver qui font tout et bien plus encore, comme le filtrage des messages contrôlé par l'utilisateur, la gestion des quotas, l'envoi automatique de réponses, etc.

Quoi qu'il en soit, maildir est un format plus récent et préférable en raison des nombreuses améliorations qu'il apporte par rapport à maibox. Maildir possède un index pour chaque dossier qui permet de contrôler les doublons, les délais d'expiration et même la recherche en texte intégral. De plus, maildir est significativement plus rapide sur une énorme pile de messages. Dovecot peut facilement utiliser maildir avec 300k messages sans aucun ralentissement visible. Une boîte aux lettres aussi grande est un problème en soi. Par ailleurs, la plupart des serveurs POP/IMAP modernes disposent d'un grand nombre d'utilitaires pour les tâches courantes dans les grandes infrastructures.

20voto

Jenny D Points 26978

Si vous utilisez NFS pour le stockage du courrier, ne pas utiliser mbox dans quelque circonstance que ce soit. Et si vous souhaitez une solution évolutive, Maildir est la meilleure solution.

Le principal problème du format mbox est le verrouillage des fichiers. Si vous avez plus d'un serveur de messagerie ou plus d'un processus essayant d'accéder à la boîte aux lettres en même temps, vous courez un grand risque d'obtenir une boîte aux lettres corrompue. Il est également difficile de parcourir une boîte aux lettres et de supprimer un grand nombre de messages, par exemple lorsque vous avez subi une tempête de rebondissements.

Maildir est conçu pour fonctionner sans problème lorsque plusieurs serveurs de messagerie, ou plusieurs processus sur un même serveur, envoient du courrier électronique au même compte en même temps que le serveur IMAP ou POP accède au compte.

Le principal problème avec Maildir est que vous utilisez un système de fichiers qui ralentit lorsqu'il gère trop d'inodes, et que votre système de sauvegarde gère mal les fichiers multiples. En ce qui concerne les systèmes de fichiers, à l'époque où je m'occupais de l'administration du courrier électronique chez un fournisseur d'accès, VXFS était le meilleur pour cela. Pour les sauvegardes, je n'ai pas de recommandation ; malheureusement, la plupart d'entre elles semblent être conçues pour gérer des serveurs de base de données plutôt qu'un grand nombre de petits fichiers.

9voto

Jon Erickson Points 29643

Pour répondre aux questions spécifiques :

Un format de stockage est-il plus évolutif que l'autre ?

mbox tend à devenir difficile à gérer au fur et à mesure qu'elle s'agrandit. Étant donné qu'elle stocke tout en un seul bloc, il peut être difficile d'effectuer des sauvegardes incrémentales, et un tel accès bloque la mbox contre les écritures pendant qu'il se produit. En cas de corruption, il est beaucoup plus difficile d'essayer de la réparer ou de la récupérer, ce qui est un risque qui augmente avec la quantité de courrier stocké.

Maildir s'appuie sur le système de fichiers sous-jacent pour assurer son évolutivité, car il crée généralement de nombreux petits fichiers, un par message. Si vous avez beaucoup de messages électroniques, Maildir est généralement plus facile et plus rapide à utiliser.

Existe-t-il des problèmes ou des différences en matière d'intégrité des données ?

Oui, la principale raison est que mbox exige un verrouillage des fichiers en lecture/écriture sur l'ensemble de l'archive, ce qui signifie que les lectures doivent attendre les écritures, et que chaque écriture individuelle doit attendre tous les autres accès. S'il est utilisé d'une manière telle que le verrouillage n'est pas possible, comme sur un partage NFS, l'archive est sujette à corruption. Toute corruption aléatoire peut affecter l'ensemble de l'archive plutôt qu'un seul message.

Avec Maildir, le verrouillage peut se faire au niveau du message individuel, pour la plupart des opérations, et la corruption d'un fichier n'affectera que ce message. Tout index dans les messages peut être reconstruit si nécessaire à partir des messages eux-mêmes.

Existe-t-il des situations clairement définies dans lesquelles il est préférable d'utiliser un format plutôt qu'un autre ?

C'est plutôt Maildir qui commence à remplacer mbox en tant que format universellement préféré, sans inconvénient notable.

Sa principale limite est la création d'un très grand nombre de petits fichiers, ce qui peut peser sur certains systèmes de fichiers et/ou s'avérer inefficace en fonction de la taille de la grappe de systèmes de fichiers. Ce problème se pose moins avec les systèmes de fichiers modernes. Il peut également influencer votre stratégie de sauvegarde, mais dans l'ensemble, il donne plus de flexibilité à votre choix de stratégie de sauvegarde.

4voto

ryan Points 523

Postfix s'en moque, la plupart du temps. Il se contente de placer le courrier dans un fichier quelconque. La partie intéressante vient lorsque vous voulez récupérer le courrier de la machine via IMAP (ou POP3). La plupart des serveurs IMAP (j'ai essayé) préfèrent les Maildirs, car ils sont plus facilement extensibles avec diverses méta-données que le serveur IMAP pourrait vouloir, tout en conservant une structure de base "ceci est un Maildir", de sorte que vous pouvez remplacer le serveur IMAP sans trop de casse (vous perdrez évidemment les méta-données, qui comprennent également les drapeaux de courrier, de sorte que vous devriez lire les documents de migration du serveur IMAP si vous voulez vraiment changer de serveur).

3voto

Gabriel Talavera Points 1357

Mbox est rapide lorsqu'il s'agit de rechercher un texte dans une boîte aux lettres et d'ajouter un nouveau courrier dans le fichier de courrier, mais il est sujet à la corruption du courrier et peut avoir des problèmes avec les systèmes de fichiers en réseau. Le verrouillage des fichiers peut également poser problème.

Avec Maildir, la récupération de courriers électroniques spécifiques est plus rapide et ne pose aucun problème lié au verrouillage des fichiers ou aux systèmes de fichiers en réseau (Exemple : Avec Maildir, vous pouvez stocker différents dossiers de courrier dans différents partages NFS, ce qui n'est pas possible avec Mbox). Maildir peut poser des problèmes lorsque le système de fichiers n'est pas efficace pour gérer un grand nombre de fichiers.

Je comprends que vous ayez besoin d'une solution évolutive, mais avant de choisir l'une ou l'autre, lisez attentivement ce document (même si vous n'utilisez pas Courier).

Comparaison entre mbox et maildir

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X