Il supporto tecnico Cisco riceve spesso richieste di assistenza per una o più porte dello switch in stato err-disabled; in altre parole, le porte sono in stato errDisable. Vogliono sapere il motivo per cui ciò è accaduto e come le porte possono essere ripristinate alla normalità. In questo documento viene descritto lo stato errDisable e viene spiegato come ripristinare le porte disabilitate a causa di un errore con due esempi. Nel documento, i termini errDisable e error-disable sono usati indifferentemente. (errDisable è lo stato di una porta, come mostrato dal comando show port; le opzioni error-disable o error-disabled sono equivalenti a errDisable nella lingua inglese.)
Nessun requisito specifico previsto per questo documento.
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware. Per creare gli esempi riportati nel presente documento, è necessario disporre dei seguenti elementi:
Due switch Catalyst serie 4000/5000/6000 (o equivalenti) in un ambiente lab non configurato. Il nostro sistema principale era uno switch Catalyst 5500 con software CatOS 5.4(2). Questa licenza è stata collegata a un Catalyst 6509 con 5.3(5a)CSX, ma potrebbe essere una qualsiasi macchina CatOS e compatibile con EtherChannel e portfast.
Due cavi crossover Ethernet RJ-45.
CatOS 5.4(x) su almeno uno switch.
Due porte FastEthernet in ciascuno switch compatibili con EtherChannel e portfast.
Una connessione di terminale a uno o a entrambi gli switch.
Le informazioni discusse in questo documento fanno riferimento a un ambiente lab isolato. Prima di usare un comando di rete, accertarsi di averne compreso l'impatto potenziale sulla rete. il comando clear config all è stato immesso su ciascuno switch per garantire una configurazione predefinita. Se si desidera eseguire la replica e sperimentare questi errori, provare solo a duplicarli in un ambiente isolato che non influisca sulla rete in uso. Gli esempi riportati di seguito sono puramente indicativi. L'output di alcuni comandi è stato troncato laddove non migliora la discussione.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
La funzione errDisable è supportata sugli switch Catalyst con CatOS (Catalyst 2948G, 4500/4000, 5500/5000 e 6500/6000) e sugli switch Catalyst con Cisco IOS (Catalyst 2900XL/3500XL, 2950, 2970, 3550, 4500 e 6) 5000). L'implementazione di errDisable varia a seconda della piattaforma in uso. Nel documento si fa riferimento in particolare agli switch con software CatOS.
La funzione errDisable è stata implementata per la prima volta in CatOS versione 3.2(2). Se durante la configurazione viene richiesto di abilitare una porta, ma il software sullo switch rileva una condizione di errore, la porta viene chiusa. In altre parole, la porta è stata disabilitata automaticamente dal software del sistema operativo dello switch a causa di una condizione di errore rilevata sulla porta.
Una porta disabilitata a causa di un errore è una porta chiusa che non può né ricevere né inviare dati. Il LED della porta si accende in arancione e se si immette il comando show port per conoscere lo stato della porta, il risultato restituito è errdisable. Ecco un esempio di una porta con stato err-disabled nell'interfaccia della riga di comando dello switch.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
La funzione error disable ha due finalità. In primo luogo, consente all'amministratore di sapere quando e dove si è verificato un problema relativo alla porta. In secondo luogo, elimina la possibilità che la porta possa causare il malfunzionamento di altre porte o dell'intero modulo a causa del monopolio dei buffer da parte della porta guasta, dei messaggi di errore delle porte che monopolizzano le comunicazioni tra processi sulla scheda, causando anche gravi problemi di rete. La funzione error disable permette di prevenire queste situazioni.
Inizialmente questa funzione è stata implementata per gestire situazioni di collisione speciali in cui lo switch ha rilevato collisioni eccessive o ritardate su una porta. Quando un frame viene scartato a causa di collisioni eccessive che si verificano 16 in una riga. Quando occorre attendere che ciascun dispositivo riconosca lo stato collegato su un determinato cavo, si parla di collisioni ritardate. Questi tipi di errori possono essere causati da un cavo non conforme alle specifiche (troppo lungo, del tipo sbagliato, difettoso), da una scheda di interfaccia di rete (NIC) difettosa (con problemi fisici o problemi di driver) o da una configurazione errata del duplex della porta. Quest'ultima causa è comune e si verifica quando due dispositivi collegati direttamente, ad esempio una scheda NIC collegata a uno switch, non riescono a negoziare correttamente la velocità e il duplex. In una rete LAN, solo le connessioni half-duplex dovrebbe sperimentare una collisione; a causa della natura del protocollo CSMA (Carrier-Sense Multi-Access) di Ethernet, le collisioni sono normali nella modalità half-duplex, purché non superino una piccola percentuale del traffico.
Con l'aumentare delle funzionalità del software CatOs, c'erano molti altri modi per disabilitare una porta a causa di un errore. Ad esempio, sullo switch Catalyst 6500 con CatOS, la funzione Errdisable è supportata per i seguenti problemi di connettività:
ispezione ARP
Soppressione broadcast
Protezione BPDU sulla porta
Configurazione errata del canale
Errore del distributore
Mancata corrispondenza del duplex
Configurazione errata del tunnel del protocollo di layer 2
Soglia del tunnel del protocollo di livello 2 superata
UDLD
La funzione error disable permette allo switch di disattivare una porta quando si verifica una di queste situazioni. Tenere presente che una porta che viene disabilitata a causa di un errore non è di per sé una causa di allarme, purché si determini e si risolva la causa principale. Una porta con stato err-disabled è un sintomo di un problema più profondo che deve essere risolto.
Per eseguire il ripristino da errDisable, procedere come segue:
Identificare e correggere gli errori che hanno causato la disabilitazione delle porte (cavi, schede di interfaccia di rete, EtherChannel e così via).
Se non si identifica e non si corregge il problema che ha causato la disabilitazione a causa di un errore delle porte, le porte verranno nuovamente disabilitate a causa di un nuovo problema. Alcuni errori possono verificarsi molto spesso (ad esempio, l'errore rilevato da BPDU portguard, che può verificarsi ogni due secondi). Se si tenta di riattivare le porte senza risolvere la causa del problema, le porte verranno nuovamente disabilitate.
Riattivare la porta.
La semplice risoluzione del problema non comporta la riattivazione delle porte. Dopo aver risolto la causa del problema, le porte rimangono disabilitate (e i LED delle porte sono ancora arancioni); le porte devono essere riattivate prima di diventare attive. All'inizio, l'unico modo per riattivare la porta era immettere manualmente il comando set port enable per le porte in questione. Nel tempo sono state aggiunte estensioni opzionali alla funzione error disable per renderla più flessibile e automatica.
Nota: una porta con stato err-disabled non è l'unico motivo per cui il LED della porta potrebbe diventare arancione; è solo una delle ragioni. Per questo motivo, è sempre consigliabile controllare lo stato della porta con il comando show port.
Alcuni clienti desideravano poter stabilire se una porta dovesse essere chiusa a causa di speciali errori di collisione rilevati da CatOS. In alcune situazioni, ad esempio se il collegamento fosse una connessione backbone, la chiusura delle porte sarebbe stata in realtà peggiore degli errori riscontrati sulle porte; sarebbe più auspicabile lasciare i porti il più funzionanti possibile fino a quando il problema non sarà risolto, piuttosto che chiuderli. Nella release 4.2(2), è stato aggiunto un nuovo comando a CatOS chiamato set option errport che consente all'amministratore di determinare l'azione intrapresa dallo switch dopo aver individuato una porta con questi speciali errori di collisione. Lo stato originale e predefinito è impostato sull'opzione errport disable, in cui lo switch attiva una porta disabilitata a causa di un errore quando rileva un tipo di errore speciale. Al contrario, se si usa il comando set option errport enable, lo switch lascerà abilitate le porte anche se incontra errori di collisione che normalmente disabiliterebbero quelle porte.
Questo comando ha effetto sullo switch a livello globale; non può essere emesso per una singola porta. Non è elencato nella guida di riferimento dei comandi, ma nelle note sulla versione per la versione 4.2(2) (note sulla versione per il software della famiglia Catalyst 5000 versione 4.x). Si noti che questo comando sembra non essere intuitivo; per disabilitare la funzione err-disable (abilitata per impostazione predefinita), è necessario abilitare l'opzione errport. In termini più chiari, è sufficiente utilizzare il comando set option errport enable per evitare che una porta venga disabilitata a causa di un errore.
Il comando set option errport è consigliato solo se si ritiene che il problema potrebbe riguardare altre porte del modulo se si consente il proseguimento di queste condizioni di errore. È solo una misura di stop-gap, non una "soluzione" al problema; impedisce semplicemente che le porte che presentano questi errori vengano chiuse fino a quando non si riesce a risolvere il problema reale. Utilizzare con cautela.
Con CatOS versione 5.4(1), viene introdotto un nuovo comando chiamato set errdisable-timeout. Questo comando è una versione più sofisticata del comando set option errport descritto in precedenza. Una porta con stato err-disabled viene riattivata automaticamente dopo un periodo di tempo configurabile (da 30 secondi a 24 ore, specificato in secondi), evitando la necessità di riattivare manualmente la porta con stato err-disabled.
Questo comando influisce sulle porte abilitate dalla configurazione corrente sullo switch, ma che sono state messe in stato err-disabled dal software CatOS. Per verificare lo stato corrente della funzione errdisable-timeout, usare il comando show errdisable-timeout. È possibile specificare cinque aree separate in cui attivare questa funzione: bpdu-guard, channel-misconfig, duplex-mismatch (che include gli speciali errori di collisione menzionati in precedenza), udld, altro. In questo modo, è possibile proteggere in modo permanente le porte che vengono disabilitate a causa di un errore nelle aree desiderate, ma è possibile selezionare le aree in cui si desidera che le porte continuino a funzionare finché il problema non viene risolto.
Nelle versioni software 5.2.1 e 5.2.2 per Catalyst serie 6000, è presente un problema software che provoca interruzioni della rete quando una porta viene disabilitata a causa di un errore. Quando una porta viene disabilitata a causa di un errore, lo switch immette inavvertitamente tutti gli indirizzi MAC appresi sulla porta disabilitata a causa di un errore. Ciò causerà interruzioni della rete sulla VLAN associata. Questo problema software ha l'ID bug Cisco CSCdm4887 e viene risolto nella versione 5.2.3 e successive.
La soluzione a breve termine per prevenire questo problema è la seguente:
Eseguire il comando set option errport enable per disabilitare la funzione error disabile.
Riattivare tutte le porte con stato err-disabled utilizzando il comando set port enable num_mod/num_porta.
Esempio: set port enable 3/1
Cancellate la tabella degli indirizzi MAC utilizzando il comando clear cam dynamic per ripristinare gli indirizzi MAC appresi in modo dinamico.
A questo punto del documento, vengono forniti due esempi di come una porta con stato err-disabled può essere rilevata e di come correggerla; una breve discussione sugli altri tre motivi per cui una porta potrebbe diventare err-disabled; e un riepilogo dei comandi discussi in merito alle porte con stato err-disabled. Gli esempi specifici riportati di seguito relativi a questi problemi possono essere facilmente duplicati in un ambiente lab.
Per ripristinare una porta disabilitata a causa di un errore, attenersi alla seguente procedura:
Versione del software utilizzata in questo documento
Per visualizzare la versione software dello switch in esecuzione per questo documento, usare il comando show version. Questo è solo per mostrare quale versione di CatOS stavamo usando per questo test e quali moduli erano coinvolti.
Cat5500> (enable) show version WS-C5500 Software, Version McpSW: 5.4(2) NmpSW: 5.4(2) Copyright (c) 1995-2000 by Cisco Systems NMP S/W compiled on Apr 7 2000, 16:59:29 MCP S/W compiled on Apr 07 2000, 16:49:24 System Bootstrap Version: 5.1(1) Hardware Version: 1.3 Model: WS-C5500 Serial #: 069041642 Mod Port Model Serial # Versions --- ---- ---------- --------- ---------------------------------------- 1 0 WS-X5540 013459824 Hw : 1.1 Fw : 5.1(1) Fw1: 5.1(1) Sw : 5.4(2) Sw : 5.4(2) 11 24 WS-X5225R 012121634 Hw : 3.1 Fw : 4.3(1) Sw : 5.4(2) DRAM FLASH NVRAM Module Total Used Free Total Used Free Total Used Free ------ ------- ------- ------- ------- ------- ------- ----- ----- ----- 1 32768K 18567K 14201K 8192K 4171K 4021K 512K 179K 333K Uptime is 0 day, 0 hour, 4 minutes Cat5500> (enable) show module Mod Slot Ports Module-Type Model Status --- ---- ----- ------------------------- ------------------- -------- 1 1 0 Supervisor IIG WS-X5540 ok 15 1 Route Switch Feature Card 11 11 24 10/100BaseTX Ethernet WS-X5225R ok Mod Module-Name Serial-Num --- ------------------- -------------------- 1 00013459824 11 00012121634 Mod MAC-Address(es) Hw Fw Sw --- -------------------------------------- ------ ---------- ----------------- 1 00-90-ab-28-d0-00 to 00-90-ab-28-d3-ff 1.1 5.1(1) 5.4(2) 5 00-10-7b-7c-09-d4 to 00-10-7b-7c-09-df 3.0 3.1(1) 5.4(2) 6 00-e0-1e-6c-80-da to 00-e0-1e-6c-80-dc 1.0 4.1(1) 5.4(2) 8 00-10-7b-44-16-40 to 00-10-7b-44-16-57 1.3 3.1(1) 5.4(2) 10 00-10-7b-0c-32-d0 to 00-10-7b-0c-32-db 2.0 3.1(1) 5.4(2) 11 00-50-a2-f4-e4-50 to 00-50-a2-f4-e4-67 3.1 4.3(1) 5.4(2)
Come determinare se le porte sono in stato errDisable
Per verificare se la porta è stata disabilitata a causa di un errore, è possibile immettere il comando show port. Questo è l'esempio di un porto attivo; più avanti, la stessa porta è in stato err-disabled.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------- ---------- ---------- ------ ------ ----- ------------ 11/1 connected 1 normal a-half a-100 10/100BaseTX Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------- ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Nota: quando una porta viene disabilitata a causa di un errore, il LED associato a questa porta sul pannello anteriore è di colore arancione fisso.
Come determinare la causa dello stato err-disabled (messaggi della console, syslog, show errdisable-timeout)
Quando una porta è in stato err-disabled, lo switch invia un messaggio alla console spiegando il motivo per cui la porta è stata disabilitata. Di seguito vengono riportati due messaggi di esempio: una dalla funzione portfast BPDU-guard e un'altra da un problema di configurazione EtherChannel.
2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port. Disabling 11/1 2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2 is disabled in vlan 1 2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2
Nota: i messaggi non indicano esplicitamente errDisable o error-disabled; tuttavia, indicano che la porta è stata disabilitata dallo switch. Una volta generati, i messaggi della console non vengono salvati, a meno che non si utilizzi un server syslog nella rete. Se si configura lo switch per inviare questi messaggi a un server syslog, si disporrà di una registrazione più permanente di quando e perché la porta è stata disabilitata. Per informazioni su come configurare lo switch per inviare messaggi a un server syslog, consultare il documento relativo alla configurazione della registrazione dei messaggi di sistema nella Guida alla configurazione di CatOS 5.4.
Se si esegue CatOS 5.4(1) o versioni successive, è disponibile una funzione chiamata errdisable-timeout che, se abilitata, indica la causa dell'errore. Questo è un esempio
Cat5500> (enable) show errdisable-timeout ErrDisable Reason Timeout Status Port ErrDisable Reason ------------------- -------------- ---- ---------------- bpdu-guard enable 11/1 bpdu-guard channel-misconfig disable duplex-mismatch disable udld disable other disable Interval: 30 seconds
Come risolvere il problema. Dopo aver individuato la causa dell'errore, occorre risolvere la causa principale, quindi riattivare la porta.
Risoluzione del problema principale
Dipende da quale sia la causa del problema. Le cause che possono provocare la disabilitazione delle porte sono numerose. Queste sono alcune delle cause più evidenti e comuni.
Configurazione errata di EtherChannel
Affinché EtherChannel funzioni, le porte interessate devono avere configurazioni coerenti; la stessa VLAN, la stessa modalità trunk, la stessa velocità, lo stesso duplex e così via. La maggior parte delle differenze di configurazione di uno switch vengono rilevate e segnalate quando si crea il canale. In alcune situazioni, in genere quando si utilizza la modalità ON (in contrapposizione a quella automatica o desiderabile), tutto può essere coerente su uno switch in modo che lo switch inizi il channeling. Tuttavia, lo switch adiacente collegato non può essere impostato sullo stesso modo e può causare la disabilitazione del primo switch a causa di un errore. Se entrambi gli switch supportano il protocollo PAgP (Port Aggregation Protocol), per evitare il problema è possibile configurare le modalità del canale su ciascuno switch in modo che siano desiderabili anziché attivate.
Mancata corrispondenza del duplex
La mancata corrispondenza del duplex è un problema comune e causato da errori durante la negoziazione automatica della velocità e del duplex. A differenza della modalità half-duplex, che deve attendere che il segmento LAN su cui trasmette i dati non sia occupato da altri dispositivi, un dispositivo full-duplex trasmette dati ogni volta che ne ha bisogno, a prescindere da quello che fanno gli altri dispositivi. Se i dati vengono trasmessi mentre anche il dispositivo half-duplex sta trasmettendo, il dispositivo half-duplex considererà questa situazione una collisione (durante il tempo di slot) o una collisione ritardata (dopo il tempo di slot). Poiché il dispositivo full-duplex non si aspetta mai collisioni, non può sapere che deve trasmettere nuovamente il pacchetto che viene quindi perso. In modalità half-duplex, è normale avere una bassa percentuale di collisioni, a differenza di quanto accade in modalità full-duplex. Se la porta dello switch riceve molte collisioni ritardate, ciò in genere indica un problema di mancata corrispondenza duplex; verificare che le porte su entrambi i lati del cavo abbiano la stessa velocità e la stessa impostazione del duplex. Il comando show port richiama la velocità e l'impostazione del duplex sulle porte dello switch Catalyst. Nelle versioni più recenti di Cisco Discovery Protocol (CDP), il sistema avvisa l'utente della mancata corrispondenza del duplex prima che la porta venga messa in stato err-disabled. Il problema potrebbe essere causato anche da alcune impostazioni della scheda NIC (ad esempio le funzioni di polarità automatica - in caso di dubbio, disattivarle). Se si usano più schede NIC dello stesso fornitore e tutte sembrano avere lo stesso problema, consultare le note sulla versione sul sito Web del produttore e assicurarsi di avere i driver più recenti del produttore della scheda NIC. Altre cause delle collisioni ritardate sono una scheda NIC corrotta (con problemi fisici, non solo problemi di configurazione), un cavo errato o un segmento di cavo troppo lungo.
2000 May 09 19:19:09 %CDP-4-DUPLEXMISMATCH:Full/half duplex mismatch detected on port 11/3
Protezione BPDU sulla porta
In alcune versioni più recenti del software dello switch, la funzionalità portfast viene monitorata automaticamente. Una porta che utilizza portfast deve essere collegata a una unità terminale, non a dispositivi che generano pacchetti STP chiamati BPDU. Se lo switch rileva la presenza di una BPDU su una porta con portfast abilitata, la porta viene messa in modalità errDisable.
UDLD
UDLD è un protocollo di alcune nuove versioni del software che verifica se la comunicazione su un collegamento è unidirezionale, e quindi parzialmente interrotta. Un cavo in fibra danneggiato o un altro problema di cablaggio/porta potrebbe causare questa comunicazione unidirezionale. Questo problema può causare loop nello spanning tree. Il protocollo UDLD permette alla porta di rilevare un collegamento unidirezionale. Inoltre, può essere configurato in modo da mettere una porta in stato errDisable quando rileva questa condizione.
Other (Altro)
Qualsiasi processo all'interno dello switch che riconosce un problema sulla porta può attivarlo e disattivarlo a causa di un errore. Esaminare i messaggi della console o i messaggi inviati a un server syslog che indicano il motivo per cui la porta viene chiusa. Inoltre, se la funzione errdisable-timeout è abilitata (almeno CatOS 5.4(1)), il comando show errdisable-timeout indicherà il motivo generale per cui la porta è stata disabilitata.
Riattivazione della porta
Dopo aver risolto la causa principale, le porte continueranno a essere disabilitate; le porte devono essere riattivate. Questa operazione può essere eseguita manualmente con il comando set port enable.
Cat5500> (enable) set port enable 11/1-2 Ports 11/1-2 enabled.
Se si usa CatOS 4.2(2) o versioni successive, è possibile usare il comando set option errport come descritto sopra per evitare che le porte vengano disabilitate a causa di un errore. Dal momento che non si sta effettivamente correggendo la fonte del problema, questo può essere rischioso. Se si dispone di CatOS 5.4(1) o versione successiva, è possibile usare il comando errdisable-timeout per riattivare automaticamente le porte, come descritto nella sezione successiva.
Come riattivare la porta automaticamente con errdisable-timeout - CatOS 5.4(1)
Il comando errdisable-timeout permette di selezionare i tipi di errore per la funzione di riattivazione automatica delle porte dopo un periodo di tempo specificato. L'output mostra lo stato predefinito, ovvero errdisable-timeout disabilitato (non attivo) per tutte e cinque le condizioni possibili. Se una delle condizioni è abilitata, le porte con questa condizione vengono riattivate dopo 30 secondi.
Cat5500> (enable) show errdisable-timeout ErrDisable Reason Timeout Status ------------------- -------------- bpdu-guard disable channel-misconfig disable duplex-mismatch disable udld disable other disable Interval: 30 seconds
Per attivare la funzione errdisable-timeout, usare il comando seguente per scegliere le condizioni da cui effettuare il ripristino automatico.
Cat5500> (enable) set errdisable-timeout enable ? bpdu-guard BPDU Port-guard channel-misconfig Channel misconfiguration duplex-mismatch Duplex Mismatch udld UDLD other Reasons other than the above all Apply errDisable timeout to all reasons Cat5500> (enable) set errdisable-timeout enable bpdu-guard Successfully enabled errdisable-timeout for bpdu-guard. Cat5500> (enable) set errdisable-timeout interval 30 Successfully set errdisable timeout to 30 seconds.
Una caratteristica interessante di questo comando è che se si abilita errdisable-timeout, verrà visualizzato un elenco dei motivi per cui le porte sono state messe in stato err-disabled. Per una descrizione più dettagliata, fare riferimento ai messaggi visualizzati al momento dell'occorrenza. Per risolvere il problema, occorre prima risolvere l'errore originale che ha causato la disabilitazione delle porte. Si noti che la causa dell'arresto della porta 1/1 è stata la funzione bpdu-guard.
Cat5500> (enable) show errdisable-timeout ErrDisable Reason Timeout Status Port ErrDisable Reason ------------------- -------------- ---- ----------------- bpdu-guard enable 11/1 bpdu-guard channel-misconfig disable duplex-mismatch disable udld disable other disable Interval: 30 seconds
Di seguito è riportato un esempio di cosa viene visualizzato quando lo switch riattiva una porta a causa della funzione errdisable-timeout.
Cat5500> (enable) 2000 May 09 19:17:27 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled by bpdu-guard enabled by errdisable timeout
Cosa succede se si riattiva la porta senza risolvere il problema?
Se si riattiva la porta senza risolvere il problema, le porte verranno nuovamente disabilitate. Questo continuerà ancora e ancora fino a quando non risolverete il vero problema. Si notino i tre messaggi riportati di seguito. Nel primo caso, lo switch descrive come disabilitare la porta 1/1 perché ha ricevuto una BPDU su una porta abilitata per portfast (si tratta di un errore che causa una situazione in cui bpdu-guard è attivo). Dopo 25 secondi, la porta viene riattivata automaticamente dalla funzione errdisable-timeout. Quindi, quattro secondi dopo, la porta viene nuovamente disabilitata a causa di un errore, in quanto il problema reale non è mai stato risolto.
2000 May 09 19:17:33 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port. Disabling 11/1 2000 May 09 19:17:58 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled by bpdu-guard enabled by errdisable timeout 2000 May 09 19:18:02 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port. Disabling 11/1
Il vantaggio di dover riattivare manualmente le porte è che vi ricorda e vi chiede di affrontare il problema reale.
È Possibile Evitare Che Le Porte Vengano Disabilitate A Causa Di Collisioni?
Di seguito è riportato un esempio di come impedire allo switch di disabilitare una porta a causa di collisioni eccessive o ritardate. Il comando set option errport è disponibile in CatOS versione 4.2(2). Anche in questo caso, ricordate che dovrebbe essere utilizzato solo come tipo di misura "stop-gap". Impedisce che le porte vengano disabilitate a causa di collisioni, ma può esporre l'utente a collisioni che normalmente causerebbero l'arresto della porta da parte dello switch. Quando si esegue questo comando, lo switch non potrà più disabilitare la porta a causa di collisioni.
Cat5500> (enable) set option errport enable Error port option is enabled Cat5500> (enable) show option errport Option errport : enabled
Di seguito è riportato un esempio di come ripristinare lo stato predefinito, che consente allo switch di disabilitare una porta a causa di un errore.
Cat5500> (enable) set option errport disable Error port option is disabled Cat5500> (enable) show option errport Option errport : disabled
Il comando show option errport visualizza la modalità corrente della funzione error disable. Inoltre, il comando set option errport enable non corregge la causa degli errori; impedisce solo che la porta venga chiusa a causa degli errori. Esiste ancora la possibilità che le porte errDisable possano influire su altre porte del modulo se gli errori persistono o diventano gravi. Pertanto, è necessario usare questo comando solo se si è consapevoli che questi errori potrebbero causare problemi più grandi al modulo dello switch e si è disposti a correre tali rischi.
In questa sezione vengono illustrati due esempi di correzione di una porta con stato err-disabled.
Una nuova funzionalità a partire da CatOS 5.4(1) consente allo switch di monitorare le porte con portfast abilitato. Le porte che usano portfast devono essere connesse solo a una unità terminale (ad esempio una postazione di lavoro o un server), non a dispositivi che generano Spanning Tree BPDU, quali switch, bridge e router con attività di bridging. Se lo switch riceve una BPDU Spanning Tree su una porta con portfast abilitata, la porta viene messa in modalità errDisable per evitare potenziali loop. Portfast presume che le porte degli switch non abbiano la possibilità di generare un loop fisico e quindi ignora i controlli iniziali dello Spanning Tree e impedisce alle unità terminali di avere un timeout all'avvio. Portfast deve essere implementata con le dovute cautele dall'amministratore di rete; sulle porte con portfast abilitata, BPDU Guard aiuta a mantenere la LAN priva di loop.
Di seguito viene riportata la procedura per attivare questa funzionalità. L'esempio è stato scelto perché particolarmente esemplificativo.
Cat5500> (enable) set spantree portfast bpdu-guard enable Spantree portfast bpdu-guard enabled on this switch.
Il nostro switch Catalyst 5500 è collegato a un altro switch (uno switch 6509) che è stato scelto per essere la radice dello Spanning Tree. Lo switch 6509 invierà pacchetti BPDU ogni 2 secondi (con impostazioni Spanning Tree predefinite). Quando si abilita portfast sulla porta dello switch 5500, la funzione bpdu-guard monitora la porta per rilevare eventuali BPDU. Quando rileva una BPDU sulla porta, ossia la presenza di un dispositivo non terminale fuori dalla porta, la funzione bpdu-guard chiude la porta per evitare che si creino loop nello Spanning Tree.
Cat5500> (enable) set spantree portfast 11/1 enable Warning: Spantree port fast start should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc. to a fast start port can cause temporary spanning tree loops. Use with caution. Spantree port 11/1 fast start enabled. Cat5500> (enable) 2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port. Disabling 11/1 2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1
Nel messaggio sopra riportato lo switch ha indicato che ha ricevuto un BPDU su una porta portfast abilitata, quindi sta chiudendo la porta 1/1. Quando si controlla lo stato della porta, si legge errDisable.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Per risolvere queste situazioni, è necessario risolvere il problema sottostante e quindi riattivare la porta. Poiché si tratta di una porta con una connessione non corretta (portfast abilitato e collegato a un altro switch), la funzione portfast verrà disattivata. Anche in questo caso, portfast deve essere utilizzato solo sulle porte connesse alle unità terminali.
Cat5500> (enable) set spantree portfast 11/1 disable Spantree port 11/1 fast start disabled.
Anche se la causa del problema è stata risolta, la porta è ancora in stato err-disabled. Se guardate il LED della porta, sarà ancora arancione. È necessario riattivare la porta prima che torni attiva.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Nell'esempio seguente la porta viene riattivata manualmente con il comando set port enable. A questo punto, la porta tornerà allo stato normale.
Cat5500> (enable) set port enable 11/1 Port 11/1 enabled. Cat5500> (enable) show port 11/3 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 connected 1 normal a-half a-100 10/100BaseTX
Di seguito è riportata un'altra situazione comune di disabilitazione degli errori che può verificarsi sulle porte compatibili con EtherChannel. Se solo uno dei due switch è configurato per EtherChannel, lo Spanning Tree può disattivare le porte raggruppate nel canale sul lato configurato per EtherChannel. In questo scenario sono stati collegati due cavi crossover dallo switch 5500 a un altro switch. Sullo switch 5500, è stato attivato EtherChannel con il comando set port channel 1/1-2 on. La modalità on di EtherChannel non invia i pacchetti PAgP per negoziare con l'altro switch prima del channeling, perché presuppone che il channeling sia già stato effettuato. Inoltre, EtherChannel non è stato attivato sull'altro switch; queste porte sono state lasciate come singole porte non raggruppate in un canale. Se lasciato in questo stato per un minuto o giù di lì, STP sul 5500 penserà che ci sia un loop. Le porte raggruppate nel canale verranno quindi disabilitate e messe nello stato err-disabled. Si noti che è stato rilevato un loop e le porte sono state disabilitate. Il comando show port channel mostra che le porte non sono più raggruppate nel canale; se si controlla una delle porte coinvolte, si osserverà che lo stato è err-disabled.
Cat5500> (enable) 2000 May 09 19:20:02 %PAGP-5-PORTTOSTP:Port 11/1 joined bridge port 11/1-2 2000 May 09 19:20:27 %PAGP-5-PORTTOSTP:Port 11/2 joined bridge port 11/1-2 2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2 is disabled in vlan 1 2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2 2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/2 left bridge port 11/1-2 Cat5500> (enable) show port channel No ports channeling
EtherChannel è stato disattivato perché le porte sono state disabilitate a causa di un errore su questo switch.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Per determinare la causa del problema, dobbiamo esaminare il messaggio di errore. Il messaggio segnala che EtherChannel ha rilevato un loop nello spanning tree. Come si evince dal paragrafo precedente, questa condizione si può verificare quando un dispositivo (nella fattispecie lo switch) ha EtherChannel attivato manualmente con la modalità ON (a differenza di quanto consigliato) e sull'altro dispositivo connesso (ossia il secondo switch) EtherChannel non è attivato. Per risolvere il problema, occorre impostare la stessa modalità di canale su entrambi i lati della connessione e procedere quindi a riattivare le porte. In questo modo, ciascun dispositivo formerà un canale solo se concordato da entrambi. Se la negoziazione per formare il canale non ha esito positivo, le porte continueranno comunque a funzionare come porte normali.
Nota: per un elenco degli elementi che possono causare errori di configurazione errata di EtherChannel, cercare la versione CatOS in uso nella Guida alla configurazione di EtherChannel. Le versioni più recenti contengono sezioni specifiche della guida alla configurazione, intitolate Configurazione di Fast EtherChannel e Gigabit EtherChannel, in cui sono elencate le dipendenze che devono formare un canale correttamente, incluse le modalità di canale da configurare.
Cat5500> (enable) set port channel 11/1-2 desirable non-silent Port(s) 11/1-2 are assigned to admin group 21. Port(s) 11/1-2 channel mode set to desirable. Cat5500> (enable) show port 11 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX 11/2 errdisable 1 normal auto auto 10/100BaseTX
Si noti che, anche se la funzione EtherChannel è stata disattivata e la modalità EtherChannel è stata impostata su desiderato, le porte sono ancora disabilitate. Abbiamo risolto la causa del problema, ma ora dobbiamo riattivare i porti prima di poterli utilizzare.
Cat5500> (enable) set port enable 11/1-2 Ports 11/1-2 enabled. Cat5500> (enable) show port 11 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 connected 1 normal a-full a-100 10/100BaseTX 11/2 connected 1 normal a-full a-100 10/100BaseTX Cat5500> (enable) show port channel 11/1 Port Status Channel Admin Ch Mode Group Id ----- ---------- -------------------- ----- ----- 11/1 connected desirable non-silent 21 833 11/2 connected desirable non-silent 21 833 Port Device-ID Port-ID Platform ----- ------------------------------- ------------------------- ---------------- 11/1 TBA04090489(Cat6000) 5/13 WS-C6506 11/2 TBA04090489(Cat6000) 5/14 ----- ------------------------------- ------------------------- ----------------
show version: per visualizzare la versione del software in uso sullo switch
show module: per visualizzare i moduli utilizzati sullo switch
show port: per visualizzare lo stato corrente della porta dello switch
show option errport: per visualizzare lo stato del comando set option errport
show errdisable-timeout: per visualizzare le impostazioni correnti della funzione errdisable-timeout e il motivo per cui alcune porte sono attualmente disabilitate a causa di un errore
show port: per visualizzare lo stato corrente della porta dello switch
show port channel: per visualizzare lo stato corrente di EtherChannel
show option errport: per visualizzare lo stato del comando set option errport
set option errport disable: consente allo switch di disabilitare le porte che contengono errori che il sistema operativo ritiene debbano essere disabilitati. Questo è lo stato predefinito e sarebbe diverso solo se qualcuno avesse già emesso il comando set option errport enable
show errdisable-timeout: per visualizzare le impostazioni correnti della funzione errdisable-timeout e il motivo per cui alcune porte sono attualmente disabilitate a causa di un errore
set errdisable-timeout: può essere usato per determinare la causa della disabilitazione a causa di un errore su una porta (usato insieme al comando show errdisable-timeout)
Sintassi: | show version |
---|---|
Utilizzato nel presente documento: | show version |
Sintassi: | show module [num_mod] |
---|---|
Utilizzato nel presente documento: | mostra modulo |
Sintassi: | show port [num_mod[/num_porta]] |
---|---|
Utilizzato nel presente documento: | show port 1/1 show port 1 |
Sintassi: | show port channel [num_mod[/num_porta]] [statistiche | info [spantree] | tronco | protocollo | gmrp | gvrp | qos]] |
---|---|
Utilizzato nel presente documento: | show port channel |
Sintassi: | set port channel port_list mode {on | disattivato | auspicabile | auto} [invisibile all'utente | non silenzioso] |
---|---|
Utilizzato nel presente documento: | set port channel 11/1-2 desiderabile non-silent |
Sintassi: | set port enable num_mod/num_porta |
---|---|
Utilizzato nel presente documento: | set port enable 1/1-2 |
Sintassi: | show errdisable-timeout |
---|---|
Utilizzato nel presente documento: | show errdisable-timeout |
Sintassi: | set errdisable-timeout [enable|disable] [bpdu-guard | channel-misconfig | mancata corrispondenza duplex | udld | altro] |
---|---|
Utilizzato nel presente documento: | set errdisable-timeout enable bpdu-guard |
Sintassi: | set errdisable-timeout interval seconds |
---|---|
Utilizzato nel presente documento: | set errdisable-timeout interval 30 |
Sintassi: | set spantree portfast num_mod/num_porta {enable | disattiva} |
---|---|
Utilizzato nel presente documento: | set spantree portfast 1/1 enable set spantree portfast 1/1 disable |
Sintassi: | set spantree portfast bpdu-guard {enable | disattiva} |
---|---|
Utilizzato nel presente documento: | impostare spantree portfast bpdu-guard enable |
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
20-Jun-2007 |
Versione iniziale |