J’ai migré aujourd’hui une stack auto-hébergée (cloud personnel, mail, ~110 Go de données) d’un vieux serveur dédié (Atom 2 cœurs / 4 Go RAM, 2012) vers un Xeon récent (4c/8t / 62 Go RAM).
Downtime réel : <10 min.
Le secret : pas de « lift and shift » brutal. La stratégie :
- Pré-copier 99% des données quand le vieux serveur est encore en service (rsync incrémental, on ne s’en rend pas compte côté users)
- Installer la même version exacte de la stack sur le nouveau (Apache, PHP, MariaDB, Redis, Dovecot — versions identiques au patch près) pour que le rsync soit binaire-compatible
- TTL DNS à 300s posé 24h avant, pour que la propagation prenne 5 min au lieu de 1h
- Le jour J : dump BDD frais (~30 sec), rsync différentiel (les modifs depuis hier seulement, ~5 Mo), bascule DNS, certbot, on relance.
Le piège que tout le monde ignore : sans la version-parity, Postgres/MySQL refuse de remonter le dump. Si tu installes « PHP 8.3 » sur le nouveau et « PHP 8.2 » sur l’ancien, tu vas pleurer.
Un downtime court n’est pas un super-pouvoir, c’est juste de la préparation.