La version V02.07.00 de Shinken Entreprise apporte un lot de nouveautés, et notamment la mise à jour de la base de données Mongo utilisée pour stocker différents types de données. Cette mise à jour apporte notamment un nouveau système de gestion des données internes à Mongo qui promet une meilleure gestion et performances au niveau de Mongo, ainsi que des améliorations au niveau de la sécurité.
Dans une installation Shinken Entreprise classique, la mise à jour de Mongo est automatisée par le script d'installation.
Lorsque Mongo est configuré pour fonctionner en tant que cluster, le script d'installation/mise à jour de Shinken permet également d'effectuer la mise à jour de cette installation de cluster Mongo de manière automatique. Cependant, compte tenu de la configuration plus complexes, des manipulations supplémentaires sont nécessaires.
Ces manipulations sont décrites de la procédure ci-dessous.
Dans un cluster Mongo, la mise à jour de Mongo sur les différents membres du cluster doit être simultanée pour éviter d'avoir des versions de Mongo différentes au sein du cluster, ce qui entraînerait des incompatibilités.
Pour résoudre ce problème, le script de mise à jour de Shinken détecte lorsque la mise à jour se fait sur un membre du cluster Mongo. Dans ce cas, il lance alors la mise à jour de Mongo de manière simultanée sur toutes les machines du cluster Mongo (en s'y connectant via SSH).
Une fois la mise à jour du cluster Mongo terminée, le script de mise à jour Shinken continue la mise à jour de Shinken en V02.07.00 comme sur une installation classique.
La procédure est donc la suivante:
Pour permettre un synchronisation de la mise à jour de Mongo sur toutes les machines du cluster, il faut qu'un des nœuds du cluster Mongo (n'importe lequel, pas forcément le nœud primaire) puisse se connecter via SSH sur les autres nœuds.
Cette connexion doit pouvoir se faire sur l'utilisateur root et sans avoir besoin de mot de passe. Une copie de la clé SSH de l'utilisateur root de la machine effectuant la mise à jour vers le compte root des autres machines du cluster Mongo est donc nécessaire avant le lancement de la mise à jour.
Sur la machine qui effectue la mise à jour du cluster, on effectue alors les commandes suivantes:
Si aucune clé SSH n'existe pour l'utilisateur root (~/.ssh/id_rsa.pub), en générer une en tant que root:
ssh-keygen |
Copier la clé sur les nœuds du cluster:
for i in noeud1 noeud2 noeud3; do ssh-copy-id ~/.ssh/id_rsa.pub root@$i; done |
Vérification de la connexion SSH. En tant que root, on vérifie la connexion SSH avec tous les noeuds du cluster:
ssh root@noeud1 ssh root@noeud2 ssh root@noeud3 |
Si les clés ont bien été copiées, chacune des connexion doit s'effectuer avec succès et sans demander de mot de passe.
Une fois qu'une machine du cluster Mongo a été choisie et peut se connecter avec une clé SSH en root sur les autres machines du cluster, le processus de mise à jour peut être commencé:
|
Une des nouveautés de la version 3 de Mongodb est la modification du format des fichiers de configuration. Lors de la mise à jour, ces fichiers ne sont pas modifiés et conservent le format de la version v2.6.9.
Cependant, pour être le plus à jour possible et éviter les problèmes potentiels dus à l'utilisation de fichiers obsolètes, il est conseillé de mettre à jour ces fichiers de configuration dans le nouveau format utilisé par Mongodb.
Dans la suite de cette documentation sont présentés côte à côte ces 2 formats de fichier (ancien à gauche, nouveau à droite), ce qui permet ensuite de faire la modification facilement.