Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Migration mysql vers postgres

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Laurent Spagnol <adresse@cachée>
  • To: adresse@cachée, Emmanuel EYER <adresse@cachée>, Marc KOLLER <adresse@cachée>
  • Subject: Re: [sympa-fr] Migration mysql vers postgres
  • Date: Wed, 11 Jul 2018 10:12:29 +0200



Le 11/07/2018 à 09:42, Emmanuel EYER a écrit :
Bonjour Marc,

Eh bien je ne serais pas aussi catégorique. Je sors d'une migration un peu similaire...

Ancien serveur :
 - Solaris 9 (avec un uptime de... 11 ans et 6 mois !)
Installation de Sympa sur Solaris + uptime record ... respect ! ;)

 - MySQL 5.0.22
 - Sympa 5.2.2

Nouveau serveur :
 - Debian 9 (vous noterez que je garde le neuf ;-)
 - MariaDB 10.1.26
 - Sympa 6.2.16 (la version distribuée par Debian)

Migration au poil. J'ai été assis lorsque j'ai tapé sympa.pl --upgrade, car sinon je serais tombé sur le c.l. Ca marche. Big up aux développeurs de Sympa, c'est vraiment cool ! BRAVO !!

Ce qui m'a fait le plus travailler, au final, c'est le fait que les répertoires sous Debian sont "éclatés" dans le système (philosophie Debian, install depuis le repository officiel par apt-get) alors qu'ils étaient tous groupés dans /usr/local/sympa sous Solaris (install à l'ancienne par tar xvf).

Quelques précisions.

Une fois réglé les divers soucis d'intégration à notre infrastructure mail et customization (interface web i tutti quanti), j'ai procédé ainsi. (a) copié le contenu de /usr/local/sympa/expl dans /var/lib/sympa/list_data (les confs des listes) + adaptation des scenarii (oui, j'ai changé les scenarii au passage, je suis joueur). (b) copié les alias de listes (/etc/mail/sympa/aliases chez moi) + changement du chemin vers bouncequeue (je me suis fait piéger, grand moment de solitude pendant 5 minutes après la bascule de l'alias sympa). (c) réinjecté la base sympa (obtenue par mysqldump) dans le nouveau serveur (no souci, MariaDB compatible avec MySQL).

Dans votre cas, il y a potentiellement du travail sur le point (c). Bien que mysqldump produit un fichier SQL, pas sûr s'il est 100% compatible postgres. Je ne connais pas du tout postgres. Mais a priori pas de features exotiques dans la base Sympa. Ce sont des tables très ordinaires. Donc j'aurais tendance à être optimiste.

Bien évidemment, j'ai veillé que le nom de la base (sympa) dans le nouveau serveur était celui configuré dans la conf Sympa. Et tout aussi évidemment, tout ceci fait Sympa arrêté.

Et le magique sympa.pl --upgrade. Assez verbeux, ce qui est bien car je crois bien que ma 1e tentative avait échoué (bêtise de ma part, mon subconscient a effacé le souvenir...) Et si pas de message trop inquiétant, démarrage de Sympa. S'il survit, c'est presque gagné.

Une fois passé en prod, pensez à surveiller le spool "bad" de Sympa (chez moi c'est dans /var/spool/sympa/msg/bad). Si un fichier apparaît, faire grep du nom de fichier (complet, pas besoin de quotes car les noms sont shell-compatibles) dans le log de sympa (/var/log/sympa.log chez moi, attention Sympa "tourne" ses logs quotidiennement) pour connaître la raison du refus (ça peut être normal, par ex sender refusé).

Les petits soucis découverts "en live" le jour de la bascule (la bonne idée est de faire la bascule un matin tôt, avec l'admin mail et le guru Debian à portée de voix - surtout l'admin mail).

Sympa 6.2 REFUSE SYSTEMATIQUEMENT les mails sans Message-ID. Impossible de bypasser cette règle (introduite dans une alpha de la version 6 je crois). C'est gênant car des mails automatiques (genre ceux générés pour la surveillance de matériels) sont parfois dépourvus de Message-ID. Heureusement, dans notre cas, le serveur de mail principal utilise postfix, et postfix a une option pour "rajouter" les headers manquants sur les mails. Dont le Message-ID. Ouf.

Autre "feature" de Sympa 6.2 : par défaut, les messages comportant le header Auto-Submitted à une valeur DIFFERENTE DE NO sont refusés. (J'ai trouvé la règle exacte en lisant le code Perl.) Ca part d'une bonne intention car ça protège contre les auto-reply. Mais certains logiciels (Observium par exemple) l'utilisent aussi, de bonne fois (un logiciel qui envoie un mail, oui, c'est un mail envoyé automatiquement). Un paramètre de liste existe heureusement, il suffit de rajouter la ligne "reject_mail_from_automates_feature off" dans le fichier de config de la liste (ou globalement pour tout le serveur Sympa, vous choisissez) avec des lignes vides autour.

Trouvé avant bascule de prod: configurations postfix sur le serveur mail central + serveur Sympa pour accepter de renvoyer les mails (relays... pas sûr des détails, je ne suis PAS DU TOUT admin postfix).

Il y a quelques changements de comportement entre les versions (normal avec tant d'écart), mais rien de grave. Je n'ai pas de listes archivées (ou plus exactement j'ai supprimé les archives à l'upgrade et j'ai interdit les listes archivées).

Je ne pense pas avoir eu d'autres soucis. Grâce aux mécanismes des serveurs de mail (renvoi du mail sur échec...) la bascule fut 100% transparente, avec AUCUN mail perdu (juste une poignée de mails envoyés dans le désordre chronologique durant les 10-15 minutes nécessaires à stabiliser la bascule en production).

Bonne chance pour votre migration et n'hésitez pas à revenir vers moi au besoin.

Bien cordialement,

--
Laurent Spagnol
Administrateur GNU/Linux

Université de Reims
Direction du Numérique

Campus du Moulin de la Housse
BP 1039 - 51687 Reims cedex 2

Plan d'accès : https://frama.link/DN-URCA

Tel: +33 3 26 91 88 32
Fax: +33 3 26 91 31 87

https://numerique.univ-reims.fr



Archives gérées par MHonArc 2.6.19+.

Haut de le page