Les clients contactent souvent l'assistance technique de Cisco lorsqu'ils constatent qu'un ou plusieurs de leurs ports de commutation sont devenus désactivés en raison d'erreurs ; c'est-à-dire, les ports ont un état errDisable. Ils veulent savoir pourquoi cela s'est produit et comment les ports peuvent être restaurés à la normale. Ce document décrit ce qu'est l'état errDisable, comment récupérer de cet état, et fournit deux exemples de récupération de l'état errDisable. Dans tout ce document, les termes errDisable et error-disable (désactivé à cause d'une erreur) sont utilisés indépendamment l'un de l'autre. (errDisable est l'état d'un port tel qu'affiché par la commande « show port », error=disable ou error-disabled sont les équivalents anglais d'errDisable.)
Aucune exigence spécifique n'est associée à ce document.
Les informations dans ce document sont basées sur les versions de logiciel et matériel suivantes : Vous avez besoin de ceux-ci afin de créer les exemples dans ce document :
Deux commutateurs de la gamme Catalyst 4000/5000/6000 (ou leur équivalent) dans un environnement de travaux pratiques avec des configurations autorisées. Notre machine principale était un Catalyst 5500 exécutant CatOS 5.4(2). Il était connecté à un Catalyst 6509 exécutant 5.3(5a)CSX, mais il pouvait s'agir de n'importe quelle machine CatOS et capable d'EtherChannel et de portfast.
Deux câbles croisés Ethernet RJ-45.
CatOS 5.4(x) sur au moins un commutateur.
Deux ports FastEthernet dans chaque commutateur prenant en charge EtherChannel et portfast.
Une connexion de terminal à l’un des commutateurs ou aux deux.
Les informations contenues dans ce document proviennent d'un environnement de laboratoire isolé. Assurez-vous d'abord de comprendre l'impact potentiel d'une commande sur votre réseau avant de l'utiliser. La commande clear config all a été entrée sur chaque commutateur pour assurer une configuration par défaut. Si vous souhaitez répliquer et tester ces erreurs, essayez uniquement de les dupliquer dans un environnement isolé qui n'aura pas d'impact sur votre réseau actif. Ces exemples ne sont donnés qu'à titre d'instruction. Le résultat de certaines commandes a été tronqué là où il n'améliore pas la discussion.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
La fonction errDisable est prise en charge sur les commutateurs Catalyst exécutant CatOS (Catalyst 2948G, 4500/4000, 5500/5000 et 6500/6000) ainsi que sur les commutateurs Catalyst exécutant Cisco IOS (Catalyst 2900XL/3500XL, 2950, 2970, 3550, 4500 et 65000). La manière dont errDisable est implémenté varie selon les plates-formes. Ce document se concentrera spécifiquement sur la désactivation des erreurs pour les commutateurs exécutant le logiciel CatOS.
La fonctionnalité errDisable a été implémentée pour la première fois dans CatOS version 3.2(2). Si la configuration indique qu’un port doit être activé, mais que le logiciel du commutateur a détecté une erreur sur le port, le logiciel arrête ce port. En d'autres termes, le port a été automatiquement désactivé par le logiciel du système d'exploitation du commutateur en raison d'une condition d'erreur rencontrée sur le port.
Lorsqu'un port est désactivé en raison d'une erreur, il est effectivement arrêté et aucun trafic n'est envoyé ou reçu sur ce port. Le voyant du port est défini sur la couleur orange et lorsque vous entrez la commande show port, l'état du port affiche errdisable. Voici un exemple de ce à quoi ressemblerait un port désactivé en raison d’une erreur à partir de l’interface de ligne de commande du commutateur.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
La fonction error-disable remplit deux fonctions. Tout d'abord, il indique à l'administrateur quand et où il y a un problème de port. Deuxièmement, il élimine la possibilité que ce port puisse entraîner la défaillance d'autres ports sur le module (ou le module entier) en raison de tampons monopolisés par le port défectueux, des messages d'erreur de port monopolisant les communications entre processus sur la carte, même en fin de compte causant de graves problèmes de réseau. La fonctionnalité de désactivation des erreurs permet d'éviter ces situations.
Dans un premier temps, cette fonctionnalité a été implémentée pour gérer des situations de collision spéciales où le commutateur a détecté des collisions excessives ou tardives sur un port. Des collisions excessives se produisent lorsqu’une trame est abandonnée en raison de la détection de 16 collisions dans une ligne. Des collisions tardives se produisent une fois que chaque périphérique sur le réseau a identifié que le réseau était en cours d'utilisation. Ces types d'erreurs peuvent être dus à un câble non conforme aux spécifications (trop long, type incorrect, défectueux), à une carte d'interface réseau (NIC) défectueuse (avec des problèmes physiques ou des problèmes de pilote) ou à une mauvaise configuration du mode bidirectionnel du port. Cette dernière cause est fréquente en raison de l'incapacité à négocier correctement la vitesse et le mode duplex entre deux périphériques connectés directement (par exemple, une carte réseau connectée à un commutateur). Seules les connexions en semi-duplex devraient avoir des collisions dans un LAN; en raison de la nature CSMA (Carrier-Sense Multi-Access) d’Ethernet, les collisions sont normales pour le mode bidirectionnel non simultané, à condition qu’elles ne dépassent pas un faible pourcentage du trafic.
À mesure que les fonctionnalités de CatOS se développaient, il y avait d'autres façons de désactiver les erreurs sur un port. Par exemple, sur le Catalyst 6500 exécutant catOS, la fonctionnalité Errdisable est prise en charge pour les problèmes de connectivité suivants :
inspection ARP
Suppression de diffusion
BPDU port-guard
Mauvaise configuration du canal
Défaillance transversale
Non-correspondance de mode duplex
Mauvaise configuration du tunnel de protocole de couche 2
Seuil de tunnel de protocole de couche 2 dépassé
UDLD
La fonction error-disable permet au commutateur d'arrêter un port lorsqu'il rencontre l'une de ces situations. N'oubliez pas qu'un port désactivé en raison d'une erreur n'est pas en soi une cause d'alarme, à condition de déterminer et de résoudre sa cause première. Un port désactivé en raison d'une erreur est le symptôme d'un problème plus profond qui doit être résolu.
Afin de récupérer à partir de errDisable, vous devez faire deux choses :
Identifiez et corrigez tout ce qui a entraîné la désactivation des erreurs sur les ports (câble, cartes réseau, EtherChannel, etc.).
Si vous n'identifiez pas et ne corrigez pas le problème sous-jacent qui a entraîné la désactivation des erreurs sur les ports, ceux-ci redeviendront simplement désactivés en cas d'erreur lorsque le problème se reproduira. Certaines erreurs peuvent se produire assez souvent (par exemple, l'erreur détectée par BPDU portguard, qui peut se produire toutes les deux secondes). Si vous tentez de réactiver les ports sans résoudre la source du problème, ils redeviendront désactivés en raison d'erreurs.
Réactivez le port.
Le simple fait de résoudre la source du problème n'entraînera pas la réactivation des ports. Une fois que vous avez résolu la source du problème, les ports sont toujours désactivés (et les voyants des ports sont toujours orange) ; les ports doivent être réactivés avant de devenir actifs. Au début, la seule façon de réactiver le port était d'entrer manuellement la commande set port enable pour les ports en question. Au fil du temps, des extensions facultatives ont été ajoutées à la fonctionnalité de désactivation des erreurs pour la rendre plus flexible et automatique.
Remarque : un port désactivé en raison d'une erreur n'est pas la seule raison pour laquelle une LED de port peut devenir orange ; ce n'est qu'une des raisons. C'est pourquoi il est toujours bon de vérifier l'état du port avec la commande show port.
Certains clients voulaient avoir la possibilité de déterminer si un port devait être arrêté en raison d'erreurs de collision spéciales découvertes par CatOS. Dans certaines situations, comme si la liaison était une connexion de réseau fédérateur, par exemple, l'arrêt des ports serait en fait pire que les erreurs rencontrées sur les ports ; il serait préférable de laisser les ports fonctionner autant que possible jusqu'à ce que le problème puisse être résolu, plutôt que de les arrêter. Ainsi, dans la version 4.2(2), une nouvelle commande a été ajoutée à CatOS appelée set option errport qui permet à l'administrateur de déterminer quelle action le commutateur a prise lors de la découverte d'un port ayant ces erreurs de collision spéciales. L'état d'origine et l'état par défaut sont set option errport disable , où le commutateur mettra un port dans l'état error-disabled lors de la rencontre du type error-disable des erreurs de collision spéciales. En revanche, si la commande set option errport enable est utilisée, alors le commutateur laissera les ports activés, même s'il rencontre des erreurs de collision qui normalement désactiveraient ces ports.
Cette commande affecte le commutateur de manière globale ; il ne peut pas être émis pour un port individuel. Il n'est pas répertorié dans la référence des commandes, mais dans les notes de version de 4.2(2) (Notes de version du logiciel de la gamme Catalyst 5000, version 4.x). Veuillez noter que cette commande semble contre-intuitive ; vous devez activer l'option errport pour désactiver la fonctionnalité err-disable (activée par défaut). En d'autres termes, utilisez simplement la commande set option errport enable pour empêcher qu'un port ne soit désactivé en raison d'une erreur.
La commande set option errport n'est recommandée que si vous vous rendez compte que vous risquez que d'autres ports du module soient affectés si vous permettez à ces conditions d'erreur de continuer. Il ne s'agit que d'une mesure de rattrapage, et non d'une « solution » au problème ; il empêche simplement les ports qui rencontrent ces erreurs d'être arrêtés jusqu'à ce que vous puissiez résoudre le vrai problème. Utilisez avec prudence.
Avec CatOS version 5.4(1), une nouvelle commande appelée set errdisable-timeout est introduite. Cette commande est une version plus sophistiquée de la commande set option errport discutée précédemment. Cette commande réactive automatiquement un port désactivé en raison d'une erreur après un laps de temps configurable (de 30 secondes à 24 heures, en secondes), éliminant ainsi la nécessité de réactiver manuellement le port désactivé en raison d'une erreur.
Cette commande affectera les ports qui sont activés par la configuration actuelle sur le commutateur mais qui ont été mis dans l'état error-disable par le logiciel CatOS. Utilisez la commande show errdisable-timeout pour voir l'état actuel de la fonctionnalité errdisable-timeout. Il est possible de spécifier cinq zones distinctes dans lesquelles cette fonctionnalité peut être activée : bpdu-guard, channel-misconfig, duplex-mismatch, (qui inclut les erreurs de collision spéciales mentionnées ci-dessus), udld, other. De cette façon, il peut toujours vous donner une protection permanente contre les erreurs et les désactivations dans les zones où vous le souhaitez, mais vous permet de sélectionner des zones où vous préfèreriez que les ports continuent à fonctionner jusqu'à ce que vous puissiez résoudre le problème.
Dans les versions logicielles 5.2.1 et 5.2.2 pour la gamme Catalyst 6000, il y a un défaut logiciel qui provoque des pannes de réseau quand un port passe à l'état Error-Disabled. Lorsqu'un port est errDisable, le commutateur entraîne l'apprentissage par inadvertance de toutes les adresses MAC acquises sur le port désactivé en raison d'erreurs. Cela provoquera des pannes de réseau sur le VLAN associé. Ce défaut logiciel a l'ID de bogue Cisco CSCdm48887 et le problème est résolu dans les versions 5.2.3 et ultérieures du logiciel.
La solution de contournement à court terme pour éviter ce problème est la suivante :
Émettez la commande set option errport enable pour désactiver la fonctionnalité error-disabled.
Réactivez tous les ports désactivés en cas d'erreur à l'aide de la commande set port enable mod_num/port_num.
Exemple : set port enable 3/1
Effacez la table d'adresses MAC à l'aide de la commande clear cam dynamic pour restaurer les adresses MAC apprises dynamiquement.
À ce stade du document, nous fournissons deux exemples de la façon dont vous pourriez rencontrer un port désactivé par erreur et comment les corriger ; une brève discussion de trois autres raisons pour lesquelles un port peut devenir désactivé en raison d'erreurs ; et un résumé des commandes traitées concernant les ports désactivés en cas d'erreur. Les exemples spécifiques présentés ci-dessous pour ces problèmes sont faciles à dupliquer dans un environnement de travaux pratiques.
Suivez ces étapes afin de récupérer un port à partir de l'état errDisable :
Version du logiciel utilisée dans ce document
La commande show version affiche la version du logiciel que le commutateur exécute pour ce document. Ceci est juste pour montrer quelle version de CatOS nous utilisions pour ce test et quels modules étaient impliqués.
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)
Comment déterminer si les ports sont à l'état errDisable
Vous pouvez entrer la commande show port afin de déterminer si votre port a été désactivé en raison d'erreurs. Ceci est un exemple de port actif ; plus loin, vous trouverez le même port dans l'état error-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
Remarque : lorsqu'un port est désactivé en raison d'une erreur, la DEL associée au port sur le panneau avant est orange fixe.
Comment déterminer la raison de l'état Error-Disabled (messages de console, syslog, show errdisable-timeout)
Lorsque le commutateur met un port dans l'état désactivé en raison d'une erreur, il envoie un message à la console et décrit pourquoi le port a été désactivé. Voici deux exemples de messages qui montrent pourquoi un port est désactivé : l'une de la fonctionnalité BPDU-guard de portfast et l'autre d'un problème de configuration 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
Remarque : les messages n'indiquent pas explicitement errDisable ou error-disabled ; toutefois, elles indiquent que le commutateur désactive le port. Une fois les messages de console générés, ils ne sont pas enregistrés, sauf si vous utilisez un serveur syslog sur votre réseau. Si vous configurez le commutateur pour envoyer ces messages à un serveur Syslog, vous aurez alors un enregistrement plus permanent du moment et de la raison de la désactivation du port. Pour plus d'informations sur la façon de configurer votre commutateur pour envoyer des messages à un serveur syslog, consultez le document Configuration de la journalisation des messages système dans le Guide de configuration de CatOS 5.4.
Si vous exécutez CatOS 5.4(1) ou une version ultérieure, il existe une fonctionnalité appelée errdisable-timeout qui, si elle est activée, vous indique pourquoi un port a été désactivé. Voici un exemple
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
Comment corriger le problème. Après avoir découvert pourquoi les ports ont été désactivés, vous devez d'abord résoudre le problème racine, puis réactiver le port.
Résolution du problème racine
Cela dépend de ce que le problème déclencheur est réellement. De nombreux éléments peuvent déclencher l'arrêt. Ce sont quelques-unes des causes les plus perceptibles et les plus courantes.
Configuration incorrecte d'EtherChannel
Pour qu'EtherChannel fonctionne, les ports concernés doivent avoir des configurations cohérentes ; le même VLAN, le même mode d’agrégation, la même vitesse, le même mode bidirectionnel, etc. La plupart des différences de configuration dans un commutateur sont détectées et signalées quand vous créez le canal. Dans certaines situations, généralement lorsque vous utilisez le mode ON (par opposition à auto ou desirable), tout peut être cohérent sur un commutateur afin que le commutateur commence à canaliser. Cependant, le commutateur voisin connecté ne peut pas être défini de la même manière et peut entraîner la désactivation du premier commutateur en raison d'une erreur. Si les deux commutateurs prennent en charge le protocole PAgP (Port Aggregation Protocol), vous pouvez configurer les modes de canal sur chaque commutateur pour qu'ils soient désirables au lieu d'être activés afin d'éviter ce problème.
Non-correspondance de mode duplex
Les non-correspondances de mode bidirectionnel sont courantes en raison d'échecs de négociation automatique de la vitesse et du mode bidirectionnel. Contrairement au mode bidirectionnel non simultané, qui doit attendre qu'aucun autre périphérique ne transmette sur le même segment de réseau local, un périphérique bidirectionnel simultané transmet chaque fois qu'il a quelque chose à envoyer, quels que soient les autres périphériques. Si cette transmission se produit pendant que le périphérique en mode bidirectionnel non simultané transmet, le périphérique en mode bidirectionnel non simultané considère qu'il s'agit d'une collision (pendant la durée de l'intervalle) ou d'une collision tardive (après la durée de l'intervalle). Puisque le côté bidirectionnel simultané n’attend jamais de collisions, il ne réalisera jamais qu’il doit retransmettre ce paquet abandonné. Un faible pourcentage de collisions est normal avec le mode bidirectionnel non simultané, mais pas avec le mode bidirectionnel simultané. Si le port du commutateur reçoit de nombreuses collisions tardives, c’est généralement qu’il y a un problème de discordance de duplex; assurez-vous que les ports des deux côtés du câble sont configurés sur la même vitesse et le même mode duplex. La commande show port vous indiquera la vitesse et le mode duplex pour les ports de commutateur Catalyst. Les versions ultérieures du protocole CDP (Cisco Discovery Protocol) peuvent vous avertir d'une non-correspondance de mode duplex avant que le port ne soit effectivement mis dans l'état error-disable. En outre, il peut y avoir des paramètres sur une carte réseau qui causent le problème (des choses comme les fonctions de polarité automatique - en cas de doute, les désactiver). Si vous disposez de plusieurs cartes réseau d'un même fournisseur et qu'elles semblent toutes présenter le même problème, consultez les notes de version sur le site Web du fabricant et assurez-vous que vous disposez des derniers pilotes du fabricant de la carte réseau. Les collisions tardives peuvent également être dues à une carte réseau défectueuse (avec des problèmes physiques, et pas seulement des problèmes de configuration), à un câble défectueux ou à un segment de câble trop long.
2000 May 09 19:19:09 %CDP-4-DUPLEXMISMATCH:Full/half duplex mismatch detected on port 11/3
BPDU Port-Guard
Certaines versions plus récentes du logiciel du commutateur surveillent si portfast est activé sur un port. Un port utilisant portfast doit être connecté à une station d'extrémité, et non à des périphériques qui génèrent des paquets STP appelés BPDU. Si le commutateur remarque qu'une trame BPDU arrive dans un port dont portfast est activé, il place le port en mode errDisable.
UDLD
UDLD est un protocole sur certaines nouvelles versions de logiciel qui découvre si la communication sur une liaison est unidirectionnelle seulement, et donc partiellement interrompue. Un câble à fibre optique endommagé ou un autre problème de câblage/port peut entraîner cette communication unidirectionnelle. Des boucles du protocole Spanning Tree peuvent se produire dans de tels cas. UDLD permet au port de détecter une liaison unidirectionnelle et peut être configuré pour placer un port dans l'état errDisable lorsqu'il détecte cette condition.
Other (autre)
Tout processus au sein du commutateur qui reconnaît un problème avec le port peut le placer dans l'état error-disable. Observez les messages de console ou les messages envoyés à un serveur Syslog qui indiquent pourquoi le port est arrêté. En outre, si la fonctionnalité errdisable-timeout est activée (CatOS 5.4(1) minimum), la commande show errdisable-timeout vous indiquera la raison générale pour laquelle le port a été désactivé.
Réactiver le port
Après avoir résolu le problème racine, les ports seront toujours désactivés ; vous devez réactiver les ports. Cela peut être fait manuellement à l'aide de la commande set port enable.
Cat5500> (enable) set port enable 11/1-2 Ports 11/1-2 enabled.
Si vous avez CatOS 4.2(2) ou ultérieur, on peut utiliser la commande set option errport comme décrit ci-dessus pour empêcher les ports de devenir désactivés par erreur. Puisque vous ne corrigez pas réellement la source du problème, cela peut être risqué. Si vous avez CatOS 5.4(1) ou ultérieur, vous pouvez utiliser la commande errdisable-timeout pour réactiver automatiquement les ports comme décrit dans la section suivante.
Comment réactiver le port automatiquement à l'aide de errdisable-timeout - CatOS 5.4(1)
La commande errdisable-timeout vous permet de sélectionner de manière sélective quel type d'erreurs réactivera automatiquement les ports après une durée spécifiée. Le résultat montre l'état par défaut errdisable-timeout disabled (not active) pour les cinq conditions possibles. Si l'une des conditions était activée, les ports concernés seraient réactivés au bout de 30 secondes.
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
Pour activer errdisable-timeout, utilisez la commande suivante pour choisir les conditions errdisable.
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.
Une fonctionnalité intéressante de cette commande est que si vous activez errdisable-timeout, elle indiquera généralement pourquoi les ports ont été mis dans l'état error-disable. Pour des descriptions plus détaillées, vous devez vous référer aux messages affichés au moment de l'occurrence. N'oubliez pas que la première étape de la correction de la condition error-disable consiste à corriger l'erreur d'origine qui a provoqué l'arrêt. Notez ci-dessous que le port 11/1 a été arrêté en raison de la fonctionnalité de protection des unités bpdu.
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
Voici un exemple de ce qui s'affiche lorsque le commutateur réactive un port en raison de la fonction 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
Que faire si vous réactivez le port sans résoudre le problème ?
Si vous réactivez le port sans résoudre le problème, les ports redeviennent désactivés en raison d'erreurs. Cela continuera encore et encore jusqu'à ce que vous résolviez le vrai problème. Notez les trois messages ci-dessous. Dans le premier, le commutateur décrit la désactivation du port 11/1 parce qu'il a reçu une BPDU sur un port qui est activé pour portfast (ceci est une erreur causant la situation si bpdu-guard est activé). Au bout de 25 secondes, le port est automatiquement réactivé par la fonction errdisable-timeout. Ensuite, quatre secondes plus tard, le port est à nouveau désactivé en raison d'une erreur, car le véritable problème n'a jamais été résolu.
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
L'avantage d'avoir à réactiver manuellement les ports est qu'il vous rappelle et vous invite à résoudre le vrai problème.
Puis-je éviter que les ports ne soient désactivés en raison d'erreurs dues à des collisions ?
Voici un exemple de la façon d'empêcher le commutateur de désactiver par erreur un port en raison de collisions excessives ou tardives. La commande set option errport est devenue disponible dans CatOS version 4.2(2). Rappelez-vous que cette mesure ne doit être utilisée que comme une mesure de type « stop-gap ». Elle empêche les ports d'être désactivés en raison d'erreurs dues à des collisions, mais peut vous rendre vulnérable à des collisions qui provoqueraient normalement l'arrêt du port par le commutateur. Lorsque vous exécutez cette commande, elle empêche le commutateur de désactiver le port en raison de collisions.
Cat5500> (enable) set option errport enable Error port option is enabled Cat5500> (enable) show option errport Option errport : enabled
Voici un exemple de retour à l'état par défaut, qui permet au commutateur de désactiver un port en cas d'erreur.
Cat5500> (enable) set option errport disable Error port option is disabled Cat5500> (enable) show option errport Option errport : disabled
La commande show option errport affiche le mode actuel dans lequel se trouve la fonctionnalité error-disable. En outre, la commande set option errport enable ne corrige pas la cause des erreurs ; il empêche seulement le port d'être arrêté en raison des erreurs. Il existe toujours la possibilité que les ports errDisable puissent affecter d'autres ports sur le module si les erreurs persistent ou deviennent drastiques. Par conséquent, vous ne devez utiliser cette commande que si vous comprenez que ces erreurs peuvent potentiellement provoquer des problèmes plus importants au sein du module de commutation et que vous êtes prêt à prendre ces risques.
Dans cette section, nous présentons deux exemples de correction d'un port désactivé en raison d'erreurs.
Une nouvelle fonctionnalité démarrant dans CatOS 5.4(1) permet au commutateur de surveiller les ports pour lesquels portfast est activé. Un port utilisant portfast doit uniquement être connecté à une station d'extrémité (telle qu'une station de travail ou un serveur), et non à des périphériques qui génèrent des unités BPDU Spanning Tree, tels que des commutateurs, ou des ponts et des routeurs effectuant un pontage. Si le commutateur reçoit une trame BPDU Spanning Tree sur un port sur lequel portfast est activé, il met le port en mode errDisable afin de se protéger contre les boucles potentielles. Portfast suppose qu’un port sur un commutateur n’a aucune possibilité de générer une boucle physique, et ignore donc les vérifications Spanning Tree initiales pour ce port, évitant ainsi aux stations d’extrémité d’expirer au démarrage. Portfast doit être mis en oeuvre avec soin par l'administrateur réseau ; sur les ports où portfast a été activé, la protection BPDU permet de s'assurer que le LAN reste sans boucle.
Voici comment activer cette fonction. Cet exemple a été choisi parce qu'il est facile de créer une situation error-disable.
Cat5500> (enable) set spantree portfast bpdu-guard enable Spantree portfast bpdu-guard enabled on this switch.
Notre commutateur Catalyst 5500 est connecté à un autre commutateur (un 6509) que nous avons conçu comme la racine du Spanning Tree. Le 6509 nous envoie des BPDU toutes les 2 secondes (en utilisant les paramètres Spanning Tree par défaut). Lorsque nous activons portfast sur le port du commutateur 5500, la fonctionnalité bpdu-guard surveille les BPDU arrivant sur ce port. Lorsqu'une unité BPDU arrive sur le port, ce qui signifie qu'un périphérique non final a été détecté hors de ce port, la fonctionnalité de protection des unités BPDU arrête le port pour éviter une boucle Spanning Tree possible.
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
Dans le message ci-dessus, le commutateur a indiqué qu’il a reçu une trame BPDU sur un port activé par portfast. Il arrête donc le port 11/1. Lorsque nous examinons l’état du port, il indique errDisable.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Pour résoudre ces situations, nous devons résoudre le problème sous-jacent, puis réactiver le port. Puisqu'il s'agit d'un port avec une connexion incorrecte (portfast activé et connecté à un autre commutateur), nous allons désactiver la fonctionnalité portfast. Encore une fois, portfast n'est censé être utilisé que sur les ports connectés aux stations d'extrémité.
Cat5500> (enable) set spantree portfast 11/1 disable Spantree port 11/1 fast start disabled.
Bien que nous ayons résolu la racine du problème, notez que le port est toujours dans l'état error-disable. Si vous regardiez le voyant du port, il resterait orange. Nous devons réactiver le port avant qu'il ne redevienne actif.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Dans l'exemple suivant, nous réactivons le port manuellement en utilisant la commande set port enable. À présent, le port revient à l'état normal.
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
Voici une autre situation courante de désactivation des erreurs qui peut se produire sur les ports compatibles avec EtherChannel. Si un commutateur est configuré pour EtherChannel et que l'autre ne l'est pas, le processus Spanning Tree peut arrêter les ports canalisés du côté configuré pour EtherChannel. Dans ce scénario, nous avons connecté deux câbles croisés du commutateur 5500 à un autre commutateur. Nous avons activé EtherChannel sur le commutateur 5500 à l'aide de la commande set port channel 11/1-2 on. Le mode on d'EtherChannel n'envoie pas de paquets PAgP à négocier avec l'autre côté avant la tunnellisation ; il suppose juste que l'autre côté canalise. En outre, nous n'avons pas activé EtherChannel pour l'autre commutateur ; nous avons laissé ces ports comme des ports individuels non canalisés. S'il reste dans cet état pendant environ une minute, STP sur le 5500 pensera qu'il y a une boucle. Les ports de canalisation seront alors mis dans l'état error-disable. Notez ci-dessous qu'une boucle a été détectée et que les ports ont été désactivés. La commande show port channel montre que les ports ne sont plus canalisés ; et, lorsque nous regardons l'un des ports impliqués, nous voyons que son état est errdisable.
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
L'EtherChannel a été désactivé parce que les ports ont été placés en mode de désactivation des erreurs sur ce commutateur.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Afin de déterminer quel était le problème, nous devons examiner le message d'erreur. Le message indique que l'EtherChannel a rencontré une boucle Spanning Tree. Comme nous l'avons vu dans le paragraphe ci-dessus, cela peut se produire lorsqu'un périphérique (notre commutateur dans ce cas) a EtherChannel activé manuellement en utilisant le mode ON (par opposition à desirable) et que l'autre périphérique connecté (l'autre commutateur dans ce cas) n'a pas EtherChannel activé du tout. Une façon de corriger la situation est de définir le mode du canal sur desirable des deux côtés de la connexion, puis de réactiver les ports. Chaque côté ne formera un canal que s'ils acceptent tous les deux de le faire. S'ils n'acceptent pas de canal, ils continueront à fonctionner comme des ports normaux.
Remarque : pour obtenir la liste des éléments susceptibles de provoquer des erreurs de configuration d'EtherChannel, consultez le Guide de configuration sur EtherChannel pour connaître la version de CatOS que vous utilisez. Les versions plus récentes ont des sections spécifiques du Guide de configuration intitulées Configuration de Fast EtherChannel et Gigabit EtherChannel qui répertorient les dépendances pour qu'un canal se forme correctement, y compris les modes de canal à configurer.
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
Notez que même si nous avons désactivé la fonctionnalité EtherChannel et défini le mode EtherChannel sur desirable, les ports sont toujours désactivés. Nous avons corrigé la cause du problème, mais nous devons à présent réactiver les ports avant de pouvoir les utiliser.
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 : pour afficher la version du logiciel utilisé sur le commutateur
show module : pour afficher les modules utilisés sur le commutateur
show port : pour afficher l'état actuel du port du commutateur
show option errport : pour afficher l'état de la commande set option errport
show errdisable-timeout : pour afficher les paramètres actuels de la fonctionnalité errdisable-timeout et la raison pour laquelle tous les ports sont actuellement désactivés par erreur
show port : pour afficher l'état actuel du port du commutateur
show port channel : pour afficher l'état actuel de l'EtherChannel
show option errport : pour afficher l'état de la commande set option errport
set option errport disable : pour permettre au commutateur de désactiver tous les ports présentant des erreurs que le système d'exploitation juge dignes d'être désactivées. Il s'agit de l'état par défaut et ne serait différent que si quelqu'un avait précédemment émis la commande set option errport enable
show errdisable-timeout : pour afficher les paramètres actuels de la fonctionnalité errdisable-timeout et la raison pour laquelle tous les ports sont actuellement désactivés par erreur
set errdisable-timeout : peut être utilisé pour aider à déterminer pourquoi un port a été désactivé en raison d'une erreur (utilisé conjointement avec la commande show errdisable-timeout)
Syntaxe: | show version |
---|---|
Comme utilisé dans ce document : | show version |
Syntaxe: | show module [mod_num] |
---|---|
Comme utilisé dans ce document : | show module |
Syntaxe: | show port [mod_num[/port_num]] |
---|---|
Comme utilisé dans ce document : | show port 1/1 show port 11 |
Syntaxe: | show port channel [mod_num[/port_num]] [statistiques | info [spantree | trunk | protocole | gmrp | gvrp | qos]] |
---|---|
Comme utilisé dans ce document : | show port channel |
Syntaxe: | set port channel port_list mode {on | off | desirable | auto} [silent | non-silent] |
---|---|
Comme utilisé dans ce document : | set port channel 11/1-2 desirable non-silent |
Syntaxe: | set port enable mod_num/port_num |
---|---|
Comme utilisé dans ce document : | set port enable 11/1-2 |
Syntaxe: | show errdisable-timeout |
---|---|
Comme utilisé dans ce document : | show errdisable-timeout |
Syntaxe: | set errdisable-timeout [enable|disable] [bpdu-guard | channel-misconfig | non-concordance duplex | udld | autres] |
---|---|
Comme utilisé dans ce document : | set errdisable-timeout enable bpdu-guard |
Syntaxe: | set errdisable-timeout interval secondes |
---|---|
Comme utilisé dans ce document : | set errdisable-timeout interval 30 |
Syntaxe: | set spantree portfast mod_num/port_num {enable | désactiver} |
---|---|
Comme utilisé dans ce document : | set spantree portfast 11/1 enable set spantree portfast 11/1 disable |
Syntaxe: | set spantree portfast bpdu-guard {enable | désactiver} |
---|---|
Comme utilisé dans ce document : | set spantree portfast bpdu-guard enable |
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
04-Dec-2001
|
Première publication |