Archive for January, 2010

Autres exemples de migration Etch->Lenny [1]

Sunday, January 24th, 2010

La fin du support officiel de Debian Etch approchant, il est grand temps de migrer vers Lenny pour les machines pas encore à jour. Après un premier exemple de migration Debian Etch->Lenny, je poursuis la série avec des informations tirées de plusieurs migrations récentes sur des serveurs en production.

Je ne rappellerais pas toutes les précautions nécessaires (tests préalables, sauvegardes, désactivations des services, etc.) ni la classique question  sur  “quand faut-il migrer ?”, vous trouverez tout cela dans mes exemples précédents. Je rappelle simplement l’idée de base : prendre les précieuses Release Notes, mettre à jour le fichier sources.list, puis exécuter les commandes aptitude update && aptitude upgradex, puis mettre-à-jour les services les plus critiques via aptitude install <PACKAGE>, et enfin aptitude dist-upgrade && aptitude dist-upgrade (répéter dist-upgrade est souvent nécessaire).

Passons désormais aux différentes remarques sur ces migrations :

– PostgreSQL : on passe de la version 8.1 à 8.3. Notez qu’il s’agit de paquets différents, il est donc possible de garder la version 8.1 en Etch, et d’installer en parallèle la version 8.3, afin de faciliter encore plus la migration. Pour migrer les données, on réalisera un dump avec pg_dumpall qui sera réinjecté dans la nouvelle base. On pourra ensuite adapter le port dans postgresql.conf pour passer la version 8.3 en production.

– phpPgAdmin : avec PostgreSQL 8.3, on ne peut plus se connecter à la table template1 : c’est le comportement par défaut de phpPgAdmin, qu’on devra donc modifier en mettant postgres à la place (pour la variable $conf[‘servers’][0][‘defaultdb’] dans le fichier config.inc.php)

– Apache : la configuration de l’alias /icons/ est déplacé dans le fichier mods-available/alias.conf, il peut donc faire doublon avec la déclaration dans apache2.conf, ce qui sera signalé via le warning suivant : [warn] The Alias directive in /etc/apache2/apache2.conf at line 240 will probably never match because it overlaps an earlier Alias. Commenter les directives dans le fichier apache2.conf résoudra ce petit soucis.

– OpenLDAP : on passe d’une version 2.3 à 2.4, mais le plus marquant pour la migration est que cela force le processus à tourner avec un utilisateur/groupe dédié. Pour diverses raisons (dist-upgrade interrompu par exemple), on pourra rencontrer des soucis plus ou moins alarmants. Ainsi, j’ai pu rencontrer cette erreur :
bdb(dc=example,dc=com): PANIC: fatal region error detected; run recovery
bdb_db_open: database “dc=example,dc=com” cannot be opened, err -30978. Restore from backup!
backend_startup_one: bi_db_open failed! (-30978)
slap_startup failed
On veillera donc sur l’utilisateur/groupe propriétaire des fichiers dans le répertoire /var/lib/ldap et, au besoin, on ajustera : chown -R openldap:openldap /var/lib/ldap/
Mon conseil : mettre-à-jour le paquet slapd de façon spécifique avant le dist-upgrade

– Postfix : on passe de 2.3 à 2.5. On notera simplement la valeur par défaut de $smtp_line_length_limit characters qui passe à 990, ce qui coupe les lignes trop longues pour se conformer au standard SMTP. Si cela posait problème, on pourrait revenir à l’ancien comportement en positionnant smtp_line_length_limit=0

– SpamAssassin : l’utilisant en stockant la configuration des utilisateurs dans un annuaire LDAP, le daemon spamd s’est mis à râler : cannot use –ldap-config without -u
Le problème sera résolu en ajoutant l’option -u nobody, ce qui fera tourner spamd en tant que nobody (ce qui n’est pas une mauvaise chose, au contraire).

– Amavis : apparemment, lors de la détection d’un virus, le code retourné n’est plus 2.7.1 mais 2.7.0 : 2.7.0 Ok, discarded, id=13735-07 – VIRUS: Eicar-Test-Signature
Rien de bien grave, mais cela a nécessité d’adapter un plugin Nagios pour qu’il attende le bon code de retour.

