Des instances de NSX Controller sont déployées par NSX Manager au format OVA. Posséder un cluster de contrôleurs offre une haute disponibilité. Le déploiement de contrôleurs requiert que DNS et NTP soient configurés sur NSX Manager, vCenter Server et des hôtes ESXi. Un pool d'adresses IP statiques doit être utilisé pour attribuer des adresses IP à chaque contrôleur.

Il vous est recommandé d'implémenter des règles d'anti-affinité du DRS pour conserver des instances de NSX Controller sur des hôtes séparés. Vous devez déployer trois instances de NSX Controller.

Problèmes courants liés aux contrôleurs

Lors du déploiement d'instances de NSX Controller, les problèmes typiques que l'on peut rencontrer sont les suivants :

  • Échec du déploiement d'instance(s) de NSX Controller.
  • NSX Controller n'a pas réussi à rejoindre le cluster.
  • L'exécution de la commande show control-cluster status montre que l'État de la majorité bascule entre Connecté à la majorité du cluster et Connexion interrompue à la majorité du cluster.
  • NSX Dashboard affichant un problème concernant l'état de la connectivité.
    • La commande show control-cluster status est la commande recommandée pour voir si un contrôleur a rejoint un cluster de contrôle. Vous devez exécuter cette commande sur chaque contrôleur pour connaître l'état général du cluster.
      controller # show control-cluster status
      Type                Status                                       Since
      --------------------------------------------------------------------------------
      Join status:        Join complete                                10/17 18:16:58
      Majority status:    Connected to cluster majority                10/17 18:16:46
      Restart status:     This controller can be safely restarted      10/17 18:16:51
      Cluster ID:         af2e9dec-19b9-4530-8e68-944188584268
      Node UUID:          af2e9dec-19b9-4530-8e68-944188584268
      Role                Configured status   Active status
      --------------------------------------------------------------------------------
      api_provider        enabled             activated
      persistence_server  enabled             activated
      switch_manager      enabled             activated
      logical_manager     enabled             activated
      dht_node            enabled             activated
      Note : Lorsque vous voyez qu'un nœud de contrôleur est déconnecté, n'utilisez pas la commande join cluster ou force join. Cette commande est conçue pour joindre un nœud au cluster. Ce faisant, le cluster pourrait entrer dans un état totalement incertain.

      Les nœuds de démarrage du cluster ne sont qu'un indice donné aux membres du cluster pour savoir où regarder lorsque les membres démarrent. Ne vous inquiétez pas si cette liste contient des membres du cluster qui ne sont plus en service. Le fonctionnement du cluster n'est pas impacté.

      Tous les membres du cluster doivent avoir le même ID de cluster. Si ce n'est pas le cas, le cluster passe en état rompu et vous devez collaborer avec le support technique de VMware pour le réparer.

    • La commande show control-cluster startup-nodes n'a pas été conçue pour afficher tous les nœuds actuellement dans le cluster. À la place, elle affiche quels autres nœuds de contrôleur sont utilisés par ce nœud pour démarrer l'adhésion au cluster lors du redémarrage du processus du contrôleur. En conséquence, la sortie de la commande peut afficher certains nœuds qui sont fermés ou qui ont été autrement nettoyés du cluster.
    • De plus, la commande show control-cluster network ipsec status permet de contrôler l'état IPsec (Internet Protocol Security). Si vous voyez que les contrôleurs ne peuvent pas communiquer entre eux pendant une durée allant de quelques minutes à quelques heures, exécutez la commande cat /var/log/syslog | egrep "sending DPD request|IKE_SA" et regardez si les messages des journaux indiquent une absence de trafic. Vous pouvez aussi exécuter la commande ipsec statusall | egrep "bytes_i|bytes_o" et vérifier qu'il n'y a pas deux tunnels IPsec qui sont définis. Fournissez la sortie de ces commandes et les journaux du contrôleur lorsque vous signalez un soupçon de problème de contrôle à votre représentant du support technique VMware.
  • Problèmes de connectivité IP entre NSX Manager et les instances de NSX Controller. Cela est en général causé par des problèmes de connectivité du réseau physique ou par un pare-feu bloquant la communication.
  • Ressources insuffisantes, telles qu'un stockage disponible sur vSphere pour héberger les contrôleurs. L'affichage du journal des événements et des tâches de vCenter lors du déploiement de contrôleurs peut identifier ce genre de problèmes.

  • Un contrôleur indésirable avec un comportement anormal ou des contrôleurs mis à niveau avec l'état Déconnecté (Disconnected).
  • DNS sur des hôtes ESXi et NSX Manager n'ont pas été configurés correctement.
  • NTP sur des hôtes ESXi et NSX Manager sont désynchronisés.

  • Lorsque des machines virtuelles récemment connectées ne disposent pas d'un accès réseau, cela provient probablement d'un problème de plan de contrôle. Vérifiez l'état du contrôleur.

    Essayez également d'exécuter la commande esxcli network vswitch dvs vmware vxlan network list --vds-name <name> sur des hôtes ESXi pour vérifier l'état du plan de contrôle. Notez que la connexion au contrôleur est inactive.

  • L'exécution de la commande de l'interface de ligne de commande show log manager follow de NSX Manager peut identifier d'autres raisons d'un échec du déploiement des contrôleurs.

