Introducción
Este documento describe cómo formar un canal de puerto del protocolo de control de agregación de enlaces (LACP) entre el Nexus 9000 y el servidor de Unified Computing System (UCS).
Prerequisites
Requirements
No hay requisitos específicos para este documento.
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- Nexus 9300 que ejecuta la versión 6.1(2)I(3)3a
- Servidor UCS C240 M3 Series que ejecuta Cisco Integrated Management Controller (CIMC) versión 2.0(3f)
- Cisco Virtual Interface Card (VIC) versión 1225
- Red Hat Enterprise Linux versión 7.0
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). If your network is live, make sure that you understand the potential impact of any command.
Problema
El Nexus 9000 no puede formar canales de puerto LACP con el servidor UCS. Si no lacp suspend-individual se configura en el canal de puerto, entonces va al estado I. Si no está configurado, suspende el puerto debido a que no hay ninguna unidad de datos LACP (LACPDU).
Los contadores de la interfaz LACPDU en el Nexus 9000 muestran que los contadores transmitidos (Tx) se incrementan, pero los contadores recibidos (Rx) no se incrementan.
A continuación se explica cómo configurar un puerto de acceso en Nexus 9000 y desactivar el LACP suspend-individual:
interface port-channel1019
switchport access vlan 4
no lacp suspend-individual
interface Ethernet1/19
description csm-b-ceph-001
switchport access vlan 4
spanning-tree port type edge
spanning-tree bpduguard enable
spanning-tree guard root
channel-group 1019 mode active
Esto también se puede configurar como un puerto de borde troncal; sin embargo, el comportamiento no es diferente:
Nexus9396X-2# show port-c sum
Flags: D - Down P - Up in port-channel (members)
I - Individual H - Hot-standby (LACP only)
s - Suspended r - Module-removed
S - Switched R - Routed
U - Up (port-channel)
M - Not in use. Min-links not met
--------------------------------------------------------------------------------
Group Port- Type Protocol Member Ports
Channel
--------------------------------------------------------------------------------
1019 Po1019(SD) Eth LACP Eth1/19(I) ----> Indicates No PDUs are being received
Esto puede ser para suspendido si el LACP suspender-individual está habilitado (de forma predeterminada, está habilitado). Sin embargo, la razón debe ser la misma que la razón por la cual no recibe Unidades de datos de protocolo (PDU) del peer.
Nexus9396X-2# show lacp interface e1/19
Interface Ethernet1/19 is individual
Channel group is 1019 port channel is Po1019
PDUs sent: 63
PDUs rcvd: 0 ----> Indicates No PDUs are being received from UCS server.
Markers sent: 0
Markers rcvd: 0
Marker response sent: 0
Marker response rcvd: 0
Unknown packets rcvd: 0
Illegal packets rcvd: 0
Lag Id: [ [(0, 0-0-0-0-0-0, 0, 0, 0), (0, 0-0-0-0-0-0, 0, 0, 0)] ]
Operational as aggregated link since Thu Jan 1 00:00:00 1970
Local Port: Eth1/19 MAC Address= 7c-69-f6-10-59-d7
System Identifier=0x8000, Port Identifier=0x8000,0x113
Operational key=33787
LACP_Activity=active
LACP_Timeout=Long Timeout (30s)
Synchronization=IN_SYNC
Collecting=true
Distributing=true
Partner information refresh timeout=Long Timeout (90s)
Actor Admin State=125
Actor Oper State=125
Neighbor: 0x0
MAC Address= 0-0-0-0-0-0
System Identifier=0x0, Port Identifier=0x0,0x0
Operational key=0
LACP_Activity=unknown
LACP_Timeout=Long Timeout (30s)
Synchronization=NOT_IN_SYNC
Collecting=false
Distributing=false
Partner Admin State=0
Partner Oper State=0
Aggregate or Individual(True=1)= 1
Ethanalyzer tampoco captura las PDU que provienen del dispositivo par. Sin embargo, un tcpdump que se toma del servidor indica que envía y recibe PDU.
Solución
La configuración del laboratorio mostró que cuando se capturó la LACPDU en el Nexus 9000, se descubrió que envía la LACPDU con el encabezado dot1q como se ve aquí:
Sin embargo, el ID de VLAN se establece en 0. Ahora, cuando observa la configuración de la tarjeta de interfaz de red virtual (vNIC), observa que, de forma predeterminada, la VLAN se establece en None y el modo VLAN se establece en access. Ahora, incluso en este modo, envía LACPDU con el encabezado dot1q. Sin embargo, el Nexus 9000 no identifica la VLAN 0 y, por lo tanto, este paquete se descarta. Este comportamiento se documenta en Opciones de conectividad de VIC de servidores en rack UCS serie C.
Para que esto funcione, debe configurar el Modo VLAN como Trunk y también configurar la VLAN predeterminada como una VLAN permitida en ese puerto. Para cambiar esto, debe iniciar sesión en la dirección IP CIMC de su servidor.
- Haga clic en la pestaña Servidor en el panel izquierdo y luego haga clic en Inventario.
- Haga clic en Adaptadores VIC de Cisco en el panel derecho y luego haga clic en vNICs.
- Elija la interfaz y haga clic en Properties. Debe poder realizar los cambios aquí:
- Una vez realizados los cambios, haga clic en Save changes. Debe restablecer el servidor para que los cambios surtan efecto. Después del reinicio, el canal de puerto debería formarse correctamente.
En las versiones más recientes de Nexus 9000, versión 6.1(2)I(3)4 y 7.0(3)I1(1) y posteriores, ignora el encabezado dot1q y los paquetes llegan al Supervisor (SUP). Este comportamiento se documenta con el Id. de bug Cisco CSCur6968.
Por lo tanto, no debería encontrar este problema en las versiones más recientes.