Un contrôleur fantôme peut être une machine virtuelle (VM) de contrôleur dynamique ou une VM inexistante faisant partie ou non du cluster. NSX Manager synchronise la liste de toutes les VM de l'inventaire vCenter Server. Un contrôleur fantôme est créé lorsque le serveur vCenter Server ou l'hôte supprime une VM de contrôleur sans demande de la part de NSX Manager ou lorsque l'inventaire vCenter Server modifie le MOID de référence des VM de contrôleur.

Lorsque le contrôleur est créé à partir de NSX, les informations de configuration sont stockées dans NSX Manager. NSX Manager déploie la nouvelle VM de contrôleur via le serveur vCenter Server.

L'administrateur NSX fournit la configuration, y compris le pool d'adresses IP, à NSX Manager pour créer un contrôleur. NSX Manager supprime une adresse IP du pool et envoie cette adresse IP avec le reste de la configuration du contrôleur sous forme de demande de création de VM au serveur vCenter Server. NSX Manager attend que le serveur vCenter Server confirme l'état de la demande.

  • The controller creation process was successful : si la VM de contrôleur est créée correctement, vCenter Server la démarre. NSX Manager stocke le MOID de la VM avec le reste des informations de configuration du contrôleur. Le MOID (ou MO-REF) est un identifiant unique que vCenter attribue à chaque objet dans son inventaire. vCenter Server utilise également ce MOID pour effectuer le suivi de la VM si elle fait toujours partie de l'inventaire vCenter Server.
  • The controller creation process was not successful : si les configurations d'adresse IP et de connexion réseau étaient incorrectes, NSX Manager pourrait ne pas être en mesure de contacter vCenter Server. NSX Manager attend un intervalle de temps prédéfini pour créer un cluster de contrôleurs à un seul nœud (pour le premier) ou un nouveau contrôleur à joindre au cluster actif. Lorsque le temps est écoulé, NSX Manager demande à vCenter Server de supprimer la VM. L'adresse IP est renvoyée au pool et NSX déclare l'échec de la création du contrôleur.

Processus de création du contrôleur fantôme

Lorsque NSX Manager demande de supprimer un contrôleur, vCenter Server recherche la VM de contrôleur à supprimer à l'aide du MOID.

Toutefois, si des activités de vCenter entraînent la suppression de la VM de contrôleur de l'inventaire vCenter Server, vCenter supprime le MOID de sa base de données. Notez que la VM de contrôleur peut toujours être active sur NSX Manager, même après sa suppression de l'inventaire vCenter. Mais, pour vCenter Server, la VM de contrôleur n'existe plus. Même si vCenter Server a supprimé la VM de son inventaire, la VM n'est peut-être pas supprimée. Si la VM est toujours active, elle participe toujours ou tente toujours de participer au cluster de contrôleurs NSX.

Voici les exemples les plus courants des processus de création du contrôleur fantôme :

  • L'administrateur de vCenter Server supprime l'hôte qui contient la VM de contrôleur de l'inventaire. Il rajoute ensuite l'hôte. Lorsque l'hôte est supprimé, vCenter Server supprime tous les MOID associés à l'hôte et les VM qu'il contient. Lorsque l'hôte est rajouté ultérieurement, vCenter Server attribue un nouveau MOID à l'hôte et aux VM. Pour les utilisateurs de NSX, l'hôte et la VM sont toujours identiques, mais du point de vue de vCenter Server, les hôtes et les VM sont de nouveaux objets. Toutefois, pour des raisons pratiques, les hôtes et les VM sont toujours identiques. Les applications qui s'exécutent dans l'hôte et les VM ne changent pas.
  • L'administrateur de vCenter Server supprime la VM de contrôleur via vCenter Server ou à l'aide de la gestion de l'hôte. La suppression n'a pas été lancée par NSX Manager.
  • Supprimer, dans ce cas, comprend également tous les échecs d'hôte/de stockage qui entraînent la perte de la VM. Dans ce cas, la VM est perdue pour vCenter Server, ainsi que pour le cluster et NSX Manager. Mais, comme la suppression n'a pas été lancée par NSX Manager, NSX Manager et le cluster de contrôleurs pensent que le contrôleur est toujours valide. L'état du contrôleur renvoyé à NSX Manager indique que ce nœud de contrôleur est inactif, qu'il ne fait pas partie du cluster et qu'il est affiché sur l'interface utilisateur. NSX Manager possède également des journaux indiquant que le contrôleur n'est plus accessible.

Actions à suivre lorsque vous voyez un contrôleur fantôme

  1. Synchronisez les contrôleurs comme décrit dans la section NSX Controller est déconnecté.
  2. Consultez les entrées du journal. Si la VM de contrôleur a été supprimée par accident ou si elle était endommagée, vous devez utiliser l'option Supprimer de force (Forcefully Delete) pour effacer l'entrée de la base de données NSX Manager. Pour plus de détails, voir Supprimer un NSX Controller.
  3. Après la suppression du contrôleur, vérifiez que :
  • La VM de contrôleur est bien supprimée.
  • La commande show control-cluster startup-nodes n'affiche que les contrôleurs valides.
  • Les entrées Syslog de NSX Manager n'affichent plus de contrôleur supplémentaire.

À partir de NSX 6.2.7 ou version ultérieure, NSX Manager vérifie l'inventaire vCenter pour s'assurer que la VM de contrôleur existe toujours dans l'inventaire en fonction du MOID d'origine. Si NSX Manager ne peut pas trouver la VM de contrôleur dans l'inventaire, NSX Manager recherche la VM à l'aide de l'UUID d'instance de la VM. L'UUID d'instance est stocké dans la VM, donc il ne change pas même lorsque la VM est rajoutée à l'inventaire vCenter. Si NSX Manager peut trouver la VM avec l'UUID d'instance, NSX Manager met à jour sa base de données avec le nouveau MOID.

Toutefois, si vous clonez la VM de contrôleur, la VM clonée possède les mêmes propriétés que la VM d'origine, ainsi qu'un nouvel UUID d'instance. NSX Manager ne peut pas détecter le MOID de la VM clonée.

Entrées de journal du contrôleur fantôme

L'entrée de journal de niveau d'erreur suivante se produit lorsqu'un contrôleur fantôme est détecté :

  • 2017-07-31 22:15:05.844 UTC ERROR NVPStatusCheck ControllerServiceImpl:2146 : le contrôleur <#> n'existe pas, il est peut-être déjà supprimé. Ignorer tout en enregistrant ses informations de connectivité.
  • 2017-07-31 22:15:05.769 UTC ERROR NVPStatusCheck ControllerServiceImpl:2580 : le nœud est créé par cette instance de NSX Manager <#>, mais la base de données ne contient aucun enregistrement et la suppression est peut-être en cours.