Forum Linux.débutant Comment correctement sauvegarder /var/mail?

Posté par  (site web personnel) .
Étiquettes : aucune
-2
30
juin
2006
Bon, je découvre Linux version serveur (mmm... La belle ligne de commande en SSH, seule interface dispo :) ), ca avance bien, je coince toutefois sur un probleme metaphysique :
Comment sauvegarder correctement le repertoire /var/mail, sachant qu'il arrive des mails sans prévenir, donc que je ne peux etre sûr (à priori, confirmez) de l'intégrité des fichiers lorsque postfix et dovecot (POP3 et IMAP) s'en serve?
J'ai peur qu'en faisant un simple tar (ou autre) de ce repertoire, soit un mail se pert, soit l'integrité de la boite des utilisateurs s'en ressente.
Et forcement, j'aimerai faire la sauvegarde sans eteindre Postfix et Dovecot, en tout cas un minimum... Les boites mails pouvant facilement faire 20 Go avec tous les utilisateurs a terme, arreter tout pour backuper tout est non souhaité.
La solution a cette question que tout le monde a du se poser un jour?
  • # Maildir?

    Posté par  . Évalué à 1.

    C'est un peu à côté de la plaque, navré. Mais ici, le problème se règle de la manière suivante: postfix délivre automatiquement le courrier dans les maildirs des utilisateurs. Donc pour la sauvegarde, on se pose pas trop de questions, on tar les maildirs à intervalle réguliers. Dans le pire des cas, un fichier n'était pas fini d'écrire : tant pis pour lui, il sera sauvegardé à la prochaine itération (après tout, s'il était arrivé un poil plus tard, il n'aurait même pas commencé à écrire, alors on va pas se plaindre).

    Maintenant, effectivement, sur un stockage monofichier ça peut être plus délicat :/
    • [^] # Re: Maildir?

      Posté par  (site web personnel) . Évalué à 1.

      C'est risquer de faire une archive tar avec des fichiers qui peuvent changer durant l'archive, ça peut donner des archives irrécupérable.

      Une solution c'est l'utilisation de LVM pour la partition /var/mail, ensuite les fonctions de snapshot de LVM permette de figer le système de fichier et d'en faire une "vue" qui peut être backupé très simplement par tar, cpio, amanda, ... A la fin du backup il suffit de supprimer le snapshot.
      • [^] # Re: Maildir?

        Posté par  (site web personnel) . Évalué à 2.

        euh... OK, mais la, moi; je débute, pitié avec moi ;-)
        Il n'y a pas plus simple?

        La solution maildir est effectivement un peu mieux, mais reste la coherance quand meme (si le gars fait un deplacement de mail au moment ou je backup, qu'il le deplace dans un repertoire deja backupé juste avant, je perd ce mail, ca ne me plait pas).

        Pas d'autre solution que LVM? Vous backupez jamais vos mails? ;-)
        • [^] # Re: Maildir?

          Posté par  (site web personnel) . Évalué à 4.

          La seul solution c'est les snapshot LVM ou d'autre système de fichier supportant les snapshot, mais c'est pas moins complexe.

          Voici une solution avec LVM et un volume en XFS. Pourquoi XFS, simplement parce qu'il supporte le freeze (empêcher l'écriture sur un disque pendant un moment) et le redimensionnement à chaud de la taille de la partition, mais ça c'est un autre sujet.

          Donc on va dire que /var/mail est un volume LVM formté en XFS, pour le backupé:



          # Empécher toutes le écriture pendant la création du snapshot pour éviter les problème, /var/mail correspond au volume LVM /dev/lvmmail/prod
          xfs_freeze -f /var/mail

          # Créer un nouveau volume LVM qui sera une vue instannée du /var/mail
          lvcreate -l 500 -s -n snap /dev/lvmmail/prod

          # Monter le snapshot pour le bakcuper
          mount -o nouuid,ro /dev/mapper/lvmmail-snap /var/mail-snap

          # Unfrreze du volume /var/mail
          xfs_freeze -u /var/mail

          # Sauvegarder avec tar, cpio, ou n'importe quoi d'autre
          ...

          # Destruction du snapshot
          unmount /var/mail-snap
          lvremove -f /dev/lvmmail/snap


          C'est pas si complexe ;-)

          Un truc à faire gaffe vu que tu freez ta partition /var/mail, ton MTA (postfix,exim, ...) ne pourront pas déliver les mails et risque de faire de belle erreur dans les logs. Idem pour POP et IMAP que ne pourront pas supprimer les messages.

          Pour le MTA, tu peux l'arrêter avant le freeze, pour autant que tu as un serveur de mail secondaire dans tes DNS. Quand tu un unfreeze tu peu relancer SMTP, pour POP et IMAP tu peux aussi arrêter le service et le rédémarrer ensuite, l'intéruption ne sera pas très longue.

          Voilà si tu veux plus d'infos, n'hésite pas ;-)

          Et pour ta question, vous ne backupez jamais vos mails ... biensûre qu'on les backup (bon certaiement pas tous le monde ;-) quand tu proposes un service d'accès IMAP, t'es obligé de backupé vu que les clients n'ont que rarement un copie de leur mails sur leur ordi.

          Il existe aussi une autre solution pour backuper des mails à chaud. Donc sans aucune interuptions de services, mais ça demande une machine dédié avec autant d'espace disque que sur ton serveur de mail principale. Tu dois avoir un serveur IMAP sur les deux serveurs et tu peux synchronisé les BAL via IMAP avec des outils comme imapsync ou autre. L'avantage c'est que ton système reste parfaitement disponible, mais le backup sera plus lent (pas de compression).

          Tu peux imaginer synchroniser les comptes via IMAP durant la journée, puis arrêter le service IMAP sur le serveur de backup qui sera ensuite backupé par une solution comme Amanda pour finir sur un lecteur de bande.

          Autre avantage de la solution tu as un serveur de backup complétement fonctionnel, en cas de panne sur le premier, tu n'as qu'a changer l'adresse IP de la machine de backup et hop ton service de mail est à nouveau dispo.

          Des serveurs IMAP comme Cyrus ou Dovecot permettent d'avoir un utilisateur qui a accès au toutes les BAL ça simplifie la synchro. Sinon faut te loguer avec les mots de passe des tes utilisateurs à chaque fois.
          • [^] # Re: Maildir?

            Posté par  (site web personnel) . Évalué à 2.

            Ne pas oublier que j'ai mis la question dans le forum "Debutant" ;-)
            Belle prose! La, j'ai l'explication qu'il me fallait!

            Bon, puisque j'ai le droit de ne pas hésiter à poser plus d'info, je continue :
            Je laisse de coté le deuxieme serveur identique, ce sera pour plus tard lorsque que je serai un super-mega-administrateur d'un super-mega-site ;-).
            J'opte pour le snapshot, avec arret très court donc des démons Postfix et Dovecot.
            Les questions :
            - Combien de temps (environ ;-) ) dure l'interuption de service pour faire un snapshot de 5 Go sur un disque IDE (du freeze au freeze -u)? Surtout par rapport à une copie brute de ces 5 Go (vu que sinon, ma solution est de stopper les démons aussi, faire un tar, relancer, compresser ensuite, faut que ce soit interessant)
            - Je sais creer une partition XFS (enfin... Mon hebergeur propose de creer du XFS à l'initialisation de la machine, sinon je ne sais pas faire), mais LVM/XFS, je coince si il y a des trucs a faire... J'ai juste a creer une partition XFS de base, et ton script s'occupe du LVM comme un grand?
            - Pour résumer, j'ai juste a creer une partition XFS /var/mail, balancer ton script en y ajoutant les arret/relance SMTP/IMAP, et zou?
          • [^] # Re: Maildir?

            Posté par  . Évalué à 1.

            Que se passe-t-il si pendant le freeze xfs et/ou le snapshot lvm le système se prends
            un reboot (par l'admin amnésique ou encore l'onduleur qui force un arrêt) ?
            Tout ça se "décoince" au reboot ?
            (bon, c'est dépasse un peu le cadre de la question originale :-)
            • [^] # Re: Maildir?

              Posté par  (site web personnel) . Évalué à 2.

              (bon, c'est dépasse un peu le cadre de la question originale :-)

              Meme pas, la réponse m'interesse, car quand on fait une modif, faut savoir les impacts quoi qu'il arrive, panne electrique comprise.
              • [^] # Re: Maildir?

                Posté par  (site web personnel) . Évalué à 2.

                L'intérupption pour créer une snapshot sera très courte par rapport à une copie brut de tous les fichiers. Je peux difficilement te donner un temps exact, tout dépendant de la taille des fichiers, de leur nombre, de la vitesse de ton disque, ...

                Pour ce qui est de la coupure le freeze ne sera plus là au reboot et ton snapshot LVM sera certainement corrompu, il suffit de le supprimer et de recommencer.

                Pour l'admin amnésique ;-) faut qu'il prenne des notes quand il fait ses backup histoire d'éviter ce genre de souci.

                Maintenant combien d'utilisateur comptes tu avoir sur ton serveur ? POP ou IMAP ? Les disques IDE ne sont pas des foudre de guerre et les performances serait meilleures, y compris pour faire le snapshot sur du SCSI.

                Maintenant pour LVM, tu dois créer un volume LVM, puis formater ce volume en XFS. Le mieux serait d'avoir deux disques, l'un pour le système + log et l'autre pour les données du serveur de mail. Les performances seront bien meilleure. Installer Linux sur le disque 1 et au reboot créer un volume LVM sur le disque 2, y plein de doc sur Internet pour LVM.

                Si t'as qu'un seul disque, il faut que l'install se fasse sur un minimum d'espace pour tes partitions / /root /home /usr /var, ... ce qui laissera de la place pour que tu puisse créer un volume LVM après le reboot sur le reste du disque.
                • [^] # Re: Maildir?

                  Posté par  (site web personnel) . Évalué à 2.

                  Du calme, j'ai pas un gros serveur ;-)
                  Pour le moment il y aura 3 BAL, peut-etre 10 en fin d'années, c'est tout.
                  C'est pour ca qu'un seul disque IDE me suffit largement à mon avis.
                  Les serveurs avec disques systemes en RAID1 et disques datas en RAID5, c'est au taf que je les achete, mais c'est pas ma tune ;-)

                  Seulement, je veux commencer avec des bonnes pratiques dès le départ, pour ne pas avoir à corriger plus tard si besoin, et pour bien apprendre. Je monterai en terme de puissance quand mon site en aura besoin (mais avant : partage de charge avec 2 machines au cas ou une tombe en panne, donc on a le temps...)

                  Il y aura POP et IMAP disponible et utilisé.
                  Donc OK, je laisse de la place dispo au premier formatage, ensuite comment je fais?
                  Est-ce la bonne procédure :
                  # lvcreate -L6000 testlv1
                  # mkfs -txfs /dev/testlv1
                  (pas sûr du tout :), je débute)
                  • [^] # Re: Maildir?

                    Posté par  (site web personnel) . Évalué à 1.

                    Ce howto devrait répondre à toutes tes questions (et en français)
                    http://www.ibiblio.org/pub/linux/docs/HOWTO/translations/fr/(...)

                    Je te conseille de tout bien lire, et de bien essayer les différentes manipulations, de cette manière tu seras à l'aise avec LVM. En cas de problème c'est quand même plus agérable que de lire la doc en urgence ;-)

                    Dès que topn Volume Physique est créer il faut faire un Volume Logique, puis formater normalement le Volume Logique avec des commandes comme mkfs.xfs et le mounter avec mount (+ éditer /etc/fstab).

                    Bonne lecture,
                    • [^] # Re: Maildir?

                      Posté par  (site web personnel) . Évalué à 2.

                      ah... les connaisseurs, difficile de ce mettre au niveau d'un débutant ;-)

                      Bon, je me note pour moi plus qu'autre chose, essayer (pas d'accès SSH au taf :( ), pour creer LVM/XFS :
                      - fdisk, creer une partition dédiée LVM /dev/sda5 de 6 Go
                      - pvcreate /dev/sda5
                      - vgcreate lvmmail /dev/sda5
                      - lvcreate --size 5g --name prod lvmmail
                      - mkfs -txfs /dev/lvmmail/prod
                      - /etc/fstab, rajouter /var/mail --> /dev/lvmmail/prod

                      Pour backuper :
                      - /etc/init.d/postfix stop
                      - /etc/init.d/dovecot stop
                      - xfs_freeze -f /var/mail
                      - lvcreate --size 1g --snapshot --name snap /dev/lvmmail/prod
                      - mount -o nouuid,ro /dev/mapper/lvmmail-snap /var/mail-snap
                      - xfs_freeze -u /var/mail
                      - (Backup)
                      - unmount /var/mail-snap
                      - lvremove -f /dev/lvmmail/snap
                      - /etc/init.d/dovecot start
                      - /etc/init.d/postfix start

                      PS : en fait, ce que je n'ai pas compris dans ton exemple est ton emploi de /dev/mapper/lvmmail-snap avec mount, pourquoi pas /dev/lvmmail/snap?
                      • [^] # Re: Maildir?

                        Posté par  (site web personnel) . Évalué à 1.

                        Sous debian, j'utilise toujours le mapper pour faire un mount. Mais normalement ça ne devrait pas changer grand chose, tu peux faire un mount /dev/lvmmail/prod

                        Sinon ta suite de commande semble correct.

                        Désolé pour le problème de "mise à niveau" ... c'est pas toujours facile de sortir d'un datacenter et d'expliquer simplement les choses ;-) Je suis sysadmin, pas prof et je sais pourquoi ;-)

                        En espérant t'avoir quand même éclairer.
                        • [^] # Re: Maildir?

                          Posté par  (site web personnel) . Évalué à 2.

                          En espérant t'avoir quand même éclairer.

                          Enormément, je t'en remercie. Mais moi je les commande les data-centers (ou presque), je connais la partie hardware, mais après je laisse le soin aux experts d'administrer :).
                          Je sais qu'il y a une difference entre un Bi-Dual-Xeon en RAID0+1 et ma machine ;-), le temps du bi-Xeon viendra quand je serai riche :)
                          En attendant, j'apprend les bases des bonnes pratiques (c'est long! :) )

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.