Introduction
Ce document décrit comment former un canal de port LACP (Link Aggregation Control Protocol) entre le Nexus 9000 et le serveur UCS (Unified Computing System).
Conditions préalables
Conditions requises
Aucune spécification déterminée n'est requise pour ce document.
Components Used
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
- Nexus 9300 qui exécute la version 6.1(2)I(3)3a
- Serveur UCS série C240 M3 qui exécute Cisco Integrated Management Controller (CIMC) version 2.0(3f)
- Carte d'interface virtuelle (VIC) Cisco version 1225
- Red Hat Enterprise Linux Version 7.0
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Problème
Le Nexus 9000 ne peut pas former de canaux de port LACP avec le serveur UCS. Si no lacp suspend-individuel est configuré sur le port-channel, il passe à l'état I. S'il n'est pas configuré, il suspend le port en raison de l'absence d'unité de données LACP (LACPDU).
Les compteurs d'interface LACPDU sur le Nexus 9000 montrent que les compteurs transmis (Tx) sont incrémentés mais que les compteurs reçus (Rx) ne sont pas incrémentés.
Voici comment configurer un port d'accès sur le Nexus 9000 et désactiver la suspension LACP individuelle :
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
Il peut également être configuré en tant que port de périphérie de liaison ; cependant, le comportement n'est pas différent :
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
Il peut s'agir d'un ou de plusieurs éléments suspendus si le paramètre LACP suspend-person est activé (par défaut, il est activé). Cependant, la raison doit être la même que la raison pour laquelle il ne reçoit pas d'unités de données de protocole (PDU) de l'homologue.
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 ne capture pas non plus les unités de données de protocole qui proviennent du périphérique homologue. Cependant, un tcpdump qui est pris du serveur indique qu'il envoie et reçoit des PDU.
Solution
La configuration des travaux pratiques a montré que lorsque le LACPDU a été capturé sur le Nexus 9000, il a été découvert qu'il envoie LACPDU avec l'en-tête dot1q comme indiqué ici :

Cependant, l'ID de VLAN est défini sur 0. Maintenant, lorsque vous examinez la configuration de la carte d'interface réseau virtuelle (vNIC), vous constatez que par défaut le VLAN est défini sur Aucun et que le mode VLAN est défini sur Accès. Maintenant, même dans ce mode, il envoie LACPDU avec l'en-tête dot1q. Cependant, le Nexus 9000 n'identifie pas VLAN 0 et donc ce paquet est abandonné. Ce comportement est documenté dans les options de connectivité VIC des serveurs rack UCS série C.
Pour que cela fonctionne, vous devez configurer le mode VLAN en tant que trunk et également configurer le VLAN par défaut en tant que VLAN autorisé sur ce port. Afin de changer cela, vous devez vous connecter à l'adresse IP CIMC de votre serveur.
- Cliquez sur l'onglet Serveur dans le volet gauche, puis cliquez sur Inventaire.
- Cliquez sur Cartes VIC Cisco dans le volet droit, puis cliquez sur vNIC.
- Choisissez l'interface, puis cliquez sur Propriétés. Vous devriez pouvoir effectuer les modifications ici :


- Une fois les modifications effectuées, enregistrez les modifications. Vous devez réinitialiser le serveur pour que les modifications prennent effet. Après la réinitialisation, le port-channel doit se former correctement.
Dans les versions plus récentes de Nexus 9000, 6.1(2)I(3)4 et 7.0(3)I1(1) et ultérieures, il ignore l'en-tête dot1q et les paquets atteignent Supervisor (SUP). Ce comportement est documenté dans l'ID de bogue Cisco CSCur69668.
Vous ne devriez donc pas rencontrer ce problème dans les nouvelles versions.