Bonjour et merci d’avoir cliqué sur cet article !
Il y a quelques temps je vous racontais ma catastrophe nucléaire super aventure d’un serveur qui se coupe brutalement et ne donne plus signe de vie.
Récemment j’ai reçu un email venant de mon prestataire me disant “Attention votre version d’Ubuntu ne sera bientôt plus supportée il faudrait passer sur la 22.04 minimum”.
Bon autant vous dire que même si ce mail paraît plus sympathique, j’ai quand même eu un petit sentiment de déjà vu de mon serveur qui se perd dans l’univers cosmique et mes sites/services avec lui. 😀
Donc qu’est-ce qu’on fait dans ces cas là ?
Ah oui, ça c’est sûr qu’on ne va pas y échapper. Imaginer tous les services qui tombent d’un coup sans pouvoir les remettre en parfait état rapidement … ce serait un bon scénario d’Halloween mais nous sommes en mai. Donc on sauvegarde. 🔄
Ici contrairement à la dernière fois on ne va pas uniquement utiliser duplicity. Comprenez que duplicity est utile pour restaurer des services qui ne sont plus en place. Pour l’heure tout tourne sur mon serveur donc j’ai déjà des sauvegardes quotidiennes via duplicity qui sont faites de chaque site. Moi, je veux simplement le récupérer “en l’état” si quelque chose se passait mal lors de la mise à jour.
Pour ça j’ai décidé de compresser la majeure partie “utile” de mon serveur. Donc tous mes dossiers de production puis quelques configurations. J’utilise la bonne vieille commande tar
et me voilà au bout de quelques minutes avec mon dossier compressé.
Si je dois repartir d’un serveur de zéro je n’aurais donc plus qu’à dézipper ce fichier sur mon serveur pour retrouver ma configuration initiale.
Maintenant que je dispose d’une copie presque complète du serveur ce que je pourrais éventuellement tester c’est de déployer celle-ci sur une machine virtuelle (VM) pour vérifier qu’effectivement tout redémarre sans problème.
Vous pouvez donc utiliser votre logiciel de VM favori (VirtualBox, VmWare, etc) et lancer une version Ubuntu 22.04. Une fois celle-ci lancée vous allez y envoyer votre fichier tar.gz créé précédemment et le dézipper dans le bon dossier. Normalement vous devriez retrouver tous vos sites, services et configurations. Si comme moi vous utilisez docker pour gérer tout ce petit monde, une remise en route des containers devrait vous permettre de voir rapidement si tout se relance normalement.
✅ C’est ok ? Si vous n’avez rien oublié votre mise à jour d’Ubuntu devrait donc se passer sans problème en production.
❌ Des erreurs ou des problèmes surgissent ? C’est le moment de prendre des notes et de chercher à les résoudre. Il vaut mieux que ça vous arrive ici dans un environnement neutre que sur votre vraie production non ? 😀
Bon si on fait un rapide récapitulatif nous avons :
Avec toutes ces précautions on pourra au moins dire qu’on a fait le maximum pour préparer le terrain. Il est donc l’heure de lancer enfin la commande stressante : sudo do-release-upgrade
Voilà votre mise à jour est lancée, les paquets vont se télécharger et votre serveur va redémarrer. Oui c’est obligatoire et pendant quelques secondes vos services vont se couper mais si tout a bien été configuré ils doivent redémarrer dès que possible et sans encombres puisqu’on a déjà fait les tests sur VM.
Comme nous l’avions vu sur l’article précédent pour récupérer un serveur tombé en panne, ici le maître mot est sauvegarde. Mais l’approche est tout de même un peu différente car dans le cas d’une mise à jour il n’y a pas d’urgence. On a donc le temps de prévoir ce que l’on souhaite faire, comment et surtout de tester différentes configurations pour vérifier ce qui pourrait mal se passer.
Vous avez de la chance entre 20.04 et 22.04 il y a peu de changements qui impactent notre environnement. Pour la mise à jour 24.04 ce sera une autre histoire mais on a encore le temps jusque 2027 pour y penser.
D’ici là je vous souhaite une bonne journée et à bientôt 😀