Je voulais ajouter trois serveurs dans mon cluster XCP-ng, répartis dans deux nouveaux pools de serveurs.
A chaque fois que j’ajoutais un nouveau serveur dans le cluster, certaines VMs perdaient leur accès à leur disque système (qui est stocké sur le réseau via NFS, donc pas sur le même serveur que sur celui où tourne la VM) ou plantaient et n’étaient plus accessibles via le réseau.
J’ai trouvé la solution à ce problème, encore une fois, merci à l’IA de Google de m’avoir aidé.

En fait, j’ai remarqué il y a quelques heures que les VMs qui plantaient suite à l’ajout d’un nouveau serveur dans le cluster étaient toutes situées sur le même nœud d’un même pool.
J’ai donc pris la décision dans un premier temps d’éteindre le serveur nouvellement ajouté afin de retrouver des VMs fonctionnelles, puis de migrer les VMs de ce même nœud sur l’autre serveur du pool, le pool étant constitué de deux serveurs physiques dans mon cas.
Ensuite, une fois les VMs migrées, je peux éteindre le nœud posant problème et je décide de le réinstaller.
Réinstallation d’un XCP-ng tout neuf dessus donc, mais ensuite, je rencontre des problème pour joindre le nœud slave précédent au pool de ce nouveau nœud que je souhaite définir comme master.
XCP-ng fonctionne en effet avec un système de master/slave.
Il y a un master par pool et ensuite les autres serveurs ajoutés dans ce pool sont définis comme étant des slaves (système maître/esclaves en français).
On peut avoir plusieurs pools dans un cluster XCP-ng.
Bref, je demande à l’IA de Google qui me préconise de nettoyer XAPI sur le slave et sur le master nouvellement réinstallé.
Après essais de divers commandes, je reste coincé avec ma nouvelle installation qui refuse toujours de rejoindre le pool existant.
J’ai en effet, par soucis de simplicité, décidé de faire l’inverse.
Comme le serveur qui était slave précédemment est maintenant redevenu nœud autonome, je décide de définir ce serveur comme master du pool que j’essaye de recréer et le master précédent sera slave. Inversion des rôles en soit.
Bref, le nettoyage du slave a réussis mais pas celui du master.
Je demande à l’IA s’il ne serait pas plus simple de recommencer une nouvelle installation d’XCP-ng pour la deuxième fois dans la soirée sur l’ancien master/nouveau slave en devenir donc.
La réponse est qu’effectivement c’est plus propre et plus simple.
Petite subtilité, l’IA me préconise de faire quelques chose de différent que ce que j’aurai fait, et que je fais habituellement pour connecter le serveur au pool.
En effet, habituellement, j’ajoute le nouveau serveur destiné à être slave sur Xen Orchestra ou XCP-ng Center.
Ce serveur devient donc nœud autonome dans un pool où il est seul, et ensuite je le joint au pool souhaité.
Ici l’IA m’a dit de ne pas l’ajouter dans Xen Orchestra/XCP-ng Center, mais de faire la jonction en ligne de commande directement après l’installation.
Il faut aussi d’abord mettre le serveur à jour pour qu’il soit dans une version identique à ce qui deviendra le master (donc de l’autre serveur du pool en cours de création).
Pour mettre à jour le serveur, un petit yum update -y connecté en SSH au serveur (en tant que root) (XCP-ng est basé sur CentOS de ce que j’en ai vu) plus tard suivi d’un redémarrage avec la commande reboot et c’est fait.
Maintenant, il faut faire la jonction.
Pour ça, on utilise la commande suivante, toujours sur le serveur venant d’être réinstallé, et qui deviendra slave dans le pool :
xe pool-join master-address=IP-NOEUD-MASTER master-username=root master-password=MOT-DE-PASSE-ROOT-DU-MASTER
Et en principe, tout devrait refonctionner.
En tous cas de mon côté ça a résolu le soucis de mes plantages de VMs.
Bon pour le moment je n’ai ajouté qu’un seul autre serveur.
Je n’ai pas encore essayé de redémarrer les deux autres, qui sont déjà ajoutés en soit, pour voir s’ils font toujours planter des VMs.
Je ferai ça plus tard. En effet, là je vous ai résumé la situation rapidement et succinctement, mais en fait corriger le problème m’a prit plusieurs heures.
Bonne nuit ! Enfin de ce qu’il en reste. 😉
Poster un Commentaire