Elphia est une société tournée vers l'internet qui se spécialise dans la création de site internet.

En savoir plus

Migration de serveur NetMISS simple et rapide

Bonjour à tous,

Je viens de réaliser la migration de netmiss.fr (en réalité c’est toujours en cours) et j’ai pensé intéressant de vous faire partager le mode opératoire que j’ai mis en place.

N’ayant que peu de temps en ce moment, (et c’est bien pour cela que j’ai fait la migration un dimanche), je n’ai pas cherché à éviter un downtime de quelques minutes minutes. Dans ce cas bien sûr il faut prévenir vos utilisateurs, et le faire à une heure de faible audience.

La propagation DNS est souvent ce qu’il y a de plus dur à gérer, mais il ne faut pas oublier la base de données et les données stockées (200 Go pour NetMISS).

J’appellerais OLD l’ancien serveur, NEW le nouveau pour que ce soit le plus simple.

Jour 1 (10 minutes) :
Je commande NEW 15 jours avant l’échéance de OLD (je reste chez OVH).
Le nouveau serveur est installé avec une distribution Gentoo Linux de base

Jour 2 (3 ou 4 heures) :
Je configure le nouveau serveur en commençant par supprimer tous les services inutiles et potentiellement dangereux pour la sécurité (proftpd etc). Ne gardez jamais un service dont vous n’avez pas besoin.
Je configure ensuite les services dont j’ai besoin, apache/php/mysql pour l’essentiel
Je reboot le serveur pour vérifier que je n’ai rien oublié de lancer au démarrage
Je lance une copie rsync de OLD vers NEW avec les données + les scripts PHP (utiliser screen pour laisser le site transférer la nuit)
screen rsync -avz -e ssh --chmod=a+rwx /home/netmiss/public_html/* root@94.23.34.27:/home/netmiss/public_html/
Je créé dans le domaine netmiss.fr une entrée www2.netmiss.fr qui pointe sur l’IP de NEW
Je met en place les VHOST traditionnelles de NetMISS sur NEW, je rajoute www2.netmiss.fr

Jour 3 (1 heure ou deux) :
J’exporte la base de données de NetMISS de OLD et je l’importe sur NEW. Il faut réaliser cette opération pendant que le site est peu fréquenté car il sera plus lent à servir les pages.
#Sur OLD
mysqldump -u USER -p netmissfr > nmdb.sql
scp nmdb.sql root@94.23.34.27:/home/netmiss
#Sur NEW
mysql -u USER -p netmissfr < nmdb.sql
Je vérifie que netmiss est totalement fonctionnel sur www2.netmiss.fr en y réalisant quelques tests. La prochaine étape sera la migration effective.

Jour de la migration (Prévoir 1 heure ou deux) :
Je relance ma copie RSYNC de OLD vers NEW, elle devrait être assez rapide, car la plupart des données sont déjà envoyées. Cette fois ci je n’envoie que les données, pas les scripts PHP qui n’ont pas changés.
Je supprime toutes les tables de la base de données sur NEW
Quand la copie des données est terminée, je change le VHOST de www.netmiss.fr sur OLD pour qu’il pointe sur une page de maintenance
Je re-exporte ma base de données de OLD
Je re-importe ma base de données sur NEW
Je modifie le code source PHP sur OLD, je veux faire une redirection de l’ancien serveur vers le nouveau. Attention je veux faire un redirect 302 (temporaire), pas un redirect 301 (permanent). Voici le petit morceau de code PHP.
$sv = explode('.',$_SERVER['SERVER_NAME']);
if ($sv0 == 'www') {
header( "Location: http://www2.netmiss.fr" );
exit();
}
Je test www2.netmiss.fr, normalement tout fonctionne aussi bien que prévu !
Je remet en place le VHOST de OLD, les utilisateurs sont automatiquement envoyés sur www2.netmiss.fr
Je met en place les crontab de netmiss sur NEW
Je modifie l’entrée DNS de netmiss.fr pour la faire pointer sur le nouveau serveur.
Sur NEW, si un utilisateur se connecte sur www.netmiss.fr il ne sera pas redirigé vers www2.netmiss.fr, cela concerne donc seulement les visiteurs dont le record DNS n’est pas à jour.
Dans 2 ou 3 jours, je supprimerais l’entrée DNS www2.netmiss.fr

Bon courage pour vos futures migrations !

Tags : , , , ,

Catégorie : La vie d'Elphia

Partagez votre opinion !