Migrer vers un nouveau VPS
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 :
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.txtAjoutez 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.
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 :
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 baseSur 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 :
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
- Diagnostiquer un site lentMesurer le temps de réponse avant de modifier quoi que ce soit, puis isoler serveur, base, Nginx et application.
- Diagnostiquer un VPS qui ne démarre plusUtiliser la console, lire le journal du démarrage précédent et réparer disque, fstab ou paquets avant de réinstaller.
- Nettoyer les logs et le cacheLibérer de l'espace disque sans casser de service, en traitant journaux, paquets, caches et images Docker dans le bon ordre.