Problèmes de connectivité des hôtes

Vérifiez les erreurs de connectivité des hôtes à l'aide des commandes suivantes : Exécutez ces commandes sur chacun des nœuds de contrôleur.
  • Vérifiez les statistiques d'erreurs anormales à l'aide de la commande show log cloudnet/cloudnet_java-vnet-controller*.log filtered-by host_IP.
  • Vérifiez les statistiques de message de commutateur logique/routeur ou de taux de message élevé à l'aide des commandes suivantes :
    • show control-cluster core stats : statistiques globales
    • show control-cluster core stats-sample : derniers échantillons de statistiques
    • show control-cluster core connection-stats ip : statistiques par connexion
    • show control-cluster logical-switches stats
    • show control-cluster logical-routers stats
    • show control-cluster logical-switches stats-sample
    • show control-cluster logical-routers stats-sample
    • show control-cluster logical-switches vni-stats vni
    • show control-cluster logical-switches vni-stats-sample vni
    • show control-cluster logical-switches connection-stats ip
    • show control-cluster logical-routers connection-stats ip
  • Vous pouvez utiliser la commande show host hostID health-status pour vérifier l'état de santé des hôtes dans vos clusters préparés. Pour le dépannage des contrôleurs, les vérifications de santé suivantes sont prises en charge :

    • Vérifiez si le fichier net-config-by-vsm.xml est synchronisé avec la liste de contrôleurs.
    • Vérifiez s'il existe une connexion de socket avec le contrôleur.
    • Vérifiez si le VNI (VXLAN Network Identifier) est créé et si la configuration est correcte.
    • Vérifiez si le VNI se connecte pour maîtriser les contrôleurs (si le plan de contrôle est activé).

Problèmes d'installation et de déploiement

  • Vérifiez qu'au moins trois nœuds de contrôleur sont déployés dans un cluster : VMware recommande d'exploiter les règles anti-affinité vSphere natives pour éviter de déployer plusieurs nœuds de contrôleur sur le même hôte ESXi.
  • Vérifiez que tous les dispositifs NSX Controller affichent un état Connecté. Si un ou plusieurs nœuds de contrôleur affichent un état Déconnecté, vérifiez que les informations suivantes sont cohérentes en exécutant la commande show control-cluster status sur tous les nœuds de contrôleur :
Type Statut
État d'association Association terminée
État de la majorité Connecté à la majorité du cluster
ID de cluster Même information sur tous les nœuds de contrôleur
  • Assurez-vous que tous les nœuds sont cohérents sur tous les nœuds de contrôleur.
    Rôle État configuré État actif
    api_provider activé activé
    persistence_server activé activé
    switch_manager activé activé
    logical_manager activé activé
    directory_server activé activé
  • Vérifiez que le processus vnet-controller est exécuté. Exécutez la commande show process sur tous les nœuds de contrôleur et assurez-vous que le service java-dir-server est exécuté.

  • Vérifiez l'historique du cluster et assurez-vous qu'il n'y a aucun signe d'instabilité de la connexion de l'hôte ou d'échecs d'association CNI et de modification d'adhésion du cluster. Pour vérifier cela, exécutez la commande show control-cluster history. La commande montre aussi si le nœud est souvent redémarré. Vérifiez qu'il n'existe pas de nombreux fichiers journaux présentant une taille nulle (0) et différents ID de processus.
  • Vérifiez que l'identificateur réseau VXLAN (VNI) est configuré. Pour plus d'informations, consultez la section Étapes de préparation du VXLAN dans le VMware VXLAN Deployment Guide.
  • Vérifiez que SSL est activé sur le cluster de contrôleur. Exécutez la commande show log cloudnet/cloudnet_java-vnet-controller*.log filtered-by sslEnabled sur chacun des nœuds de contrôleur.