Migrer vers un nouveau VPS

3 min de lecture07 novembre 2026

Migrer un VPS ressemble à un déménagement : le plus long n'est pas de copier, c'est de savoir ce qu'il faut emporter et de vérifier que tout fonctionne à l'arrivée. Une migration réussie garde l'ancien serveur intact plusieurs jours, diminue le TTL avant la bascule et teste la nouvelle machine avant de toucher au DNS.

Inventaire de départ

Listez ce qui tourne et ce qui dépend de quoi :

Bash
systemctl list-units --type=service --state=running
ss -ltnp
sudo crontab -l
sudo ls /etc/cron.d /etc/systemd/system
dpkg --get-selections > /root/paquets.txt

Ajoutez ce que les commandes ne voient pas : noms de domaine, bases et utilisateurs, certificats dans /etc/letsencrypt, fichiers .env, ports utilisés, services externes (SMTP, stockage, API).

Préparer la cible

Installez la même version majeure du système que la source (Debian 13 vers Debian 13, par exemple) : les chemins de configuration et les paquets seront cohérents. Créez les utilisateurs, ajoutez votre clé SSH, ouvrez le pare-feu, puis testez la connexion avant de copier des données.

Ne copiez pas /etc/machine-id à l'identique : deux machines avec le même identifiant perturbent journald et certains outils. Pour les clés d'hôte SSH, copiez-les uniquement si vous voulez que les clients voient la même empreinte ; sinon, attendez-vous à un avertissement à la première connexion.

Transférer fichiers et bases

Un premier passage pendant que le site tourne réduit le temps d'arrêt, puis un second passage final capture les derniers fichiers.

Bash
sudo apt install rsync
sudo rsync -aHAX --numeric-ids --info=progress2 -e ssh /var/www/ utilisateur@VOTRE_IPV6:/var/www/

Pour la base, exportez avec une transaction cohérente puis importez sur la cible :

Bash
sudo mysqldump --single-transaction --routines --triggers -u root -p base | gzip > base.sql.gz
scp base.sql.gz utilisateur@VOTRE_IPV6:/root/
gunzip < /root/base.sql.gz | sudo mysql base

Sur PostgreSQL, utilisez pg_dump -Fc puis pg_restore.

Basculer le DNS

Baissez le TTL à 300 secondes au moins 24 heures avant. Ajoutez ou modifiez les enregistrements A et AAAA vers la nouvelle adresse. Testez avant la bascule avec une résolution forcée :

Bash
curl -6 --resolve "votre-domaine.fr:443:[VOTRE_IPV6]" https://votre-domaine.fr/

Vérifiez le certificat sur la nouvelle machine, les redirections, les formulaires et l'envoi d'e-mails. Gardez l'ancien serveur allumé et sa base intacte.

Vérifier et revenir en arrière

Surveillez les journaux des deux côtés pendant la bascule. Si un problème sérieux apparaît, remettez les enregistrements DNS vers l'ancienne adresse : c'est votre retour arrière le plus rapide. Attention, les données écrites sur la nouvelle machine après la bascule ne seront pas sur l'ancienne ; décidez vite ou prévoyez une réplication.

Attendez au moins 48 heures, faites une dernière sauvegarde de l'ancien serveur, puis supprimez-le. Documentez l'inventaire, les commandes et les écarts entre les deux machines pour la prochaine migration.

Publicité

Cet article vous a-t-il aidé ?

À lire aussi