Fermer

Migration de serveur

Ça y est ! L’heure a sonné, mon serveur web doit migrer vers un nouveau serveur.

L’ancien serveur tourne sur Jessie (Debian 8) depuis quelques temps déjà considérée comme oldoldstable. La version de PHP présente sur Jessie commençait vraiment à dater : 5.6.40 ; elle ne me permettait plus non plus de faire fonctionner correctement les WordPress, divers sites qui réclamait tous maintenant une version 7 minimum et tous les outils que je développait.

Autre point qui commençait à m’embêter : l’âge du serveur. Il tourne depuis janvier 2013 ! La migration m’a permis d’augmenter de manière importantes les capacités physiques. De 2 à Go de RAM, disque dur de 0.5Go à 2To, de 1 à 4 processeurs…avec un prix divisé par 2 !

Un serveur, pour quel services

Principaux services utilisés sur l’ancien serveur :

netstat -laputen
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        User       Inode       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      107        1712677871  8990/mysqld     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          1599349796  27709/sshd      
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      103        1699913245  8053/named      
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      103        1699913250  8053/named      
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      0          523929131   30121/exim4     
tcp        0      0 127.0.0.1:2525          0.0.0.0:*               LISTEN      0          523929130   30121/exim4     
tcp6       0      0 :::22                   :::*                    LISTEN      0          1599349798  27709/sshd      
tcp6       0      0 ::1:53                  :::*                    LISTEN      103        1699913247  8053/named      
tcp6       0      0 ::1:953                 :::*                    LISTEN      103        1699913251  8053/named      
tcp6       0      0 ::1:25                  :::*                    LISTEN      0          523929134   30121/exim4     
tcp6       0      0 ::1:2525                :::*                    LISTEN      0          523929132   30121/exim4     
tcp6       0      0 :::80                   :::*                    LISTEN      0          1729786392  28849/apache2
udp        0      0 127.0.0.1:921           0.0.0.0:*                           0          1699913098  7949/lwresd     
udp        0      0 127.0.0.1:53            0.0.0.0:*                           103        1699913244  8053/named      
udp6       0      0 ::1:53                  :::*                                103        1699913246  8053/named

Les serveurs utilisés :

  • SSHd : Secure SHell Daemon
  • BIND : Berkeley Internet Name Daemon
  • exim4 : EXperimental Internet Mailer (qui n’est plus experimental depuis très longtemps)
  • lwresd : lightweight resolver daemon
  • mysqld : système de gestion de bases de données relationnelles
  • apache2 : Apache HTTP Server

Lors de l’installation du nouveau serveur, je n’ai modifié qu’un seul type de serveur. Tous les autres étant encore à jour et entièrement fonctionnel.

J’ai changé uniquement mon serveur de base de données : j’ai migrer de mysql à MariaDB. Migration très simple et très rapide. Migrations plutôt orienté pour raison « éthique ». Que ce soit MySQL ou MariaDB, les commandes sont identiques, et la migration se fait facilement. Export sur l’ancien avec mysqldump, copie du fichier avec scp puis import avec la commande mysql.
Je n’ai pas noté de différences de rapidité sur mes bases de données de type innoDB de taille : 677M.
J’en ai également profiter pour migrer mon outils d’administration de base de données . Je suis passé de phpMyAdmin à Adminer qui est vraiment plus petit, léger et simple à configurer.

J’ai également ajouté le support du https avec Let’s Encrypt sur mes différents hôtes web, devenant indispensable chez Google pour le référencement naturel.

Tous les logiciels ont profité de cette migration pour se mettre à jour.

L’installation du nouveau serveur

  • Lancer l’installation de la Debian depuis l’interface de l’hébergeur
  • Ajout de sous-domaines *.nouveau.enguehard.info (ce qui me permettra de tester les vhosts)
  • Modification du TTL sur tous les noms de domaines : 1h
  • Se connecter en root
  • Mise à jour des paquets
  • Récupération des infos de la machine (free, mem, df, /proc/cpuinfo…)
  • Sécurisation de SSH
  • Installation du serveur Web : Apache
  • Mise en place de Let’s Encrypt
  • Configuration de tous les vhosts (ce qui permet de faire un peu le ménage)
  • Installation du serveur de base de données : MariaDB
  • Installation de l’outil d’administration de la BDD : Adminer
  • Export SQL sur l’ancien serveur, et import sur le nouveau serveur
  • Copie (rsync) de tous le dossier vhosts vers le nouveau serveur, l’opération ayant durée une bonne dizaine d’heures
  • Test du fonctionnement des vhosts
  • Liste des modifications a effectuer sur les vhosts
  • Sécurisation de la Debian : apticron, rkhunter, fail2ban…
  • Modification du TTL sur tous les noms de domaines : 24h

Basculer

  • Recopier tous les fichiers
  • Réimporter toutes les bases
  • Modifier toutes les zones DNS
  • Tester

Je laisse tourner sur l’ancien serveur, les différents services et je monitore sur qui resterait à migrer.
Au bout de 48h, je coupe les services de l’ancien serveur.

Quelques statistiques sur l’ancien serveur

Nombre de paquets utilisés : 1007

dpkg --list | grep ^ii | wc
 1007   10023  138389
uptime
 22:19:59 up 2281 days,  7:45,  1 user,  load average: 0,00, 0,01, 0,05

who -b
         démarrage système 2013-05-29 12:13

uptime -s
2013-05-29 14:34:37

date
mardi 27 août 2019, 21:18:22 (UTC+0000)

Nombre d’utilisateurs (hors root) : 1

Je ne pourrais pas donner de statistiques sur : le nombre de mails envoyé, les nombres de visiteurs Web, le trafic SQL, de données transférées…mes fichiers de log n’étant configurer pour être gardé que sur les 7 derniers jours.

La puissance de Debian

Extrêmement robuste au temps. Simple, rapide, efficace. Les mises à jours se sont toujours faîte simplement et de manières sûres.

Ma première Debian a été une version 2.2 : Potato ; et depuis ce jours, je ne regrette pas de l’avoir essayé et adopté ! Debian ne fournit pas la dernière version des paquets et logiciels, mais assure une stabilité (et sérénité) inégalé.

En résumé : stabilité et sécurité

L’ancien serveur n’a utilisé qu’un seul dépôt externe : www.deb-multimedia.org. Et en 6 ans, je n’ai utilisé que 2 versions de Debian : Wheezy publié le 4 mai 2013 et Jessie le 25 avril 2015.

Ce qui a changé chez l’hébergeur

Quand j’ai commandé mon serveur en 2013, c’était chez kimsufi, mais mon interface d’administration se situait sur un domaine ovh.com.

Ma dernière commande (toujours chez kimsufi) a modifié mon interface d’administration, maintenant hébergé chez kimsufi.com et une interface très différente, mais beaucoup plus simple et plus claire. Par contre, j’ai déjà explosé le nombre de tickets…de 1 démarrage automatisé chez OVH à plusieurs dizaines ….. Je n’aurais pas du sélectionner Debian Buster dans la liste pour l’installation de mon serveur, cette dernière distribution était bien proposé mais aucune mentions sur le fait qu’elle n’était pas pleinement supporté en ce début août.

Ce qui ne change pas non plus : la gestion de mes noms de domaine toujours chez gandi, qui me fournit également pour certains le service de messagerie.

Bilan

Le plus long délai d’attente a été le transfert des fichiers d’un serveur à l’autre. Les tests prennent aussi beaucoup de temps.

Tout était bien préparé et s’est donc finalement déroulé sans problème.

Laisser une réponse

Votre adresse email ne sera pas publiée. Les champs obligatoires sont indiqués par *