La interfaz de gestión en el VMware NSX
Hola a todos, soy Alberto Giorgi y en este post quiero mostrarles la interfaz de gestión de VMware NSX para complementar la nota anterior sobre VXLAN de manera de relacionar la teoría con algo de práctica y algunos conceptos explicados hasta ahora con las herramientas que nos permiten gestionar el NSX.
Una vez instalado el NSX manager, creado el cluster con al menos tres NSX Controllers, preparado todos los clusters/host que participarán de nuestra red NSX, preparado la red de transporte que los conectará a todos, estamos en condiciones de crear nuestro Logical Distributed Switch (LDS).
En este ejemplo crearemos cuatro segmentos, uno para lo que será la conexión del switch distribuido a la red física y tres segmentos para conectar una aplicación multitier que consiste en dos servidores web, un servidor de aplicación y un servidor de bases de datos.
Nuestra red consta de tres clusters, dos de producción (Compute Cluster A y B) y uno de Infraestructura (Management and Edge Cluster).
Desde el punto de vista de la red, tenemos el siguiente escenario. Contamos con dos vdSwitches de los cuales Compute_VDS abarca los cluster Compute Cluster A y B y Mgmt_Edge_VDS que abarca el cluster Management and Edge cluster.
A continuación creamos cuatro segmentos VXLAN, uno para el tráfico Norte/Sur que llamaremos Transit Network y los otros para conectar la aplicación multitier.
Observe que el NSX Controller Cluster ha asignado cuatro VXLAN IDs (VNI) consecutivas que ha seleccionado de un pool definido previamente.
Cada segmento mantendrá el tráfico aislado, a tal punto que si quisiéramos lograr que se conecten necesitaríamos los servicios de routing.
Luego de crear los 4 segmentos la información de red queda de la siguiente manera:
Observe que los nombres que corresponden al LDS Web-Tier son distintos en cada vdSwitch, por lo que conviene que la asignación de las VMs se haga con la herramienta que provee el NSX Manager y no con el vSphere web client.
He descubierto algunos comandos disponibles en la CLI que nos permiten ver la información de otra manera:
~ # esxcli network vswitch dvs vmware list
Compute_VDS
Name: Compute_VDS
VDS ID: ee 66 0e 50 e8 61 6d 04-b4 d8 1d 46 2d f9 52 bc
Class: etherswitch
Num Ports: 1536
Used Ports: 10
Configured Ports: 512
MTU: 1600
CDP Status: listen
Beacon Timeout: -1
Uplinks: vmnic0
VMware Branded: true
DVPort:
Client: vmnic0
DVPortgroup ID: dvportgroup-45
In Use: true
Port ID: 42
Client: vmk1
DVPortgroup ID: dvportgroup-47
In Use: true
Port ID: 15
Client: vmk2
DVPortgroup ID: dvportgroup-48
In Use: true
Port ID: 23
Client: vmk0
DVPortgroup ID: dvportgroup-46
In Use: true
Port ID: 4
Client: vmk3
DVPortgroup ID: dvportgroup-154
In Use: true
Port ID: 92
Client: web-sv-02a.eth0
DVPortgroup ID: dvportgroup-158
In Use: true
Port ID: 107
Client: app-sv-01a.eth0
DVPortgroup ID: dvportgroup-160
In Use: true
Port ID: 108
La siguiente figura muestra la asignación de los VTEPs a los distintos hosts:
Observe que los VTEPs asociados están en distintos segmentos (192.168.150.0 y 192.168.250.0).
A nivel de CLI tenemos el siguiente comando en el ESXi que nos muestra información asociada a VXLAN:
~ # esxcli network vswitch dvs vmware vxlan list
VDS ID VDS Name MTU Segment ID Gateway IP Gateway MAC Net Cnt Vmknic Cnt
ee 66 0e … 2d f9 52 bc Compute_VDS 1600 192.168.250.0 192.168.250.2 00:50:56:27:48:7d 4 1
El comando nos muestra que el segmento al que pertenece el VTEP es el 192.168.250.0. El Gateway para dicho segmento es el 192.168.250.2. El VTEP conecta 4 segmentos y el host tiene una sola vmknic asignada a dicho segmento, que puede verse con el próximo comando:
~ # esxcli network vswitch dvs vmware vxlan vmknic list –vds-name=Compute_VDS
Vmknic Name Switch Port ID VDS Port ID Endpoint ID VLAN ID IP Netmask IP Acquire Timeout Multicast Group Count Segment ID
———– ————– ———– ———– ——- ————– ————- —————— ——————— ————-
vmk3 50331656 92 0 0 192.168.250.51 255.255.255.0 0 0 192.168.250.0
Los siguientes comandos nos permiten ver información sobre las tablas que conoce ese VTEP.
Tabla de direcciones MAC:
~ # esxcli network vswitch dvs vmware vxlan network mac list –vds-name=Compute_VDS –vxlan-id=5001
Inner MAC Outer MAC Outer IP Flags
—————– —————– ————– ——–
00:50:56:8e:ff:81 ff:ff:ff:ff:ff:ff 192.168.150.51 00000111
Tabla de direcciones ARP:
~ # esxcli network vswitch dvs vmware vxlan network arp list –vds-name=Compute_VDS –vxlan-id=5001
IP MAC Flags
———— —————– ——–
172.16.10.1 ff:ff:ff:ff:ff:ff 00001111
172.16.10.12 ff:ff:ff:ff:ff:ff 00010011
Información estadísitca:
~ # esxcli network vswitch dvs vmware vxlan network stats list –vds-name=Compute_VDS –vxlan-id=5001
Name Value
——————– —–
tx.total 0
tx.nonUnicast 0
tx.crossRouter 0
tx.drop.total 0
rx.total 0
rx.mcastEncap 0
rx.crossRouter 0
rx.drop.wrongDest 5
rx.drop.invalidEncap 0
rx.drop.total 0
mac.lookup.found 0
mac.lookup.flood 2
mac.lookup.full 0
mac.update.learn 0
mac.update.extend 0
mac.update.full 0
mac.age 21
mac.renew 0
arp.lookup.found 0
arp.lookup.unknown 5
arp.lookup.full 0
arp.lookup.wait 4
arp.lookup.timeout 0
arp.update.update 1
arp.update.unkown 3
arp.update.notFound 36
arp.age 3
arp.renew 0
Otros comandos en los NSX Controllers también son útiles.
Para ver todos los comandos relacionados con el LDS ejecute:
nvp-controller # show control-cluster logical-switches
Error: Invalid command or argument. Valid values are:
Command keyword: stats
Description: Stats of all logical switches on this controller
Command keyword: stats-sample
Description: Latest samples of node statistics
Command keyword: vni <vni>
Description: controller, configuration, and status of the specified VNI
Command keyword: vni-stats <vni>
Description: statistics of the specified VNI
Command keyword: connection-table <vni>
Description: connections joined the specified VNI
Command keyword: vtep-table <vni>
Description: VTEP records of the specified VNI
Command keyword: mac-table <vni>
Description: MAC records of the specified VNI
Command keyword: arp-table <vni>
Description: ARP records of the specified VNI
Command keyword: joined-vnis <ip>
Description: VNI’s joined by the specified connection
Command keyword: vtep-records <ip>
Description: VTEP records updated from the specified connection
Command keyword: mac-records <ip>
Description: MAC records updated from the specified connection
Command keyword: arp-records <ip>
Description: ARP records updated from the specified connection
Command keyword: vni-stats-sample <vni>
Description: latest statitics samples of the specified VNI
Algunos ejemplos:
nvp-controller # show control-cluster logical-switches vni 5000
VNI Controller BUM-Replication ARP-Proxy Connections VTEPs
5000 192.168.110.202 Enabled Enabled 0 0
nvp-controller # show control-cluster logical-switches vni 5001
VNI Controller BUM-Replication ARP-Proxy Connections VTEPs
5001 192.168.110.201 Enabled Enabled 3 3
nvp-controller # show control-cluster logical-switches vni 5002
VNI Controller BUM-Replication ARP-Proxy Connections VTEPs
5002 192.168.110.202 Enabled Enabled 0 0
nvp-controller # show control-cluster logical-switches vni 5003
VNI Controller BUM-Replication ARP-Proxy Connections VTEPs
5003 192.168.110.202 Enabled Enabled 0 0
BUM: Broadcast-Unknown-Multicast
ARP-Proxy: El vtep responderá con su MAC cuando sea consultado vea un APR Request de una IP conocida.
Connections VTEP: Túneles VXLAN establecidos con otros host.
nvp-controller # show control-cluster logical-switches vni-stats 5001
update.member 15
update.vtep 24
update.mac 3
update.mac.invalidate 0
update.arp 32
update.arp.duplicate 0
query.mac 10
query.mac.miss 0
query.arp 12
query.arp.miss 11
nvp-controller # show control-cluster logical-switches connection-table 5001
Host-IP Port ID
192.168.110.51 56563 1
192.168.210.51 23582 2
192.168.210.52 26931 3
nvp-controller # show control-cluster logical-switches vtep-table 5001
VNI IP Segment MAC Connection-ID
5001 192.168.250.52 192.168.250.0 00:50:56:66:44:a7 3
5001 192.168.250.51 192.168.250.0 00:50:56:6b:36:a2 2
5001 192.168.150.51 192.168.150.0 00:50:56:63:9c:ad 1
nvp-controller # show control-cluster logical-switches mac-table 5001
VNI MAC VTEP-IP Connection-ID
5001 00:50:56:8e:ff:81 192.168.150.51 1
5001 00:50:56:a6:a1:e3 192.168.250.51 2
5001 00:50:56:a6:7a:a2 192.168.250.52 3
nvp-controller # show control-cluster logical-switches arp-table 5001
VNI IP MAC Connection-ID
5001 172.16.10.12 00:50:56:a6:a1:e3 2
5001 172.16.10.11 00:50:56:a6:7a:a2 9
Espero que esta revisión le haya permitido entender cómo se relacionan algunos de los conceptos vistos en mis notas anteriores con las herramientas de gestión disponibles para el NSX.
Gracias por leer nuestro blog, participar y compartir.