Hay una serie de comandos de CLI que permiten a los operadores examinar el estado de ejecución de varias partes del subsistema de enrutamiento de NSX.

Debido a la naturaleza distribuidora del subsistema de enrutamiento de NSX, hay un varias CLI disponibles, accesibles en varios componentes de NSX. Desde la versión 6.2 de NSX, NSX también centralizó la CLI que ayuda a reducir el tiempo necesario para acceder y registrarse en varios componentes distribuidos. Esto proporciona acceso a la mayor parte de la información desde una única ubicación: el shell de NSX Manager.

Comprobar los requisitos previos

Existen dos requisitos previos principales que cada host ESXi debe cumplir:

  • Todos los conmutadores lógicos conectados al DLR deben estar en buen estado.

  • El host ESXi debe estar correctamente preparado para VXLAN.

Comprobar el buen estado del conmutador lógico

El enrutamiento de NSX trabaja conjuntamente con el conmutador lógico de NSX. Para comprobar el buen estado de los conmutadores lógicos conectados al DLR:

  • Busque el ID del segmento (VNI de VXLAN) de cada conmutador lógico conectado al DLR en cuestión (por ejemplo, 5004..5007).

  • En los hosts ESXi en los que se esté ejecutando la máquina virtual que utiliza este DLR como servidor, compruebe el plano de control de VXLAN de los conmutadores lógicos conectados a este DLR.

# esxcli network vswitch dvs vmware vxlan network list --vds-name=Compute_VDS
VXLAN ID  Multicast IP               Control Plane                        Controller Connection  Port Count  MAC Entry Count  ARP Entry Count
--------  -------------------------  -----------------------------------  ---------------------  ----------  ---------------  ---------------
    5004  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.201 (up)            2                2                0
    5005  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.202 (up)            1                0                0
    5006  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.203 (up)            1                1                0
    5007  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.202 (up)            1                0                0

Compruebe lo siguiente para cada VXLAN relevante:

  • Para conmutadores lógicos en modo híbrido o de unidifusión:

    • El plano de control está "Habilitado" (Enabled).

    • El "proxy de multidifusión" y el "proxy ARP" aparecen en la lista aunque la detección de IP esté deshabilitada.

    • Aparece un dirección IP de controladora válida en la lista en "Controladora" (Controller) y la "Conexión" (Connection) está "activa".

  • El recuento de puertos ("Port Count") es correcto: habrá al menos 1, aunque no haya ninguna máquina virtual en ese host conectada al conmutador lógico en cuestión. Este puerto es el vdrPort, que es un puerto dvPort especial conectado al módulo kernel DLR del host ESXi.

  • Ejecute el siguiente comando para asegurarse de que el vdrPort está conectado todas las VXLAN relevantes.

~ # esxcli network vswitch dvs vmware vxlan network port list --vds-name=Compute_VDS --vxlan-id=5004
Switch Port ID  VDS Port ID  VMKNIC ID
--------------  -----------  ---------
      50331656  53                   0
      50331650  vdrPort              0


~ # esxcli network vswitch dvs vmware vxlan network port list --vds-name=Compute_VDS --vxlan-id=5005
Switch Port ID  VDS Port ID  VMKNIC ID
--------------  -----------  ---------
      50331650  vdrPort              0

  • En el ejemplo anterior, VXLAN 5004 tiene una máquina virtual y una conexión DLR, mientras que VXLAN 5005 tiene solo una conexión DLR.

  • Compruebe si la máquina virtual apropiada se cableó correctamente con sus VXLAN correspondientes, por ejemplo web-sv-01a en VXLAN 5004.

~ # esxcfg-vswitch -l
DVS Name         Num Ports   Used Ports  Configured Ports  MTU     Uplinks
Compute_VDS      1536        10          512               1600    vmnic0

  DVPort ID           In Use      Client
[..skipped..]
  53                  1           web-sv-01a.eth0

Comprobar la preparación de VXLAN

Como parte de la configuración de VXLAN en un host ESXi, también se instala el módulo kernel DLR, se configura y se conecta a un dvPort en un DVS preparado para VXLAN.

  1. Ejecute show cluster all para obtener el ID del clúster.

  2. Ejecute show cluster cluster-id para obtener el ID del host.

  3. Ejecute show logical-router host hostID connection para obtener la información de estado.

nsxmgr-01a# show logical-router host <hostID> connection

Connection Information:
-----------------------

DvsName           VdrPort           NumLifs  VdrVmac
-------           -------           -------  -------
Compute_VDS       vdrPort           4        02:50:56:56:44:52
    Teaming Policy: Default Teaming
    Uplink   : dvUplink1(50331650): 00:50:56:eb:41:d7(Team member)


   Stats : Pkt Dropped      Pkt Replaced     Pkt Skipped
   Input : 0                0                1968734458
  Output : 303              7799             31891126

  • El DVS habilitado con VXLAN tendrá creado un vdrPOrt, compartido por todas las instancias de DLR de dicho host ESXi.

  • "NumLifs" hace referencia al número que se obtiene a partir de la suma de los LIF de todas las instancias de DLR que hay en este host.

  • "VdrVmac" es la vMAC que el DLR usa en todos los LIF en todas las instancias. Esta MAC es la misma en todos los hosts. No se ven en ninguna trama que viaje por la red física fuera de los hosts ESXi.

  • Para cada dvUplink de DVS habilitado con VXLAN, existe una conexión VTEP, excepto en casos en los que se utiliza LACP / modo de formación de equipo Etherchannel, cuando solo se crea un VTEP independientemente del número de dvUplinks.

    • El tráfico enrutado por el DLR (SRC MAC = vMAC) cuando abandone el host obtendrá el SRC MAC cambiado a pMAC del correspondiente dvUplink.

    • Tenga en cuenta que el origen de la máquina virtual original se usa para determinar el dvUplink (en cada paquete, se conserva en sus metadatos de DVS).

    • Si hay varios VTEP en el host y uno de los dvUplinks falla, el VTEP asociado con el dvUplink fallido se enviará a uno de los dvUplinks restantes junto con todas las máquinas virtuales que están ancladas a ese VTEP. Esto se realiza para evitar cambios que congestionen el plano de control que puedan estar asociados con el desplazamiento de varias máquinas virtuales a distintos VTEP.

  • El número que hay entre "()" junto a cada "dvUplinkX" es el número del dvPort. Resulta útil para la captura de paquetes en el enlace de subida individual.

  • La dirección MAC que se muestra para cada "dvUplinkX" es una "pMAC" asociada a ese dvUplink. Esta dirección MAC se utiliza para el tráfico de origen desde el DLR, por ejemplo, las consultas ARP generadas por el DLR y cualquier paquete enrutado por el DLR cuando dichos paquetes abandonan el host ESXi. Esta dirección MAC se puede ver en la red física (directamente, si el LIF de DLR es de tipo VLAN o dentro de los paquetes VXLAN para los LIF de VXLAN).

  • Pkt Dropped / Replaced / Skipped hace referencia a los recuentos relacionados con los detalles de implementación interna del DLR y no se suelen utilizar para solucionar problemas o supervisar.