ReleaseHints - v-l-m/vlm GitHub Wiki
Cette page vise à tirer expérience des releases précédentes en listant les pièges à éviter
Maj qui implique un téléchargement externe des données
La maj du module maps ou clip_gshhs implique un rapatriement des données quand elles ne sont pas présentes (téléchargement d'un fichier de 100Mo de gshhs2) Il faut donner les opérations manuelles pour by passer ce téléchargement.
Se méfier des suppressions/créations lourdes en base
Certaines opérations en base peuvent être longue sur la prod. Il faut se méfier :
- du temps que ça prend
- des effets collatéraux de la réplication
- de la taille des index et des file system associés
Penser aux données générées à l'extérieur des procédures de déploiement
Cela renvoie partiellement aux téléchargements, mais de manière plus spécifiques, aux données de base pour les tiles générées par vlmtools/clip_gshhs. Ces fichiers doivent être générés en amont de la release et MISE à DISPO SUR TESTING.
Création à postériori d'indexes uniques
Il faut dans ce cas prévoir en amont de l'upgrade de base proprement dit une vérification d'unicité par une requête SQL. Ca évite de gérer la crise pendant la release !
Prévoir les vérifications
- le lancement unitaire d'un binaire pour vérifier qu'il est utilisable
- la taille des espaces disque
- des comptages SQL en cas d'opérations lourdes
Prévoir les sauvegardes
Systématiquement, dans le doute...
Mettre une page d'indispo si possible
Lors de mise en oeuvre de maintenance longue ou en cas de souci persistant. (ticket #534)
Savoir restaurer une sauvegarde
Point pour mémoire
Savoir étendre un file system
-
Etendre un LV :
lvextend
Pour étendre "de 10 Go" : -L+10G Pour mettre "à 20Go" : -L20G
-
Puis engazonner après la nouvelle clôture pour profiter de la nouvelle parcelle ensuite :
resize2fs
-
Exemple :
lvextend -L 20G /dev/vgdata/lv_mysqllog resize2fs /dev/vgdata/lv_mysqllog