Un controlador fantasma puede ser la máquina virtual de un controlador activo o una máquina virtual que no existente y puede estar participando o no en el clúster. NSX Manager sincroniza la lista de todas las máquinas virtuales desde el inventario de vCenter Server. Un controlador fantasma se crea cuando vCenter Server o el host eliminan la máquina virtual de un controlador sin una solicitud de NSX Manager, o bien cuando el inventario de vCenter Server cambia el MOID de referencia de las máquinas virtuales del controlador.

Cuando el controlador se crea desde NSX, la información sobre la configuración se almacena en NSX Manager. NSX Manager implementa la nueva máquina virtual del controlador a través de vCenter Server.

El administrador de NSX proporciona a NSX Manager la configuración, incluido el grupo de direcciones IP, para crear un controlador. NSX Manager elimina una dirección IP del grupo y la envía a vCenter Server con el resto de la configuración del controlador como una solicitud de creación de máquina virtual. NSX Manager espera a que vCenter Server confirme el estado de la solicitud.

  • The controller creation process was successful: si la máquina virtual del controlador se crea correctamente, vCenter Server la iniciará. NSX Manager almacena el identificador de objetos administrados (MOID) de la máquina virtual con el resto de la información de configuración del controlador. El MOID (o MO-REF) es un identificador único que vCenter asigna a cada objeto de su inventario. vCenter Server también usa este MOID para realizar un seguimiento de la máquina virtual si sigue formando parte del inventario de vCenter Server.
  • The controller creation process was not successful: si las configuraciones de conexión de red e IP eran incorrectas, es posible que NSX Manager no pueda establecer conexión con vCenter Server. NSX Manager espera una cantidad predeterminada de tiempo para crear un clúster de controladores de un solo nodo (si es el primero) o un nuevo controlador para agregarla al clúster activo. Si se agota este tiempo, NSX Manager solicita a vCenter Server que elimine la máquina virtual. La dirección IP se devuelve al grupo y NSX declara un error al crear el controlador.

Cómo se crean los controladores fantasma

Cuando NSX Manager solicita eliminar un controlador, vCenter Server busca la máquina virtual del controlador que utiliza ese MOID para su eliminación.

Sin embargo, si las actividades de vCenter tienen como resultado la eliminación de la máquina virtual del controlador desde el inventario de vCenter Server, vCenter elimina el MOID de su base de datos. Tenga en cuenta que la máquina virtual del controlador puede seguir estando activa y en funcionamiento en NSX Manager aunque se haya eliminado del inventario de vCenter. Pero para vCenter Server, la máquina virtual del controlador ya no existe. Aunque vCenter Server haya quitado la máquina virtual de su inventario, esta no se puede eliminar. Si la máquina virtual aún está activa, todavía estará participando o intentando participar en el clúster de controladores de NSX.

A continuación se muestra el ejemplo más común de cómo se crea un controlador fantasma:

  • El administrador de vCenter Server elimina del inventario el host que contiene el controlador de la máquina virtual. Más tarde, vuelve a agregar el host. Cuando se elimina el host, vCenter Server elimina todos los MOID asociados al host y las máquinas virtuales que contiene. Cuando el host se vuelve a agregar, vCenter Server asigna un nuevo MOID al host y las máquinas virtuales. Para los usuarios de NSX, el host y la máquina virtual siguen siendo los mismos, pero vCenter Server considera a estos hosts y a estas máquinas virtuales objetos nuevos. Sin embargo, a efectos prácticos, los hosts y las máquinas virtuales siguen siendo los mismos. Las aplicaciones que se ejecutan en el host y en las máquinas virtuales no cambian.
  • El administrador de vCenter Server elimina la máquina virtual del controlador a través de vCenter Server o mediante la administración de hosts. La eliminación no se inició en NSX Manager.
  • En este caso, la eliminación incluye también cualquier error de almacenamiento o del host que tenga como resultado la pérdida de la máquina virtual. En este caso, la máquina virtual se pierde para vCenter Server y también para el clúster y NSX Manager. Pero como la eliminación no se inició en NSX Manager, tanto NSX Manager como el clúster del controladores consideran que el controlador aún es válido. El estado del controlador devuelto a NSX Manager indica que este nodo controlador está inactivo, no forma parte del clúster y se muestra en la interfaz de usuario. NSX Manager también tiene registros que indican que ya no es posible acceder al controlador.

Qué hacer cuando se detecta un controlador fantasma

  1. Sincronice los controladores como se describe en la sección NSX Controller está desconectado.
  2. Consulte las entradas de los registros. Si la máquina virtual del controlador se eliminó de forma accidental o resultó dañada, debe usar la opción Eliminar de manera forzada (Forcefully Delete) para borrar la entrada de la base de datos de NSX Manager. Para obtener más información, consulte Eliminar un NSX Controller.
  3. Después de eliminar el controlador, confirme que:
  • La máquina virtual del controlador se eliminó.
  • El comando show control-cluster startup-nodes muestra solo controladores válidos.
  • Las entradas de syslog de NSX Manager ya no muestran un controlador adicional.

A partir de la versión 6.2.7 de NSX, NSX Manager comprueba el MOID original de la máquina virtual del controlador en el inventario de vCenter para asegurarse de que aún existe. Si NSX Manager no encuentra la máquina virtual del controlador en el inventario, NSX Manager la busca mediante el UUID de instancia de la máquina virtual. El UUID de instancia se almacena en la máquina virtual, por lo que no cambia aunque la máquina virtual se vuelva a agregar al inventario de vCenter. Si NSX Manager encuentra la máquina virtual con el UUID de instancia, NSX Manager actualizará su base de datos con el nuevo MOID.

Sin embargo, si clona la máquina virtual del controlador, la máquina virtual clonada tendrá las mismas propiedades que la original, pero un nuevo UUID de instancia. NSX Manager no puede detectar el MOID de la máquina virtual clonada.

Entradas de registro de controladores fantasma

Las siguientes entradas de registro de errores se producen cuando se detecta un controlador fantasma:

  • 2017-07-31 22:15:05.844 UTC ERROR NVPStatusCheck ControllerServiceImpl:2146 - Controller <#> does not exist, might be deleted already. Skip saving its connectivity info.
  • 2017-07-31 22:15:05.769 UTC ERROR NVPStatusCheck ControllerServiceImpl:2580 - the node is created by this NSX Manager <#>, but database has no record and delete might be in progress.