MaintenanceEngine - v-l-m/vlm GitHub Wiki
Cette page vis à préparer et décrire la procédure de bascule temporaire sur un serveur de secours, par exemple, pour pouvoir rebooter le serveur principal pour un upgrade de noyau ou une vérification des disques.
- Problème principal de cette procédure : elle ne fonctionne que si le "serveur principal" n'est pas le serveur mysql maitre...'* (donc il faut adapter avant la façon dont fonctionne Vlm)
- Retour d'expérience du Déplacement de Neptune vers Neptune2
- il faut tenir compte de la table histpos : Si c'est pour une bascule courte, le mieux est de désactiver le cron vlm-clean pour ne pas avoir à migrer les traces
Hypothèses
- La bascule sur le secours est une opération courte (1h), qui se fait en dehors des maj météos
- il est possible / probable / recommandé qu'il faille être raisonable et ne faire le cron moteur que toutes les 5min sur le serveur de secours.
Installation et vérification des prérequis
- Vérifier le paramètrage
- notamment, faire un diff entre le paramètrage du serveur maître et celui du serveur de secours
- déployer le module moteur
- contrôler les messages de déploiement
- faire un dry-run (un run à blanc) du moteur. TODO: l'option n'existe pas encore. Cf. ticket : #187
- vérifier les logs du run pour voir si tout va bien.
- planification du test unitaire (sur 10min) et annonce aux joueurs via le forum d'un risque de perturbation
Vérification unitaire
- désactiver le cron sur le serveur principal
- lancer manuellement le cron moteur sur le serveur de secours
- réactiver le cron sur le serveur principal
- vérifier les logs du serveur de secours
- préparer le cron sur le serveur de secours, préfixé par #
- planification de l'opération
- annonce aux joueurs de l'opération de bascule
- préparation du sql a passer en base pour annoncer le message pour tous les joueurs sur myboat avant l'opération
- Exemple : maintenance prévue entre 19 et 20h le ...., risque de perturbation
- test du sql correspondant sur testing
- mise en ligne du sql au moins 24h avant l'opération
- préparation du sql a passer en base pour mettre le message pour tous les joueurs sur myboat pendant l'opération
- test du sql sur testing.
- préparation du sql supprimant ces 2 messages.
= Opération de bascule le jour J=
- activation du sql affichant le message que l'opération est en cours
- désactiver le cron sur le serveur principal
- activer le cron moteur sur le serveur de secours
- ... do your stuff ... sur le serveur principal
- désactiver le cron sur le serveur de secours
- réactiver le cron sur le serveur principal
- vérifier les logs du serveur principal
- passage du sql supprimant les messages.