Einleitung
In diesem Dokument wird beschrieben, wie Sie bei MAC-Verschiebungen auf dem Nexus 9000 eine Fehlerbehebung durchführen und diese verhindern.
Voraussetzungen
Hintergrundinformationen
2018 Nov 14 15:53:26.943 N9K %-SLOT1-5-BCM_L2_LEARN_DISABLE: MAC Learning Disabled unit=0
2018 Nov 14 15:53:27.769 N9K %-SLOT1-5-BCM_L2_LEARN_ENABLE: MAC Learning Enabled unit=0
Sie verstehen das Konzept des MAC Learning und wie eine Tabelle auf einem Switch verwaltet wird, wenn der Switch einen Frame empfängt und die MAC-Adresse des Absenders dem LAN-Port zuordnet, an dem er empfangen wurde. Unter Schleifenbedingungen kann es vorkommen, dass dieselbe MAC-Adresse über zwei verschiedene Ports am Switch erfasst wird.
Topologie
+-----------+ Po6 +------------+
| N9K_1 +----------+ N9K_2 |
| +----------+ |
+-----------+ +--+---------+
1/3 | | 2/1
| |
| |
+-+---------------+--+
| Server |
+--------------------+
0000.117d.e02e
Fehlerbehebung
Wenn BCM ASIC zu viele MAC-Adressen in kurzer Zeit erkennt, kann BCM_USD das MAC-Lernen in der Hardware deaktivieren/aktivieren. Diese Meldung wird angezeigt. Es kann verursacht werden, wenn zu viele MAC-Moves/Flaps/Loops vorhanden sind oder neue MAC-Learning/Moves einen bestimmten Grenzwert überschreiten. Standardmäßig werden auf Nexus9K die Protokolle nicht angezeigt, die Ihnen ausdrücklich mitteilen, dass der Switch mac-move durchläuft. Falls diese Bewegungen jedoch hoch sind, sehen Sie am Ende diese Protokolle.
2018 Nov 14 15:53:26.943 N9K %-SLOT1-5-BCM_L2_LEARN_DISABLE: MAC Learning Disabled unit=0
2018 Nov 14 15:53:27.769 N9K %-SLOT1-5-BCM_L2_LEARN_ENABLE: MAC Learning Enabled unit=0
2018 Nov 14 15:53:27.863 N9K %-SLOT1-5-BCM_L2_LEARN_DISABLE: MAC Learning Disabled unit=0
2018 Nov 14 15:53:28.770 N9K %-SLOT1-5-BCM_L2_LEARN_ENABLE: MAC Learning Enabled unit=0
Diese Meldungen weisen auf ein Ereignis in der MAC-Tabelle hin. Wenn in der Umgebung ständig Mac-Verschiebungen stattfinden, sind diese Meldungen sichtbar. Im Grunde empfing der Switch Frames mit derselben Quell-MAC-Adresse an zwei oder mehr Schnittstellen mit einer sehr hohen Rate. Der Switch verfügt über einen Mechanismus, um die Anzahl der MAC-Verschiebungen zu zählen und diese basierend auf der Anzahl der Verschiebungen der MAC-Adresse zu gewichten. Das dynamische MAC-Learning wird vom Switch deaktiviert, um die Kontrollebene zu schützen.
An diesem Punkt können Sie die Anzahl der MAC-Verschiebungen überprüfen, um zu ermitteln, ob und wie viele MAC-Verschiebungen auf dem Gerät aufgetreten sind.
N9K# sh mac address-table notification mac-move
MAC Move Notify Triggers: 1
Number of MAC Addresses added: 612336
Number of MAC Addresses moved: 612328
Number of MAC Addresses removed: 0
Die Ausgabe für die Anzahl der verschobenen MAC-Adressen deutet darauf hin, dass sich der Switch in MAC-Richtung bewegt.
Konfiguration
Als Nächstes müssen die MAC-Adresse, die das Problem verursacht, die VLANs und die Schnittstelleninformationen, über die das Problem aufgetreten ist, ermittelt werden. Um nach diesen Informationen zu suchen, müssen Sie die Protokollierungsebene von L2FM auf der N9K-Plattform von 2 auf 5 erhöhen.
N9K# sho logging level l2fm
Facility Default Severity Current Session Severity
-------- ---------------- ------------------------
l2fm 2 2
0(emergencies) 1(alerts) 2(critical)
3(errors) 4(warnings) 5(notifications)
6(information) 7(debugging)
N9K# conf t
Enter configuration commands, one per line. End with CNTL/Z.
N9K(config)# logging level l2fm 5
N9K(config)# end
N9K# sho logging level l2fm
Facility Default Severity Current Session Severity
-------- ---------------- ------------------------
l2fm 2 5
0(emergencies) 1(alerts) 2(critical)
3(errors) 4(warnings) 5(notifications)
6(information) 7(debugging)
Any mac moves at this point can be seen in the syslogs:
2018 Nov 14 16:04:23.881 N9K %L2FM-4-L2FM_MAC_MOVE2: Mac 0000.117d.e02e in vlan 741 has moved between Po6 to Eth1/3
2018 Nov 14 16:04:23.883 N9K %L2FM-4-L2FM_MAC_MOVE2: Mac 0000.117d.e02e in vlan 741 has moved between Po6 to Eth1/3
In diesem Fall können Sie die Anzahl der Verschiebungen einer MAC-Adresse von einem Port zu einem anderen erkennen und begrenzen.
Vor der Cisco NX-OS-Version 6.0(2)U3(1), in der eine Schleife zwischen zwei Ports erkannt wurde, wurde das MAC Learning 180 Sekunden lang deaktiviert.
Ab 7.0(3)I7(3) können Sie den Switch jetzt jedoch so konfigurieren, dass der Port mit dem niedrigeren Schnittstellenindex deaktiviert wird, wenn eine solche Schleife erkannt wird, wenn Sie den Befehl mac address-table loop-detect port-down verwenden.
N9K# conf t
Enter configuration commands, one per line. End with CNTL/Z.
N9K(config)# mac address-table loop-detect port-down
N9K(config)# exit
N9K#
Nachdem dieser Befehl aktiviert wurde, führt die weitere Schleifenerkennung dazu, dass die Schnittstelle mit niedrigerem Schnittstellenindex deaktiviert wird.
2018 Nov 13 19:33:54.773 N9K %ETHPORT-5-IF_DOWN_NONE: Interface port-channel6 is down (None)
2018 Nov 13 19:33:59.046 N9K %ETH_PORT_CHANNEL-5-PORT_DOWN: port-channel6: Ethernet2/1 is down
2018 Nov 13 19:33:59.049 N9K %ETH_PORT_CHANNEL-5-PORT_DOWN: port-channel6: Ethernet2/2 is down
2018 Nov 13 19:33:59.166 N9K %ETH_PORT_CHANNEL-5-FOP_CHANGED: port-channel6: first operational port changed from Ethernet2/1 to none
2018 Nov 13 19:33:59.235 N9K %ETHPORT-5-IF_DOWN_ERROR_DISABLED: Interface port-channel6 is down (Error disabled. Reason:error)
2018 Nov 13 19:33:59.244 N9K %ETHPORT-5-IF_DOWN_CFG_CHANGE: Interface Ethernet2/2 is down(Config change)
2018 Nov 13 19:33:59.252 N9K %ETHPORT-5-IF_DOWN_CFG_CHANGE: Interface Ethernet2/1 is down(Config change)
2018 Nov 13 19:34:05.269 N9K %ETHPORT-5-IF_DOWN_CHANNEL_ERR_DISABLED: Interface Ethernet2/2 is down (Channel error disabled)
2018 Nov 13 19:34:05.303 N9K last message repeated 1 time
2018 Nov 13 19:34:05.303 N9K %ETHPORT-5-IF_DOWN_CHANNEL_ERR_DISABLED: Interface Ethernet2/1 is down (Channel error disabled)
Überprüfung
Verwenden Sie diesen Befehl, um die aktuell konfigurierte Aktion zu überprüfen.
N9K# show mac address-table loop-detect
Port Down Action Mac Loop Detect : disabled
Sie können den Index der Schnittstelle bestätigen, um zu überprüfen, ob die richtige Schnittstelle gemäß der Funktion deaktiviert wurde.
N9K# show system internal l2fm l2dbg macdb address 0000.117d.e02e vlan 741
Legend
------
Db: 0-MACDB, 1-GWMACDB, 2-SMACDB, 3-RMDB, 4-SECMACDB 5-STAGEDB
Src: 0-UNKNOWN, 1-L2FM, 2-PEER, 3-LC, 4-HSRP
5-GLBP, 6-VRRP, 7-STP, 8-DOTX, 9-PSEC 10-CLI 11-PVLAN
12-ETHPM, 13-ALW_LRN, 14-Non_PI_MOD, 15-MCT_DOWN, 16 - SDB
17-OTV, 18-Deounce Timer, 19-AM, 20-PCM_DOWN, 21 - MCT_UP
22-VxLAN, 23-L2RIB 24-CTRL, 25-UFDM
Slot:0 based for LCS 31-MCEC 20-OTV/ORIB
VLAN: 741 MAC: 0000.117d.e02e
Time If/swid Db Op Src Slot FE
Wed Nov 14 16:04:28 2018 0x16000005 0 UPDATE 3 0 0
Wed Nov 14 16:04:28 2018 0x16000005 0 REFRESH_DETECT 3 0 15
Wed Nov 14 16:04:28 2018 0x1a000400 0 UPDATE 3 0 0
Wed Nov 14 16:04:28 2018 0x1a000400 0 REFRESH_DETECT 3 0 15
Wed Nov 14 16:04:28 2018 0x16000005 0 UPDATE 3 0 0
N9K# show int snmp-ifindex
--------------------------------------------------------------------------------
Port IFMIB Ifindex (hex)
--------------------------------------------------------------------------------
mgmt0 83886080 (0x5000000 )
Eth1/1 436207616 (0x1a000000)
Eth1/2 436208128 (0x1a000200)
Eth1/3 436208640 (0x1a000400)
<snip>
Po6 369098757 (0x16000005)
Andere Plattformen
Mit diesen Befehlen können Sie die MAC Move-Benachrichtigung auf den anderen Nexus-Plattformen aktivieren.
N3K:
mac address table notification mac-move
logging level fwm 6
logging monitor 6
N5K/N6K:
mac address table notification mac-move
logging level fwm 6
logging monitor 6
N7K/N9K:
logging level l2fm 5
IOS:
mac address table notification mac-move
Note: To revert/remove these commands, simply use the `no` version of each command.
Diese Befehle sind auch in Nexus5K/6K verfügbar, auf denen Version 6.0(2)N2(1) und höher ausgeführt werden, um den Port herunterzufahren:
N5K(config)# mac address-table loop-detect ?
port-down Take port-down action for mac loop detection
N5K(config)# mac address-table loop-detect port-down
Further, the following command is available on the platform to err-disable the edge-port on the MAC move loop detection,
N5K(config)# mac address-table loop-detect port-down edge-port
Mit NX-OS 6.0(2)A8(1) auf Nexus 3000 können Sie die Aktion so konfigurieren, dass der Port mit dem niedrigeren Schnittstellenindex heruntergefahren wird, wenn eine solche Schleife erkannt wird.
N3K(config)# mac address-table loop-detect ?
port-down Take port-down action for mac loop detection
N3K(config)# mac address-table loop-detect port-down
The following command is available on this platform as well, to err-disable the edge-port on the MAC move loop detection,
N5K(config)# mac address-table loop-detect port-down edge-port
Zugehörige Informationen