Was tun Sie, wenn ein Nexus 5000-Switch die Meldung "FWM-2-STM_LOOP_DETECT" im Protokoll anzeigt?
%FWM-2-STM_LOOP_DETECT: Loops detected in the network among ports
Eth x/y and Eth x/y vlan xx -
Disabling dynamic learn notifications for 180 seconds
%FWM-2-STM_LEARNING_RE_ENABLE: Re enabling dynamic learning on all interfaces
Diese Meldung weist darauf hin, dass der Switch Frames mit derselben Quell-MAC-Adresse an diesen beiden Schnittstellen empfängt und dass der Switch mit sehr hoher Geschwindigkeit dieselbe MAC-Adresse auf diesen Schnittstellen erfährt. Der Switch erkennt dies als Schleife. Der Switch deaktiviert das Erlernen von MAC-Adressen, um seine Kontrollebene zu schützen. Dies wird in allen VLANs implementiert, selbst wenn die Schleife nur in einem VLAN stattfand.
Mögliche Ursachen
- MAC-Adressen werden aufgrund falscher STP-Port-Zustandskonvergenz (Spanning Tree Protocol) verschoben.
- MAC-Adressen werden verschoben, da die Datenquelle physisch über alle Switches verschoben wird, während die STP-Zustände konvergiert sind und den korrekten Status haben.
- MAC-Adressen können zwischen Schnittstellen verschoben werden, wenn die Server-Netzwerkschnittstellenkarten (NICs) für Teaming/Bonding konfiguriert sind, die angeschlossenen Switch-Schnittstellen jedoch nicht. Dies kann vermieden werden, wenn Sie das Link Aggregation Control Protocol (LACP) verwenden, um die Schnittstellen an beiden Enden zu verbinden, oder die Serverschnittstellen so konfigurieren, dass sie die NICs im Modus "Aktiv/Standby" verwenden.
Wie wird die Schleife tatsächlich erkannt?
Der Forwarding Manager (FWM) verfügt über einen Mechanismus, mit dem die Anzahl der MAC-Verschiebungen gezählt und abgewogen werden kann, basierend auf der Anzahl der Bewegungen der MAC-Adresse. Er bestimmt die Gesamtzahl der MAC-Verschiebungen-Rückrufe (Switch-weit über alle VLANs, MACs und Schnittstellen), deklariert den %FWM-2-STM_LOOP_DETECT und deaktiviert die Lernfunktion, um FWM in Schleifenbedingungen zu schützen.
Schwellenwert-Math: 28.000 MAC-Verschiebungsrückstände werden in einer gegebenen alternden Abtastzeit von 10 Sekunden Switch-weit berechnet. Sie wird als %FWM-2-STM_LOOP_DETECT deklariert, und die Lernfunktion ist deaktiviert.
Beispielnachrichten
2011 Jan 30 16:14:23 Nexus-5000 %FWM-2-STM_LOOP_DETECT:
Loops detected in the network among ports Eth119/1/13 and Po90 vlan 218 -
Disabling dynamic learn notifications for 180 seconds
2011 Jan 30 16:17:23 Nexus-5000 %FWM-2-STM_LEARNING_RE_ENABLE:
Re enabling dynamic learning on all interfaces
Die Logik für MAC-Move-Benachrichtigungen sollte beachtet werden. Es ist möglich, MAC-Verschiebungen zu benachrichtigen, wenn die Benachrichtigung zur MAC-Adresstabelle für MAC-Verschiebungen aktiviert ist. Dadurch werden Benachrichtigungsprotokolle auf der Konsole hinzugefügt, aber es werden keine Aktionen ausgeführt. Eine Bewegung wird deklariert, wenn eine bestimmte MAC-Adresse innerhalb einer veralteten Abtastzeit von 10 Sekunden dreimal zwischen einem bestimmten Port eines VLAN hin- und hergeschoben wurde.
Fehlerbehebung
Sie können die MAC-Move-Benachrichtigung auf dem Switch aktivieren, um herauszufinden, welche MAC-Adressen verschoben werden.
Nexus-5000# conf t
Nexus-5000(config)# mac address-table notification mac-move
Bei Nexus 5000-Switches reicht es nicht immer aus, die MAC-Move-Benachrichtigung zu aktivieren, um eine Syslog-Meldung über MAC-Move-Benachrichtigungen zu generieren.
Um die Generierung von Syslog-Meldungen sicherzustellen, geben Sie diese Befehle zusammen mit dem vorherigen Befehl ein.
Nexus-5000# conf t
Nexus-5000(config)# Logging level spanning-tree 6
Nexus-5000(config)# Logging level fwm 6
Nexus-5000(config)# Logging monitor 6
Durch Hinzufügen dieser Befehle wird sichergestellt, dass das Syslog für FWM Displays erkennt, wenn eine MAC-Adressverschiebung erfolgt.
Geben Sie diese Befehle ein, um den STP-Port-Status in den VLANs der Switches zu überprüfen.
Nexus-5000# show spanning-tree
Nexus-5000# show spanning-tree vlan
Nexus-5000# show spanning-tree internal interaction
Beispiel
Um zu überprüfen, ob sich MAC-Adressen bewegen, geben Sie den folgenden Befehl ein:
Nexus-5000# show mac address-table notification mac-move
MAC Move Notify Triggers: 1206
Number of MAC Addresses added: 944088
Number of MAC Addresses moved: 265
Number of MAC Addresses removed: 943920
MAC-Adressverschiebungen werden ebenfalls mit einer Mindestprotokollierungsstufe von sechs protokolliert, die erforderlich ist, um anzuzeigen, welche MAC-Adressen verschoben werden.
2012 Jun 12 16:05:31.564 Nexus-5000 %FWM-6-MAC_MOVE_NOTIFICATION:
Host 0000.0000.fe00 in vlan 85 is flapping between
port Eth104/1/8 and port Eth104/1/9
Lösung
- Prüfen Sie, ob STP-Konvergenz und STP-Portstatus für alle Switches in der Topographie korrekt sind. Stellen Sie außerdem sicher, dass keine Streitigkeiten oder fehlerhafte Hafenstaaten vorliegen.
- Wenn die Quelle der Datenframes identifiziert wird, die sich physisch bewegen, können Sie die Quelle kontrollieren, um schnelle und kontinuierliche Verschiebungen zu stoppen.
- Die dynamische Lernfunktion wird standardmäßig nach 180 Sekunden wieder aktiviert. An diesem Punkt sollten STP-Streitigkeiten oder Inkonsistenzen beigelegt werden. Andernfalls wird das dynamische Lernen wieder deaktiviert.
Weitere Verbesserungen beim Nexus 5000-Switch
Cisco Bug ID CSCug28099 - Enh: Mit "Knob" können Ports deaktiviert werden, nachdem auf dem Nexus 500 eine Schleife erkannt wurde.
Das aktuelle Verhalten von früherem Code (vor - 6.0(2)N2(1)) wird hier beschrieben.
Bei Schleifenmeldungen (FWM-2-STM_LOOP_DETECT): Im Netzwerk erkannte Schleifen zwischen den Ports <port_id> und <po_id> vlan >vlan_id> - Die Deaktivierung der dynamischen Erkennungsbenachrichtigungen für 180 Sekunden) werden erkannt. Nach 120 Sekunden der Schleifenerkennung sollten Sie alle MAC-Adressen schnell ausaltern und diese dann erneut erlernen, anstatt die gesamte MAC-Adresstabelle zu veralten. Aufgrund dieses Verhaltens lernen Sie die neuen MAC-Adressen 120 Sekunden lang nicht. Wenn die Schleife jedoch konsistent vorhanden ist, kann sie erhebliche Auswirkungen auf das Netzwerk haben, da Sie die MAC-Adressen von allen VLANs schnell veraltern würden.
Diese Erweiterung wird vorgenommen, um einen CLI-Knoten zu haben, in dem der Switch nach der Erkennung einer Schleife den betreffenden Port (den Port, an dem die Schleife erkannt wird) herunterfährt, um einen vollständigen Ausfall zu vermeiden.
Nachfolgend sind die Befehle aufgeführt, die in den Code in Version 6.0(2)N2(1 und höher implementiert sind:
swo2-371(config)# mac address-table loop-detect ?
port-down Take port-down action for mac loop detection
swo2-371(config)# mac address-table loop-detect port-down
swo2-371(config)# no mac address-table loop-detect port-down