site web forum documentation

CLUB1.FR

🇬🇧

Migration de Ubuntu à Debian (Phase 3)

La migration en tant que telle

Cet article est le dernier d'une série de trois. Il raconte le déroulement de la migration effective de Ubuntu vers Debian.

Étapes de la migration

Pour rappel, cette migration a été découpée en trois étapes.

La première était de préparer le dossier de configuration du serveur afin de permettre sa transplantation dans une distribution Linux différente. L'article Migration de Ubuntu à Debian (Phase 1) fait le récit de cette première partie.

La deuxième était de préparer les sauvegardes du serveur pour être certains qu'elles contiennent toutes les données nécessaires et qu'elles s'appliquent correctement sur le nouveau système. Elle est détaillée dans l'article Migration de Ubuntu à Debian (Phase 2).

La dernière partie, ici présente, fait un point sur la migration du serveur CLUB1 en tant que telle.

Dernières préparations

Cette fois-ci c'est le grand jour, la migration aura enfin lieu. Quelques jours avant, nous nous sommes dits que c'était tout de même un peu tenter le diable que d'écraser le disque comportant le système actuel lors de la migration. Nous avons jugé plus sage d'acheter un SSD supplémentaire afin de conserver l'ancien intact et pouvoir le réutiliser tel quel en cas de fiasco. Nous nous sommes également dits que quitte à acheter un nouveau matériel, autant profiter du port M.2 présent sur la carte mère, permettant un meilleur débit que le SATA 3 et jusqu'alors inutilisé. Nous achetons donc, un peu en urgence, un SSD Samsung de 1 To chez LDLC.

Au moment de l'écriture de l'article de la phase 2 il restait encore quelques problèmes à résoudre, notamment empêcher les services tout juste installés de se lancer automatiquement. C'est là qu'intervient la fonctionnalité de preset de Systemd, parfaitement adaptée à notre besoin. Nous nous étions aussi rendus compte que la clé de vérification du dépôt de Grafana était périmée dans extrepo, un outil permettant d'ajouter de manière sécurisée des dépôts Debian externes. Heureusement notre proposition de mise à jour a été acceptée juste à temps.

Nous avions prévu d'utiliser les sauvegardes pour réaliser la migration, mais celles-ci se font la nuit, à 5 heures. Pour ne pas perdre les données de la matinée, nous redémarrons le serveur en mode récupération, afin qu'aucun service ne soit lancé, et nous lançons à 12:30 une sauvegarde du système et des bases de données. À partir de cet instant, CLUB1 est inaccessible pour une durée de 9 heures.

Installation de Debian

Une fois la sauvegarde terminée, nous déconnectons l'ancien SSD et installons le nouveau. Les choses sérieuses peuvent commencer.

Nicolas en train de déconnecter l'ancien SSD à l'intérieur du serveur, encore dans son rack
La clé contenant l'ISO de Debian est branchée en facade et l'ancien SSD est complètement déconnecté pour être certain de ne pas modifier son contenu.
Photo du nouveau SSD branché sur la carte mère
Le nouveau SSD NVMe est en place dans son port M.2.
Photo d'Etienne pointant du doigt l'installateur Debian dans une des trois fenêtres d'un écran d'ordinateur
L'iKVM en Javascript un peu foireux de Supermicro nous permet tant bien que mal de lancer l'installateur Debian.
Etienne et Nicolas en train de réfléchir devant l'écran
Le protocole de restauration/migration décrit sur le forum est scrupuleusement respecté, mais les ennuis pointent le bout de leur nez.

Les problèmes commencent

Le protocole de restaurations des sauvegardes ayant été bien éprouvé, il n'y a pas eu de grosse surprise lors de la migration. Cependant, tous les services n'avaient pas vraiment été testés lors des exercices, car nous nous sentions capables de finaliser les réparations le moment venu. Il y a donc évidemment eu quelques soucis :

  • Un certain temps a été dédié à réparer un problème qui n'en était pas vraiment un avec l'annuaire LDAP. Sa base de données semblait vide alors qu'il suffisait de redémarrer nslcd. Et la raison pour laquelle ldapfinger ne nous renvoyait aucun résultat était dû à son fichier de mot de passe corrompu lors de la fusion du dossier etc.
  • Les bases de données SQL étaient bien toutes sauvegardées sauf une : mysql, automatiquement exclue par le logiciel de sauvegarde. Elle contenanait les utilisateurs et leurs permissions qu'il n'a pas été trop compliqué de recréer avec les scripts de CLUB1. Mais il faudra trouver un moyen de sauvegarder ces données proprement.
  • Pour une raison mystérieuse, Icecast était impossible à démarrer avant d'avoir relancé la configuration automatique du paquet Debian. Le script InitV appelait systemctl, mais aucune unit n'est présente.
  • Le plugin LDAP pour Tiny Tiny RSS nécessitait de créer un lien symbolique dans /usr/share/tt-rss/www/plugins/.
  • La version de Roundcube avait changé et le dossier vers lequel faire pointer le virtual host aussi.
Photo du bureau à la lumière chaude de la l'ampoule
Il commence à se faire tard.

Il aurait été possible d'éviter ces soucis en amont en testant bien tous les services et en réparant leur configuration à l'avance, mais tout ce travail à faire au préalable est long et épuisant et retarde d'autant plus la migration dont la préparation commençait à s'éterniser.

Enfin fini !

Le MOTD de CLUB1 affichant fièrement la bannière de Debian, le système dont il est maintenant originaire

Le MOTD (Message Of The Day ou message du jour), un des rares endroits où l'on peut vraiment percevoir une différence en tant qu'utilisateur.

On y décèle également l'arrivée du nouveau SSD système de 1 To.

Il reste encore quelques détails à peaufiner sur le protocole de restauration, mais dans l'ensemble la migration s'est plutôt bien déroulée.

Le découpage en phase a permis de rendre plus appréhendable ce processus long et fastidieux. La phase de fusion du dossier /etc était particulièrement satisfaisante grâce à la puissance de l'outil Git, notamment la possibilité de facilement intégrer les évolutions de la configuration de CLUB1 au cours du temps, en lançant à nouveau la commande de fusion.

Ce chapitre maintenant clos, il va enfin être possible pour CLUB1 de mettre à jour certains logiciels, car pendant toute la période de préparation, les versions des logiciels sur le serveur étaient gelées, pour éviter des imprévus supplémentaires.
Stay tuned pour la prochaine mise-à-jour vers Debian Stable.

Et finalement, nous avons maintenant la certitude que nos sauvegardes nous permettent bien de restaurer l'ensemble du serveur CLUB1 en cas de panne matérielle sur le disque système.


Tous les articles de cette migration

Cet article à été consulté 506 fois