Cosa fare quando uno switch Nexus 5000 visualizza il messaggio "FWM-2-STM_LOOP_DETECT" nel registro?
%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
Questo messaggio indica che lo switch riceve i frame con lo stesso indirizzo MAC di origine su queste due interfacce e che lo switch apprende lo stesso indirizzo MAC su queste interfacce a una velocità molto elevata. Lo switch rileva questa condizione come loop. Lo switch disabilita l'apprendimento dell'indirizzo MAC per proteggere il suo control plane. Questa procedura viene implementata su tutte le VLAN, anche se il loop si è verificato su una sola VLAN.
Possibili cause
- Gli indirizzi MAC vengono spostati a causa di una convergenza errata tra le porte e lo stato del protocollo STP (Spanning Tree Protocol).
- Gli indirizzi MAC vengono spostati perché l'origine dei dati viene spostata fisicamente su tutti gli switch, mentre gli stati STP vengono convertiti e corretti.
- Gli indirizzi MAC possono spostarsi tra le interfacce se le schede di interfaccia di rete (NIC, Network Interface Card) del server sono configurate per il raggruppamento/collegamento, a differenza delle interfacce dello switch connesse. Per evitare questo problema, è possibile usare il protocollo Link Aggregation Control Protocol (LACP) per collegare le interfacce su entrambe le estremità o configurare le interfacce server per l'uso delle schede NIC in modalità "active/standby".
Come viene effettivamente rilevato il loop?
FWM (Forwarding Manager) dispone di un meccanismo per contare il numero di spostamenti all'interno degli indirizzi MAC e pesarli in base al numero di spostamenti all'interno degli indirizzi MAC. Determina il numero totale di spostamenti all'indietro degli indirizzi MAC (a livello di switch su tutte le VLAN, gli indirizzi MAC e le interfacce), dichiara %FWM-2-STM_LOOP_DETECT e disabilita l'apprendimento per la protezione di FWM in condizioni di loop.
Matematica soglia: 28.000 Move-back MAC in un determinato periodo di scansione di 10 secondi a livello di switch. Viene dichiarato come %FWM-2-STM_LOOP_DETECT e l'apprendimento è disabilitato.
Messaggi di esempio
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 logica per le notifiche di spostamento MAC deve essere annotata. È possibile notificare gli spostamenti MAC quando la notifica della tabella degli indirizzi MAC per gli spostamenti MAC è abilitata. In questo modo vengono aggiunti i registri delle notifiche sulla console ma non viene eseguita alcuna azione. Uno spostamento viene dichiarato quando un determinato indirizzo MAC si è spostato tre volte avanti e indietro su una determinata coppia di porte su una VLAN entro un periodo di scansione di 10 secondi.
Risoluzione dei problemi
È possibile abilitare la notifica di spostamento dell'indirizzo MAC sullo switch per individuare gli indirizzi MAC da spostare.
Nexus-5000# conf t
Nexus-5000(config)# mac address-table notification mac-move
Con gli switch Nexus 5000, non è sempre sufficiente abilitare la notifica di spostamento dell'indirizzo MAC per generare un messaggio syslog sulla notifica di spostamento dell'indirizzo MAC.
Per garantire la generazione dei messaggi syslog, immettere questi comandi insieme al comando precedente.
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'aggiunta di questi comandi assicura che il syslog per il rilevamento FWM venga visualizzato quando si verifica uno spostamento dell'indirizzo MAC.
Per verificare lo stato della porta STP sulle VLAN sugli switch, immettere questi comandi.
Nexus-5000# show spanning-tree
Nexus-5000# show spanning-tree vlan
Nexus-5000# show spanning-tree internal interaction
Esempio
Per verificare se gli indirizzi MAC vengono spostati, immettere questo comando:
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
Gli spostamenti degli indirizzi MAC vengono anche registrati con un livello di registrazione minimo di sei richiesto per visualizzare gli spostamenti degli indirizzi MAC.
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
Soluzione
- Verificare la corretta convergenza STP e gli stati delle porte STP su tutti gli switch nella topografia. Verificare inoltre che non vi siano controversie o stati della porta errati.
- Se viene identificata l'origine dei frame di dati che si stanno spostando fisicamente, controllarla per arrestare gli spostamenti rapidi e continui.
- Per impostazione predefinita, l'apprendimento dinamico viene riattivato dopo 180 secondi. A quel punto, eventuali controversie o incoerenze STP dovrebbero essere risolte. In caso contrario, l'apprendimento dinamico viene nuovamente disabilitato.
Miglioramenti correlati allo switch Nexus 5000
ID bug Cisco CSCug28099 - Enh: Manopola su porte disabilitate dopo il rilevamento di loop su Nexus 5000.
Di seguito viene descritto il comportamento corrente del codice precedente (precedente alla 6.0(2)N2(1)).
Messaggi When loop (FWM-2-STM_LOOP_DETECT: Rilevati loop nella rete tra le porte <id_porta> e <id_porta> (vlan >id_vlan> - Disabilitazione delle notifiche di apprendimento dinamiche per 180 secondi). Dopo 120 secondi di rilevamento loop, è necessario eseguire rapidamente il conteggio del periodo di permanenza di tutti gli indirizzi MAC e quindi ricomparirli anziché eseguire il conteggio del periodo di permanenza dell'intera tabella degli indirizzi MAC. A causa di questo comportamento, non sarà possibile apprendere i nuovi indirizzi MAC per 120 secondi, ma se il loop è costantemente presente può causare un impatto significativo sulla rete, come si farebbe con il rapido invecchiamento degli indirizzi MAC da tutte le VLAN.
Questo miglioramento viene implementato in modo da avere una manopola CLI dove, dopo il rilevamento di un loop, lo switch chiude la porta in questione (la porta dove viene rilevato il loop) in modo da evitare l'interruzione completa.
Di seguito sono riportati i comandi implementati nel codice nelle versioni 6.0(2)N2(1) e successive:
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