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

39

Bien que je comprenne les bases des deux formats de stockage (1 fichier par courrier électronique sous Maildir contre 1 seul fichier par boîte aux lettres sous mbox), je me demande quelles sont les implications pratiques ici -

  • Un format de stockage est-il plus évolutif que l'autre?
  • Existe-t-il des problèmes / différences d'intégrité des données?
  • Existe-t-il des situations clairement définies dans lesquelles vous devriez utiliser un format plutôt qu'un autre?
olympe26
la source

Réponses:

21

Ne gérez pas les boîtes aux lettres à partir de postfix. Jamais. Redirige les messages pour qu'ils soient remis via un serveur POP / IMAP doté des fonctionnalités appropriées. En cas de pigeonnier, il y a un dovecot-ldaaka deliverqui fait tout et beaucoup plus, comme le filtrage de messages contrôlé par l'utilisateur, la gestion de quotas, la copie automatique, etc.

Quoi qu'il en soit, maildir est un format plus récent et préférable en raison des nombreuses améliorations apportées à maibox. Maildir a 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. En outre, maildir est nettement plus rapide sur une énorme pile de messages. Dovecot peut facilement utiliser maildir contenant 300 000 messages sans ralentissement visible. Une boîte aux lettres d'une telle taille est un problème en soi. En outre, la plupart des serveurs POP / IMAP modernes comportent de nombreux utilitaires pour les tâches courantes dans les grandes infrastructures.

Kondybas
la source
14

Si vous utilisez NFS pour le stockage du courrier, n'utilisez jamais mbox. Et si vous voulez une solution évolutive, Maildir est la solution.

Le principal problème du format mbox est celui du verrouillage de fichier: si vous avez plusieurs serveurs de messagerie ou plusieurs processus essayant d’accéder simultanément à la boîte aux lettres, vous courez un risque important d’obtenir une boîte aux lettres corrompue. Il est également difficile de consulter une boîte aux lettres et de supprimer un grand nombre de messages, par exemple lorsque vous avez subi une tempête de rebond.

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

Le principal problème de Maildir est que vous utilisez un système de fichiers qui ralentit lorsque vous manipulez trop d'inodes et que votre système de sauvegarde ne permet pas de gérer plusieurs fichiers. En ce qui concerne les systèmes de fichiers, lorsque j’envoyais la messagerie électronique chez un fournisseur d’accès Internet, VXFS était ce qu’il y avait de mieux. Pour les sauvegardes, je n'ai aucune recommandation; malheureusement, la plupart d'entre eux semblent être conçus pour gérer des serveurs de bases de données plutôt que de simples petits fichiers.

Jenny D dit Réintégrer Monica
la source
4

Postfix s'en fout, surtout. Cela met juste le courrier dans un fichier. La partie intéressante vient lorsque vous souhaitez récupérer le courrier de la machine via IMAP (ou POP3). La plupart des serveurs IMAP (j'ai essayé) préfèrent Maildirs, car ils sont plus faciles à étendre avec diverses métadonnées que le serveur IMAP pourrait souhaiter, tout en maintenant une structure de base "ceci est un Maildir", de sorte que vous puissiez remplacer le serveur IMAP sans casser. trop (vous perdrez évidemment les métadonnées, qui incluent également des indicateurs de courrier, vous devriez donc lire les documents de migration du serveur IMAP si vous voulez vraiment changer de système).

zhenech
la source
4

Pour répondre aux questions spécifiques:

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

mbox a tendance à devenir difficile à gérer plus gros il devient. Comme il stocke tout dans un gros blob, il peut être difficile de sauvegarder de manière incrémentielle, et un tel accès verrouillera la mbox contre les écritures en temps réel. En cas de corruption, il est beaucoup plus difficile d’essayer de réparer ou de récupérer, ce qui peut être considéré comme un risque croissant à mesure qu’il stocke plus de courrier.

Maildir s'appuie sur le système de fichiers sous-jacent pour son évolutivité, car il créera de manière caractéristique de nombreux petits fichiers, un par message. Si vous avez beaucoup d’e-mails, Maildir est généralement plus facile et plus rapide à traiter.

Existe-t-il des problèmes / différences d'intégrité des données?

Oui, le principal est que mbox nécessite un verrouillage de fichier 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. Si elle était utilisée de manière à rendre le verrouillage impossible, par exemple sur un partage NFS, l'archive serait corrompue. Toute corruption aléatoire peut affecter l'ensemble de l'archive plutôt qu'un seul message.

Avec Maildir, le verrouillage peut se situer au niveau du message individuel, pour la plupart des opérations, et la corruption de tout fichier n’affectera que ce message. Tous les index dans les messages peuvent être reconstruits si nécessaire à partir des messages eux-mêmes.

Existe-t-il des situations clairement définies dans lesquelles vous devriez utiliser un format plutôt qu'un autre?

De plus, Maildir commence à remplacer mbox en tant que format universellement préféré, sans aucun inconvénient majeur.

Sa principale limitation réside dans la création de nombreux très petits fichiers, qui ont été capables de surcharger certains systèmes de fichiers et / ou d’être inefficaces en fonction de la taille du cluster de systèmes de fichiers. C'est moins un problème avec les systèmes de fichiers modernes. Il peut également éclairer votre stratégie de sauvegarde, mais dans l’ensemble, il donne plus de souplesse à votre choix de stratégie de sauvegarde.

thomasrutter
la source
3

Mbox est rapide lors de la recherche d'un texte dans une boîte aux lettres et de l'ajout d'un nouveau courrier au fichier courrier, mais il est sujet à la corruption du courrier et peut rencontrer des problèmes avec les systèmes de fichiers réseau. En outre, le verrouillage de fichier peut être un problème.

Avec Maildir, la récupération de courriers spécifiques est plus rapide et ne pose aucun problème en raison du verrouillage de fichiers ou des systèmes de fichiers réseau (Exemple: avec Maildir, vous pouvez stocker différents dossiers de messagerie dans différents partages NFS, cela ne peut pas être réalisé avec Mbox). Vous pouvez avoir des problèmes avec Maildir quand un système de fichiers n'est pas efficace pour gérer un grand nombre de fichiers.

Je comprends que vous avez besoin d’une solution évolutive. Avant de choisir l’un ou l’autre, assurez-vous de lire ce document: (même si vous n’utilisez pas Courier)

Analyse comparative entre mbox et maildir

Gabriel Talavera
la source
Pour mettre les choses en perspective, ce benchmark est avant tout un benchmark entre deux serveurs IMAP différents, réalisé par l'auteur du serveur Courier IMAP (qui utilise Maildir). Cela a été fait de 2001 à 2003. "L'ordinateur haut de gamme" il a été testé sur un Celeron de l'époque Pentium-II avec 256 Mo de SDRAM PC-100, avec le système de fichiers ext2. Les affirmations qu’il fait au sujet de l’évolutivité de Maildir sont toutefois probablement encore plus vraies aujourd’hui qu’elles ne l’étaient alors.
thomasrutter