Einleitung
In diesem Dokument wird die Erstellung eines LACP-Port-Channels (Link Aggregation Control Protocol) zwischen dem Nexus 9000 und dem UCS-Server (Unified Computing System) beschrieben.
Voraussetzungen
Anforderungen
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
- Nexus 9300 mit Version 6.1(2)I(3)3a
- UCS C240 M3 Server mit Cisco Integrated Management Controller (CIMC) Version 2.0(3f)
- Cisco Virtual Interface Card (VIC) Version 1225
- Red Hat Enterprise Linux Version 7.0
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.
Problem
Der Nexus 9000 ist nicht in der Lage, LACP-Port-Channels mit dem UCS-Server zu bilden. Wenn auf dem Port-Channel kein lacp suspend-individual konfiguriert ist, wechselt es in den I-Status. Wenn es nicht konfiguriert ist, wird der Port aufgrund fehlender LACP Data Unit (LACPDU) angehalten.
Die LACPDU-Schnittstellenzähler auf dem Nexus 9000 zeigen an, dass die übertragenen (Tx) Zähler inkrementiert werden, die empfangenen (Rx) Zähler jedoch nicht inkrementiert werden.
Im Folgenden wird beschrieben, wie Sie einen Zugriffsport auf dem Nexus 9000 konfigurieren und den LACP Suspend-Individual deaktivieren:
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
Dies kann auch als Trunk-Edge-Port konfiguriert werden. Das Verhalten ist jedoch nicht anders:
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
Dies kann (können) für "suspendiert" sein, wenn "LACP Suspend-Individual" aktiviert ist (standardmäßig ist es aktiviert). Der Grund sollte jedoch mit dem identisch sein, warum der Peer keine Protocol Data Units (PDUs) empfängt.
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 erfasst auch keine PDUs, die vom Peer-Gerät stammen. Ein tcpdump, der vom Server übernommen wird, gibt jedoch an, dass er PDUs sendet und empfängt.
Lösung
Das Lab-Setup zeigte, dass bei der Erfassung der LACPDU auf dem Nexus 9000 festgestellt wurde, dass sie LACPDU mit dem dot1q-Header sendet, wie hier gezeigt:
Die VLAN-ID ist jedoch auf 0 festgelegt. Wenn Sie sich jetzt die Konfiguration für die Virtual Network Interface Card (vNIC) ansehen, sehen Sie, dass das VLAN standardmäßig auf "None" (Keine) und der VLAN Mode (VLAN-Modus) auf "Access" (Zugriff) eingestellt ist. Selbst in diesem Modus sendet es LACPDU mit dem dot1q-Header. Der Nexus 9000 identifiziert VLAN 0 jedoch nicht, und dieses Paket wird verworfen. Dieses Verhalten wird in den VIC-Verbindungsoptionen für Rack-Server der UCS C-Serie dokumentiert.
Damit dies funktioniert, müssen Sie den VLAN-Modus als Trunk und das Standard-VLAN als VLAN konfigurieren, das auf diesem Port zulässig ist. Um dies zu ändern, melden Sie sich bei der CIMC-IP-Adresse Ihres Servers an.
- Klicken Sie im linken Bereich auf die Registerkarte Server und dann auf Inventar.
- Klicken Sie im rechten Bereich auf Cisco VIC-Adapter und dann auf vNICs.
- Wählen Sie die Schnittstelle aus, und klicken Sie dann auf Eigenschaften. Sie sollten in der Lage sein, die folgenden Änderungen vorzunehmen:
- Speichern Sie die Änderungen, sobald Sie sie vorgenommen haben. Sie müssen den Server zurücksetzen, damit die Änderungen wirksam werden. Nach dem Zurücksetzen sollte sich der Port-Channel korrekt ausbilden.
In neueren Versionen von Nexus 9000, Version 6.1(2)I(3)4 und 7.0(3)I1(1) und höher wird der dot1q-Header ignoriert, und die Pakete erreichen den Supervisor (SUP). Dieses Verhalten wird unter der Cisco Bug-ID CSCur6968 dokumentiert.
Daher sollten Sie in neueren Versionen nicht auf dieses Problem stoßen.