– Courier-imapd-ssl : après une mise-à-jour gardant mon fichier /etc/courier/imapd-ssl actuel, j’obtenai des erreurs avec certains clients IMAP :
couriertls: accept: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
En regardant de plus près, certaines directives changent dans ce fichier de configuration, et il est donc conseillé de repartir du fichier proposé par Lenny, et d’y apporter ses modifications (souvent, cela se limite à préciser le certificat).

– Horde : si vous utilisez une base de données pour stocker les paramètres ou autres, la paquet php-db (déjà en Recommends: en Etch) est d’autant plus nécessaire, sous peine d’obtenir l’erreur : PHP Fatal error:  _init() [<a href=’function.require’>function.require</a>]: Failed opening required ‘DB.php’ (include_path=’/usr/share/horde3/lib:.:/usr/share/php:/usr/share/pear’) in /usr/share/horde3/lib/Horde/DataTree/sql.php on line 1877

– Sympa : on attaque là le cauchemard de mes migrations. À chaque fois, tellement de soucis majeurs et mineurs, que j’ai l’impression d’être le seul à utiliser ce paquet. Voici en vrac tous les soucis rencontrés : les accents dans les descriptions ont sautés (une sorte de double encodage) et cela a nécessité des corrections manuelles, la table logs_table doit être créée à la main (j’utilise Sympa avec PostgreSQL), et enfin une typo surprenante un “GROUP BY” à la place d’un “ORDER BY” (j’ai ouvert le bug #566252 à ce sujet).

– Asterisk : on passe de la version 1.2 à la version 1.4. Lors de la migration, j’ai constaté un bug étrange, le fichier modules.conf qui charge les modules additionnels a disparu. Du coup, sans lui, Asterisk ne charge pas les modules nécessaires (SIP, etc.). Il a donc fallu le restaurer.

– udev : le meilleur ami des sysadmins (ou pas). Si les migrations douloureuses Sarge->Etch sont loin derrière nous, il reste néanmoins quelques blagues. La dernière en date a été un renommage des interfaces réseau : eth0->eth1 et eth1->eth2. Classique mais étonnant, ce genre d’humour est sensé être dépassé grâce aux “persistent rules” qui nomment les interfaces en fonction de l’adresse MAC. À rester vigilant sur ce point avant le redémarrage donc.

Voilà pour les remarques. Vous noterez que je n’ai pas abordé le noyau Linux. C’est parce que pour la majorité de nos serveurs, ils sont gérés de façons spécifiques (au lieu d’utiliser les noyaux officiels Debian). Ainsi, ils restent dans leur version actuelle (2.6.31 à cette heure) pendant la migration. Bien sûr, cela n’empêche pas d’effectuer un redémarrage de la machine suite à la mise-à-jour : cela permet de s’assurer que tout est bien en place et le sera toujours après un éventuel redémarrage d’urgence.

Rendez-vous pour de prochaines migrations !

“Quand je serai grand, je serai marseillais”

Monday, January 18th, 2010
Ca remonte au début des années 1990, et c’est (forcément) lié à l’OM. C’est l’époque où – dans ma classe de CM2 de banlieue parisienne – chacun choisissait un nom d’un joueur de l’OM pour jouer au ballon en mousse à la récré (pour la petite histoire, j’avais “écupéré “Dragan Stojkovic”). Je n’ai pas raté beaucoup de match télévisé de l’OM, que ça soit grâce à un précieux magnétoscope et des réveils à 6h du matin pour voir le match avant l’école, ou des matchs “en crypté” sur Canal Plus avec la radio à côté (je me souviens par exemple du OM-Milan AC de 1991 “entrevu” en plissant les yeux pendant 1 heure). Un peu plus tard, la folie de la Coupe d’Europe 1993 étant passée par là, c’est plus que l’OM, c’est Marseille qui me fascine : Notre-Dame-de-la-Garde, La Canebière, etc. En plus des posters de l’OM, j’ai mis dans ma chambre une belle photo du Vieux-Port. A 15 ans, j’ai enfin l’occasion d’aller à Marseille avec mon père, et de me rendre au Stade Vélodrome pour voir OM-Lille. Du virage Nord, j’assiste à un joli match gagné 5-1, mais surtout à une ambiance bleue et blanc : chants, écharpes, fumingènes, insultes, tout cela me plaît beaucoup. C’est décidé : “quand je serai grand, je serai marseillais”. Alors, quand en 2001 j’ai l’occasion d’aller poursuivre mes études à Marseille, je n’ai pas trop hésité. Et ne croyez pas que j’ai été déçu : entre le soleil, la mer, les degrés de température et la douceur de vivre, tout paraît beau quand on le voit avec un regard presque amoureux. On est loin du gris de Paris et des gens qui font la gueule dans les transports en commun. Certes, tout n’est pas parfait (embouteillages, trottoirs sales, etc.), mais je le prends comme des points à améliorer pour le futur : tout est dans la façon d’aborder les choses ! Presque 10 ans après mon arrivée, j’ai désormais pas mal d’attaches dans le port de Marseille : mes enfants y sont nés à Marseille, j’ai créé une boîte bien implantée sur la région, etc. Je suis toujours aussi fier d’écrire “Marseille” sur mes adresses postales, heureux de voir le ciel bleu à mon réveil, de me ballader sur le Vieux-Port, de rouler sur la Corniche, d’aller au Stade Vélodrome. Mon rêve de minot s’est réalisé. Mais j’en ai encore plein.

Ça remonte au début des années 1990, et c’est (forcément) lié à l’OM. C’est l’époque où – dans ma classe de CM2 de banlieue parisienne – chacun choisissait un nom d’un joueur de l’OM pour jouer au ballon en mousse à la récré (pour la petite histoire, j’avais récupéré “Dragan Stojkovic”). Je n’ai pas raté beaucoup de match télévisé de l’OM, que ça soit grâce à un précieux magnétoscope et des réveils à 6h du matin pour voir le match avant l’école, ou des matchs “en crypté” sur Canal Plus avec la radio à côté (je me souviens par exemple du OM-Milan AC de 1991 “entrevu” en plissant les yeux pendant 1 heure). Un peu plus tard, la folie de la Coupe d’Europe 1993 étant passée par là, c’est plus que l’OM, c’est Marseille qui me fascine : Notre-Dame-de-la-Garde, La Canebière, etc. En plus des posters de l’OM, j’ai mis dans ma chambre une belle photo du Vieux-Port. A 15 ans, j’ai enfin l’occasion d’aller à Marseille avec mon père, et de me rendre au Stade Vélodrome pour voir OM-Lille. Du virage Nord, j’assiste à un joli match gagné 5-1, mais surtout à une ambiance bleue et blanc : chants, écharpes, fumigènes, insultes, tout cela me plaît beaucoup. C’est décidé : “quand je serai grand, je serai marseillais”. Alors, quand en 2001 j’ai l’occasion d’aller poursuivre mes études à Marseille, je n’ai pas trop hésité. Et ne croyez pas que j’ai été déçu : entre le soleil, la mer, les degrés de température et la douceur de vivre, tout paraît beau quand on le voit avec un regard presque amoureux. On est loin du gris de Paris et des gens qui font la gueule dans les transports en commun. Certes, tout n’est pas parfait (embouteillages, trottoirs sales, etc.), mais je le prends comme des points à améliorer pour le futur : tout est dans la façon d’aborder les choses ! Presque 10 ans après mon arrivée, j’ai désormais pas mal d’attaches dans le port de Marseille : mes enfants sont nés à Marseille, j’ai créé une boîte bien implantée sur la région marseillaise, etc. Bref, je suis toujours aussi fier d’écrire “Marseille” sur mes adresses postales, heureux de voir le ciel bleu à mon réveil, de passer sur le Vieux-Port, de rouler sur la Corniche, d’aller au Stade Vélodrome. Marseillais d’adoption mais fier de l’être ! Mon rêve de minot s’est réalisé… mais ne vous inquiétez pas, j’en ai encore plein d’autres (qui a dit trop ?).