Que faites-vous quand un commutateur de Nexus 5000 affiche le message de "FWM-2-STM_LOOP_DETECT" dans le log ?
%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
Ce message indique que le commutateur reçoit des trames avec la même adresse MAC source sur ces deux interfaces et que le swtich apprend la même adresse MAC sur ces interfaces à très grande vitesse. Le commutateur détecte ceci comme boucle. Le commutateur désactive l'apprentissage d'adresse MAC afin de protéger son avion de contrôle. Ceci est mis en application sur tous les VLAN même si la boucle s'est produite sur seulement un VLAN.
Causes possibles
- Les adresses MAC se déplacent en raison du Protocole Spanning Tree incorrect (STP) - convergence d'État du port.
- Les adresses MAC se déplacent parce que la source de données est physiquement déplacée à travers tous les Commutateurs tandis que des états STP sont convergés et dans les états corrects.
- Les adresses MAC peuvent se déplacer entre les interfaces si les cartes d'interface de réseau serveur (NIC) sont configurées pour teaming/liaison, mais les interfaces de commutateur connecté ne sont pas. Ceci peut être évité si vous employez le Control Protocol d'agrégation de liaisons (LACP) afin de coller les interfaces sur les deux extrémités, ou configurent les Interfaces serveur pour utiliser les NIC en mode « actif/de réserve ».
Comment la boucle est-elle détectée réellement ?
La transmission du gestionnaire (FWM) a un mécanisme pour compter le nombre de MAC-mouvement-dos et pour les peser a basé sur le nombre de fois les mouvements d'adresse MAC. Il détermine tous les MAC-mouvement-dos comptent (de la taille du commutateur à travers tous les VLAN, MACs, et interfaces), déclarent le %FWM-2-STM_LOOP_DETECT, et désactivent apprendre pour protéger FWM en conditions dérangées.
Calcul de seuil : 28,000 mouvement-dos de MAC comptent dans une période de balayage vieillissante donnée de 10 secondes de la taille du commutateur. On lui déclare pendant que %FWM-2-STM_LOOP_DETECT et apprendre est désactivé.
Messages d'exemple
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
La logique pour des notifications de MAC-mouvement devrait être notée. Il est possible d'informer des MAC-mouvements quand le mac-address-table notification pour des MAC-mouvements est activé. Ceci ajoute la notification ouvre une session la console mais aucune mesure n'est prise. Un mouvement est déclaré quand une adresse MAC donnée a déplacé trois fois dans les deux sens à travers une paire donnée de ports sur un VLAN au cours d'une période vieillissante de balayage de 10 secondes.
Dépanner
Vous pouvez permettre à la notification de MAC-mouvement sur le commutateur de découvrir que les adresses MAC déplacent.
Nexus-5000# conf t
Nexus-5000(config)# mac address-table notification mac-move
Avec des Commutateurs de Nexus 5000, il n'est pas toujours suffisant de permettre à la notification de MAC-mouvement afin de générer un message de Syslog au sujet de notification de MAC-mouvement.
Afin d'assurer l'émission des messages de Syslog, sélectionnez ces commandes en même temps que la commande précédente.
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
L'ajout de ces commandes s'assure que le Syslog pour FWM détectent des affichages quand il y a un mouvement d'adresse MAC.
Afin de vérifier l'État du port STP à travers des VLAN sur les Commutateurs, sélectionnez ces commandes.
Nexus-5000# show spanning-tree
Nexus-5000# show spanning-tree vlan <id>
Nexus-5000# show spanning-tree internal interaction
Exemple
Afin de vérifier si les adresses MAC se déplacent, sélectionnez cette commande :
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
Des mouvements d'adresse MAC sont également connectés avec un niveau se connectant minimum de six exigé pour afficher que les adresses MAC déplacent.
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
Solution
- Vérifiez une convergence STP correcte et pour des port-états STP à travers tous les Commutateurs en topographie. Confirmez également qu'il n'y a aucun conflit ou État du port incorrect.
- Si la source des trames de données qui se déplacent physiquement est identifiée, contrôlez la source afin d'arrêter des mouvements rapides et continus.
- Par défaut, apprendre dynamique est réactivé après 180 secondes. À ce moment là, n'importe quel STP conteste ou des incohérences devraient être résolues. Sinon, apprendre dynamique est désactivé de nouveau.
Amélioration relative sur le commutateur de Nexus 5000
ID de bogue Cisco CSCug28099 - Enh : La molette aux ports de Disbable après boucle est détectée sur le Nexus 5000.
Le comportement en cours sur code antérieur (pré - 6.0(2)N2(1)) est décrit ici.
Quand messages de boucle (FWM-2-STM_LOOP_DETECT : Boucles détectées dans le réseau parmi le <port_id> de ports et le >vlan_id> de VLAN de <po_id> - désactiver dynamique apprennent des notifications pendant 180 secondes) sont détectés, après 120 secondes de détection de boucle que vous devriez âge rapide toutes les adresses MAC et les réapprendre alors plutôt que vieillissant la table entière de MAC address. En raison de ce comportement vous n'apprendrez pas les nouvelles adresses MAC pendant 120 secondes, mais si la boucle est uniformément présente elle peut entraîner l'impact important au réseau pendant que vous âge rapide les adresses MAC de tous les VLAN.
Cette amélioration est classée afin d'avoir une molette CLI où après qu'une boucle soit détectée, le commutateur fermé avale le port en question (le port où la boucle est détectée) afin d'éviter la panne complète.
Voici les commandes qui sont mises en application dans le code dans les versions 6.0(2)N2(1) et ultérieures :
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