Bonjour,
La quantité de mail à stocker est toujours plus grande. Pour de grandes institutions (>30.000 personnes), l'archivage et la conservation des mails peut devenir très problématique.
Or, si on regarde les 2 principaux sytème de stockage de mailboxes sur les systèmes libres, càd mbox et maildir, on remarque immédiatement qu'il n'y a rien de fait concernant l'optimisation du stockage.
Pourtant, on remarque rapidement que dans le stockage beaucoup de données sont tout simplement dupliquées :
- Chaque fois qu'un mail est envoyé à X personne ce mail est stocké X fois sur le serveur
- Chaque fois que forward avec pièces jointes est fait, tout est dupliqué
Je pense qu'il doit être possible de faire un système de stockage qui enregistrerait une seule fois les données et des liens vers ces données. Un méchanisme à la copy-on-write pourrait être mis en place en cas d'écriture par un utilisateur.
Est-ce que ce type de système existe (dans le libre) ? Je n'ai pas trouvé. Est-ce que vous pensez que cela est une bonne idée ? Je pense personnellement que les besoins en stockage seraient dramatiquement plus bas.
Journal Stockage de Mail, espace : Maildir/mbox/...
5
mai
2009

# Gmail
Posté par bertrand (page perso) . Évalué à 6.
[^] # Re: Gmail
Posté par alenvers (page perso) . Évalué à 5.
[^] # Re: Gmail
Posté par liberforce (page perso) . Évalué à 6.
[^] # Re: Gmail
Posté par Larry Cow . Évalué à 6.
C'est vrai - et d'ailleurs de manière plus générale - mais ça ne fait que repousser le problème.
[^] # Re: Gmail
Posté par liberforce (page perso) . Évalué à 2.
[^] # Re: Gmail
Posté par dinomasque . Évalué à 2.
C'est d'ailleurs une qualité du mal-aimé Lotus Notes : il peut proposer automatiquement de publier les pièces jointes sur Quickplace (l'outil IBM pour le partage de contenus) au lieu de la diffuser directement aux destinataires.
BeOS le faisait il y a 15 ans !
[^] # Re: Gmail
Posté par alenvers (page perso) . Évalué à 2.
[^] # Re: Gmail
Posté par Octabrain . Évalué à 0.
[^] # Re: Gmail
Posté par seginus . Évalué à 10.
Le mail n'est pas un système fiable pour la confidentialité !
Si on envoie un document par mail, il faut si dire que tout le monde peut le lire.
On peut utilisé un serveur personnel bien sécurisé, on ne sait pas par où le mail va transiter.
Alors, il n'y a qu'une solution pour concilier mail et confidentialité : le chiffrement.
Et là, ça peut bien être hébergé chez gmail, ça ne change en rien la confidentialité, vu qu'ils stockent juste un mail indéchiffrable.
Le problème de gmail, c'est la centralisation, pas la confidentialité.
# Gmail anyone ?
Posté par Philippe Fremy (page perso) . Évalué à 2.
[^] # Re: Gmail anyone ?
Posté par alenvers (page perso) . Évalué à 6.
Cela n'est pas bien grave. Le but ici est d'avoir un système remote en imap et donc, plus rien en local. Cela doit donc être implémenté au niveau du MTA et du serveur imap.
# Hard links & comportement COW
Posté par niol (page perso) . Évalué à 2.
[1] http://finddup.sourceforge.net/
[2] http://www.xmailserver.org/flcow.html
[^] # Re: Hard links & comportement COW
Posté par alenvers (page perso) . Évalué à 3.
Le but est de le faire à la source et pas postmortem. Il faut que cela soit fait à la réception du mail.
[^] # Re: Hard links & comportement COW
Posté par geb . Évalué à 2.
A moins que tu ai des centaines de grosses pieces jointes envoyées chaque jour, je pense que l'idée du cron n'est pas forcément mauvaise.
[^] # Re: Hard links & comportement COW
Posté par alenvers (page perso) . Évalué à 2.
>que l'idée du cron n'est pas forcément mauvaise.
L'idée n'a pas beaucoup de sens s'il n'y a pas beaucoup de mailboxes, donc, oui, il y en a pas mal.
[^] # Re: Hard links & comportement COW
Posté par geb . Évalué à 3.
Forcer les gens à uploader les pièces jointes sur sur un système de GED externe: typiquement http://documents.boite . Et envoyer des liens. Cela pose d'autres problèmes, mais laisse entrevoir d'autres solutions.
Problème: il faudra penser à la gestion des droits, et sans doute l'implémenter.
Solutions:
- Interdire les grosses pièces jointes et coder un mini plugin pour thunderbird ou le webmail si celui ci est libre (à condition qu'il y ai pas de récalcitrants avec d'autres clients).
- Enregistrer toute pointe jointe reçu dans cette base et y ajouter une autorisation à la réception du mail (via procmail/......) et remplacer dans le contenu du mail cette pièce jointe par un lien. Cela resolverait aussi le problème évoqué si dessous (format des boites).
[^] # Re: Hard links & comportement COW
Posté par alenvers (page perso) . Évalué à 4.
[^] # Re: Hard links & comportement COW
Posté par nodens . Évalué à 1.
Evidemment, en émission ça va, mais ça serait très lourd de gérer ça en réception (il faudrait réécrire une partie du mail, c'est possible à grand coups de mimedefang mais bon).
De plus, ça ne gère pas de droits au niveau du lien, ça crée juste un lien unique et difficile à deviner.
(En même temps la confidentialité d'un mail non crypté...)
[^] # Re: Hard links & comportement COW
Posté par geb . Évalué à 2.
Clairement, il faut être sûr de son coup, si tu oublies de charger la lib ça fait quoi ?!
Je pense que ce genre de chose a plus sa place en espace noyau (voir plus bas) ou au niveau du fs, comme http://www.digitalinfra.co.jp/20080720/hashfs.20081006.html
# linux-vserver's vunify,vhashify
Posté par geb . Évalué à 4.
Il est utilisé pour les fichiers de vservers, afin d'éviter de stockage 15 fois /bin/bash.
Quelques infos sont ici: http://linux-vserver.org/Paper#Unification et sur le reste du wiki.
Basiquement vhashify,
- Est utilisé sur certains dossiers des vservers (pour éviter de faire ça sur /var).
- fait un hash sur les fichiers rencontrés.
- Fait une copie dans un répertoire et remplace le fichier par un lien physique vers ce répertoire. (Je ne suis pas sûr que ce soit réelement une copie, à verifier).
- Ou, si le fichier (et donc son hash) existe déjà dans le répertoire: se contente de lier.
- Place certains flags sur les fichiers obtenus. Pour que la modification de ceux ci casse le lien pour éviter de modifier le fichier global utilisé par tous les autres.
Ca n'est pas directement applicable ici (le COW est géré par le noyau patché et je ne sais pas si il est utilisable en dehors d'une instance de vserver), mais peut sans doute donner des idées.
[^] # Re: linux-vserver's vunify,vhashify
Posté par geb . Évalué à 1.
Je me répond à moi même :)
D'après le mainteneur de vserver, c'est utilisable en dehors d'une quelconque instance.
On peut également utiliser du unionfs ou équivalent ( http://aufs.sourceforge.net/ ) pour simuler le COW.
[^] # Re: linux-vserver's vunify,vhashify
Posté par Julien L. . Évalué à 4.
Il n'y a donc que peu de probalité qu'un hash d'un message soit équivalent à un autre, et donc que ce système fonctionne, non ?
Il faudrait pouvoir extraire toutes les pièces jointes (faisable) et les remplacer par un lien (faisable aussi mais pas simple à mettre en place) et travailler avec ce système sur les fichiers extraits uniquement.
[^] # Re: linux-vserver's vunify,vhashify
Posté par geb . Évalué à 1.
Peut être http://wiki.dovecot.org/MailboxFormat/dbox ? (à vérifier, mais d'apres ce que je comprends de la doc, cela *pourrait* être la cas)
[^] # Re: linux-vserver's vunify,vhashify
Posté par bertrand (page perso) . Évalué à 4.
Le risque de faux positifs (hash identique et contenus différents) ne doit pas être sous estimé. Une comparaison des fichiers s'impose pour éviter les pertes de données et pire les failles de sécurité (accès à un document privé)
Valerie Henson a publié (sur LWN je crois) un article sur le sujet. A lire avant de mettre en place ce genre de solution.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l'équipe de modération.
[^] # Re: linux-vserver's vunify,vhashify
Posté par Vivi (page perso) . Évalué à 2.
Il y a une réponse pertinente dans la FAQ de monotone http://monotone.ca/docs/Hash-Integrity.html
(pour résumer leur opinion: the analysis in the paper is wrong)
[^] # Re: linux-vserver's vunify,vhashify
Posté par alenvers (page perso) . Évalué à 3.
Un rapide calcul donne que pour 10e20 message et en utilisant sha-1, on a une probabilité de rien du tout d'avoir une collision
$ bc -l
1-e(-(10^40 / 2^161))
.00000000342113882306
10^20 correspond à 273972602739726 mails par jour sur un période 1000 ans. Je pense qu'on a encore le temps de voir une collision...
[1] http://en.wikipedia.org/wiki/Birthday_paradox
[^] # Re: linux-vserver's vunify,vhashify
Posté par geb . Évalué à 1.
Sauf si elle est intentionnelle...
[^] # Re: linux-vserver's vunify,vhashify
Posté par alenvers (page perso) . Évalué à 2.
# Besoin criant ?
Posté par bamboo (page perso) . Évalué à 1.
[^] # Re: Besoin criant ?
Posté par geb . Évalué à 0.
# Cyrus ?
Posté par Thierry Thomas (page perso) . Évalué à 2.
[^] # Re: Cyrus ?
Posté par Skunnyk (page perso) . Évalué à 3.
http://cyrusimap.web.cmu.edu//imapd/overview.html#quotasup
The Cyrus IMAP server supports quotas on storage, which is defined as the number of bytes of the relevant RFC-822 messages, in kilobytes. Each copy of a message is counted independently, even when the server can conserve disk space use by making hard links to message files. The additional disk space overhead used by mailbox index and cache files is not charged against a quota.
[^] # Re: Cyrus ?
Posté par MrLapinot (page perso) . Évalué à 5.
# déduplication
Posté par PsychoFox . Évalué à 4.
Est-ce que ce type de système existe (dans le libre) ? Je n'ai pas trouvé. Est-ce que vous pensez que cela est une bonne idée ? Je pense personnellement que les besoins en stockage seraient dramatiquement plus bas.
ça s'appelle de la déduplication et c'est déjà proposé par les boites qui vendent des solutions de stockage. C'est très couramment utilisé par les solutions de backup.
Du côté du libre je sais que c'est prévu dans zfs pour l'été prochain dans opensolaris.
http://mail.opensolaris.org/pipermail/zfs-code/2009-March/00(...)
[^] # Re: déduplication
Posté par PsychoFox . Évalué à 3.
[^] # Re: déduplication
Posté par nodens . Évalué à 3.
[^] # Re: déduplication
Posté par nodens . Évalué à 2.
Et je fais allusion à https://linuxfr.org/comments/1029823.html#1029823 comme ça c'est clair ;)
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l'équipe de modération.
# Fonctionnalité très importante
Posté par Antoine Nivard (page perso) . Évalué à 2.
Effectivement cette fonctionnalité recherchée est extrêmement importante. Car elle permet de réduire de plus 50% l'espace disque d'une structure avec 200 BAL.
Je prends l'exemple de Lotus Notes avec la fonctionnalité DAOS qui permet indexer toutes les pièces jointes dans une base de données.
D'autres serveurs de courriers closed-source proposent cette fonctionnalité.
C'est dommage qu'en OpenSource on ne trouve pas cette fonctionnalité en version stable prêt pour la production!
J'espère que cela va changer
à bientôt
# DBmail does it
Posté par babatoko . Évalué à 3.
Voici mes 2 cents! Il existe un projet qui se nomme dbmail [www.dbmail.org] et qui supporte dans sa branch devel la capacite de stocker une seule fois un mail. Cette capacite s'appele single-instance-storage.
Voici la page annoncant pour cette fonctionalite dans la branch 2.3.x [http://www.dbmail.org/index.php?page=news&id=41].
tick Done ;-)
# oui ça existe :-)
Posté par zx81 . Évalué à 1.
[^] # Re: oui ça existe :-)
Posté par herodiade . Évalué à 1.
http://wiki.dovecot.org/MailboxFormat/dbox
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.