Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit la mise en file d'attente et la mise en mémoire tampon sur les commutateurs de la gamme Cisco Nexus 9000 équipés d'un ASIC Cisco Scale qui exécute le logiciel NX-OS.
Cisco vous recommande de comprendre les bases de la commutation Ethernet sur les réseaux de support partagé et la nécessité de mettre en file d'attente/en mémoire tampon dans ces réseaux. Cisco vous recommande également de comprendre les notions de base de la qualité de service (QoS) et de la mise en mémoire tampon sur les commutateurs Cisco Nexus. Pour plus d'informations, reportez-vous à la documentation disponible ici :
Les informations contenues dans ce document sont basées sur les commutateurs de la gamme Cisco Nexus 9000 avec l'ASIC Cloud Scale exécutant le logiciel NX-OS version 9.3(8).
La procédure décrite dans ce document s'applique uniquement au matériel présenté ici.
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. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Ce document décrit les mécanismes derrière la mise en file d'attente et la mise en mémoire tampon sur les commutateurs de la gamme Cisco Nexus 9000 équipés d'un circuit ASIC (Application-Specific Integrated Circuit) Cisco Cloud Scale exécutant le logiciel NX-OS. Ce document décrit également les symptômes de sursouscription de port sur cette plate-forme, tels que les compteurs d'interface de rejet de sortie non nul et les syslog qui indiquent que les seuils de mémoire tampon ont été dépassés.
Les commutateurs Cisco Nexus 9000 avec Cisco Cloud Scale ASIC mettent en oeuvre une architecture de tampon de sortie « à mémoire partagée ». Un ASIC est divisé en une ou plusieurs « tranches ». Chaque tranche possède sa propre mémoire tampon et seuls les ports de cette tranche peuvent l’utiliser. Physiquement, chaque tranche est divisée en "cellules", qui représentent des portions de la mémoire tampon. Les tranches sont partitionnées en « pool-groups ». Un certain nombre de cellules sont allouées à chaque pool-group, et elles ne sont pas partagées entre des pools-groups séparés. Chaque groupe de pools possède un ou plusieurs « pools », qui représentent une classe de service (CoS) pour le trafic de monodiffusion ou de multidiffusion. Cela permet à chaque pool-group de garantir des ressources de tampon pour les types de trafic que le pool-group dessert.
L'image ci-contre illustre visuellement comment les différents modèles de Cisco Cloud Scale ASIC sont divisés en tranches. L'image montre également comment une certaine quantité de mémoire tampon est allouée à chaque tranche par le biais des cellules.
Chaque modèle de commutateur de la gamme Nexus 9000 et de carte de ligne Nexus 9500 comporte un nombre différent de circuits ASIC Cisco Cloud Scale, ainsi qu'une disposition différente qui détermine quels ports du panneau avant se connectent à quel circuit ASIC. Les images ci-contre illustrent deux exemples qui utilisent la carte de ligne N9K-X9736C-FX et le commutateur N9K-C936C-FX2.
La carte de ligne N9K-C9736C-FX est dotée de 4 circuits ASIC Cisco Cloud Scale LS1800FX avec une tranche par circuit ASIC. En interne, chaque ASIC est appelé une « unité ». Chaque tranche est appelée « instance » et se voit attribuer un entier de base zéro qui identifie de manière unique cette tranche dans le châssis. Il en résulte les permutations indiquées ici :
Le commutateur N9K-C9336C-FX2 dispose d'un ASIC Cisco Cloud Scale LS3600FX2 avec deux tranches par ASIC. En interne, chaque ASIC est appelé une « unité ». Chaque tranche est appelée « instance » et se voit attribuer un entier de base zéro qui identifie de manière unique cette tranche dans le châssis. Il en résulte les permutations indiquées ici :
Chaque carte de ligne et chaque commutateur ont une disposition différente et génèrent des numéros d'instance différents. Pour que vous puissiez concevoir votre réseau autour de flux de trafic à forte consommation de bande passante, vous devez comprendre la disposition du commutateur ou de la carte de ligne avec laquelle vous souhaitez travailler. La commande show interface hardware-mappings peut être utilisée pour corréler chaque port du panneau avant à une unité (ASIC) et à un numéro de tranche. Un exemple de ceci est montré ici, où l'interface Ethernet2/16 d'un commutateur Nexus 9504 avec une carte de ligne N9K-X9736C-FX insérée dans le logement 2 du châssis correspond à l'unité 1, tranche 0.
switch# show interface hardware-mappings Legends: SMod - Source Mod. 0 is N/A Unit - Unit on which port resides. N/A for port channels HPort - Hardware Port Number or Hardware Trunk Id: HName - Hardware port name. None means N/A FPort - Fabric facing port number. 255 means N/A NPort - Front panel port number VPort - Virtual Port Number. -1 means N/A Slice - Slice Number. N/A for BCM systems SPort - Port Number wrt Slice. N/A for BCM systems SrcId - Source Id Number. N/A for BCM systems MacIdx - Mac index. N/A for BCM systems MacSubPort - Mac sub port. N/A for BCM systems ------------------------------------------------------------------------------------------------------- Name Ifindex Smod Unit HPort FPort NPort VPort Slice SPort SrcId MacId MacSP VIF Block BlkSrcID ------------------------------------------------------------------------------------------------------- Eth2/1 1a080000 5 0 16 255 0 -1 0 16 32 4 0 145 0 32 Eth2/2 1a080200 5 0 12 255 4 -1 0 12 24 3 0 149 0 24 Eth2/3 1a080400 5 0 8 255 8 -1 0 8 16 2 0 153 0 16 Eth2/4 1a080600 5 0 4 255 12 -1 0 4 8 1 0 157 0 8 Eth2/5 1a080800 5 0 0 255 16 -1 0 0 0 0 0 161 0 0 Eth2/6 1a080a00 5 0 56 255 20 -1 0 56 112 14 0 165 1 40 Eth2/7 1a080c00 5 0 52 255 24 -1 0 52 104 13 0 169 1 32 Eth2/8 1a080e00 6 1 16 255 28 -1 0 16 32 4 0 173 0 32 Eth2/9 1a081000 6 1 12 255 32 -1 0 12 24 3 0 177 0 24 Eth2/10 1a081200 6 1 8 255 36 -1 0 8 16 2 0 181 0 16 Eth2/11 1a081400 6 1 4 255 40 -1 0 4 8 1 0 185 0 8 Eth2/12 1a081600 6 1 0 255 44 -1 0 0 0 0 0 189 0 0 Eth2/13 1a081800 6 1 56 255 48 -1 0 56 112 14 0 193 1 40 Eth2/14 1a081a00 6 1 52 255 52 -1 0 52 104 13 0 197 1 32 Eth2/15 1a081c00 7 2 16 255 56 -1 0 16 32 4 0 201 0 32 Eth2/16 1a081e00 7 2 12 255 60 -1 0 12 24 3 0 205 0 24 Eth2/17 1a082000 7 2 8 255 64 -1 0 8 16 2 0 209 0 16 Eth2/18 1a082200 7 2 4 255 68 -1 0 4 8 1 0 213 0 8 Eth2/19 1a082400 7 2 0 255 72 -1 0 0 0 0 0 217 0 0 Eth2/20 1a082600 7 2 56 255 76 -1 0 56 112 14 0 221 1 40 Eth2/21 1a082800 7 2 52 255 80 -1 0 52 104 13 0 225 1 32 Eth2/22 1a082a00 8 3 16 255 84 -1 0 16 32 4 0 229 0 32 Eth2/23 1a082c00 8 3 12 255 88 -1 0 12 24 3 0 233 0 24 Eth2/24 1a082e00 8 3 8 255 92 -1 0 8 16 2 0 237 0 16 Eth2/25 1a083000 8 3 4 255 96 -1 0 4 8 1 0 241 0 8 Eth2/26 1a083200 8 3 0 255 100 -1 0 0 0 0 0 245 0 0 Eth2/27 1a083400 8 3 56 255 104 -1 0 56 112 14 0 249 1 40 Eth2/28 1a083600 8 3 52 255 108 -1 0 52 104 13 0 253 1 32 Eth2/29 1a083800 5 0 48 255 112 -1 0 48 96 12 0 257 1 24 Eth2/30 1a083a00 5 0 44 255 116 -1 0 44 88 11 0 261 1 16 Eth2/31 1a083c00 6 1 48 255 120 -1 0 48 96 12 0 265 1 24 Eth2/32 1a083e00 6 1 44 255 124 -1 0 44 88 11 0 269 1 16 Eth2/33 1a084000 7 2 48 255 128 -1 0 48 96 12 0 273 1 24 Eth2/34 1a084200 7 2 44 255 132 -1 0 44 88 11 0 277 1 16 Eth2/35 1a084400 8 3 48 255 136 -1 0 48 96 12 0 281 1 24 Eth2/36 1a084600 8 3 44 255 140 -1 0 44 88 11 0 285 1 16
Lors de l'interprétation du syslog, l'ID d'instance est calculé en fonction de l'ordre de combinaison d'unités contiguës et de tranches. Par exemple, si un module Nexus 9500 ou un Nexus 9300 TOR (Top-of-Rack) a deux unités (ASIC) et deux tranches par unité, les ID d'instance peuvent être les suivants :
Si un module comporte une unité et quatre tranches, les ID d'instance peuvent être :
Les interfaces connectées à un réseau Ethernet ne peuvent transmettre qu’un seul paquet à la fois. Lorsque deux paquets doivent sortir d’une interface Ethernet en même temps, l’interface Ethernet transmet un paquet tout en mettant l’autre en mémoire tampon. Une fois le premier paquet transmis, l'interface Ethernet transmet le second paquet à partir du tampon. Lorsque la somme totale du trafic qui doit sortir d’une interface dépasse la bande passante de l’interface, l’interface est considérée comme sursouscrite. Par exemple, si un total de 15 Gbits/s de trafic entre instantanément dans le commutateur et doit sortir d'une interface 10 Gbits/s, l'interface 10 Gbits/s est en sursouscription car elle ne peut pas transmettre 15 Gbits/s de trafic à la fois.
Un commutateur Cisco Nexus 9000 avec un ASIC Cloud Scale gère ce conflit de ressources en mettant en mémoire tampon le trafic dans les mémoires tampon de la tranche ASIC associée à l'interface de sortie. Si la somme totale du trafic qui doit sortir d'une interface dépasse la bande passante de l'interface pendant une période prolongée, les tampons de la tranche ASIC commencent à se remplir de paquets qui doivent sortir de l'interface.
Lorsque les tampons de la tranche ASIC atteignent 90 % d'utilisation, le commutateur génère un syslog similaire à celui présenté ici :
%TAHUSD-SLOT2-4-BUFFER_THRESHOLD_EXCEEDED: Module 2 Instance 0 Pool-group buffer 90 percent threshold is exceeded!
Lorsque les tampons de la tranche ASIC sont complètement pleins, le commutateur abandonne tout trafic supplémentaire qui doit sortir de l'interface jusqu'à ce que l'espace dans les tampons devienne libre. Lorsque le commutateur abandonne ce trafic, il incrémente le compteur Rejets de sortie sur l'interface de sortie.
Le compteur Syslog généré et le compteur de rejets en sortie non nuls sont les deux symptômes d'une interface en sursouscription. Chaque symptôme est étudié plus en détail dans les sous-sections ci-dessous.
Un exemple du syslog BUFFER_THRESHOLD_EXCEEDED est présenté ici.
%TAHUSD-SLOTX-4-BUFFER_THRESHOLD_EXCEEDED: Module X Instance Y Pool-group buffer Z percent threshold is exceeded!
Ce syslog contient trois éléments d'information clés :
Le compteur d'interfaces Output Discards indique le nombre de paquets qui ont été abandonnés et qui doivent avoir quitté l'interface mais n'ont pas pu le faire en raison du fait que la mémoire tampon de tranche ASIC est pleine et ne peut pas accepter de nouveaux paquets. Le compteur Output Discards est visible dans la sortie de show interface et show interface counters errors comme illustré ici.
switch# show interface Ethernet1/1 Ethernet1/1 is up admin state is up, Dedicated Interface Hardware: 1000/10000/25000/40000/50000/100000 Ethernet, address: 7cad.4f6d.f6d8 (bia 7cad.4f6d.f6d8) MTU 1500 bytes, BW 40000000 Kbit , DLY 10 usec reliability 255/255, txload 232/255, rxload 1/255 Encapsulation ARPA, medium is broadcast Port mode is trunk full-duplex, 40 Gb/s, media type is 40G Beacon is turned off Auto-Negotiation is turned on FEC mode is Auto Input flow-control is off, output flow-control is off Auto-mdix is turned off Rate mode is dedicated Switchport monitor is off EtherType is 0x8100 EEE (efficient-ethernet) : n/a admin fec state is auto, oper fec state is off Last link flapped 03:16:50 Last clearing of "show interface" counters never 3 interface resets Load-Interval #1: 30 seconds 30 seconds input rate 0 bits/sec, 0 packets/sec 30 seconds output rate 36503585488 bits/sec, 3033870 packets/sec input rate 0 bps, 0 pps; output rate 36.50 Gbps, 3.03 Mpps Load-Interval #2: 5 minute (300 seconds) 300 seconds input rate 32 bits/sec, 0 packets/sec 300 seconds output rate 39094683384 bits/sec, 3249159 packets/sec input rate 32 bps, 0 pps; output rate 39.09 Gbps, 3.25 Mpps RX 0 unicast packets 208 multicast packets 9 broadcast packets 217 input packets 50912 bytes 0 jumbo packets 0 storm suppression bytes 0 runts 0 giants 0 CRC 0 no buffer 0 input error 0 short frame 0 overrun 0 underrun 0 ignored 0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop 0 input with dribble 0 input discard 0 Rx pause TX 38298127762 unicast packets 6118 multicast packets 0 broadcast packets 38298133880 output packets 57600384931480 bytes 0 jumbo packets 0 output error 0 collision 0 deferred 0 late collision 0 lost carrier 0 no carrier 0 babble 57443534227 output discard <<< Output discards due to oversubcription 0 Tx pause switch# show interface Ethernet1/1 counters errors -------------------------------------------------------------------------------- Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize OutDiscards -------------------------------------------------------------------------------- Eth1/1 0 0 0 0 0 57443534227 -------------------------------------------------------------------------------- Port Single-Col Multi-Col Late-Col Exces-Col Carri-Sen Runts -------------------------------------------------------------------------------- Eth1/1 0 0 0 0 0 0 -------------------------------------------------------------------------------- Port Giants SQETest-Err Deferred-Tx IntMacTx-Er IntMacRx-Er Symbol-Err -------------------------------------------------------------------------------- Eth1/1 0 -- 0 0 0 0 -------------------------------------------------------------------------------- Port InDiscards -------------------------------------------------------------------------------- Eth1/1 0
Imaginez un scénario dans lequel le trafic entre deux générateurs de trafic IXIA traverse un commutateur Nexus 9504 avec deux cartes de ligne N9K-X9736C-FX insérées dans les logements 1 et 2 du châssis. Le trafic de 100 Gbit/s entre dans le commutateur via l'interface Ethernet1/1 100 Gbit/s et doit sortir de l'interface Ethernet2/2 40 Gbit/s. Par conséquent, Ethernet2/2 est sursouscrit. Une topologie de ce scénario est illustrée ici.
Comme l'ASIC Nexus 9000 Cloud Scale utilise une architecture de mémoire tampon de sortie partagée, vous devez vérifier la mémoire tampon de l'interface de sortie Ethernet2/2 pour voir l'encombrement. Dans cet exemple, la carte de ligne insérée dans le logement 2 est la carte de ligne de sortie. Vous devez donc utiliser la commande attach module 2 avant d'afficher la mémoire tampon matérielle interne avec la commande show hardware internal tah buffer counters. Notez le compteur non nul « Occupancy Drops » pour le groupe de pools Unit 0, Slice 0 et les pools associés, qui indique le nombre de paquets abandonnés parce que la mémoire tampon du groupe de pools est entièrement occupée.
switch# attach module 2
module-2# show hardware internal tah buffer counters Unit: 0 Slice: 0 ==================== |------------------------------------------------------------------------------------------------------------------| | Output Pool-Group drops | | Drop-PG No-drop CPU--PG LCPU-PG RCPU-PG SPAN-PG | |------------------------------------------------------------------------------------------------------------------| Occupancy drops 51152554987 0 0 0 0 0 | AQM drops 0 0 N/A N/A N/A N/A | |--------------------------------------------------------------------------------------------------------------------| | Output UC Pool counters | | Pool 0 Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 | |--------------------------------------------------------------------------------------------------------------------| Dynamic Threshold (cells) 93554 93554 93554 93554 93554 93554 93554 93554 | Occupancy drops 51152555398 0 0 0 0 0 0 0 | AQM drops 0 0 0 0 0 0 0 0 | |--------------------------------------------------------------------------------------------------------------------| | Output MC Pool counters | | Pool 0 Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 | |--------------------------------------------------------------------------------------------------------------------| Dynamic Threshold (cells) 93554 93554 93554 93554 93554 93554 93554 93554 | Dynamic Threshold (desc) 93554 93554 93554 93554 93554 93554 93554 93554 | Dynamic Threshold (inq thr) 64035 64035 64035 64035 64035 64035 64035 64035 | Occupancy drops 0 0 0 0 0 0 0 0 | |--------------+---------+---------+---------+---------+---------+--------+---------+---------+| | Additional counters | |--------------+---------+---------+---------+---------+---------+--------+---------+---------+| MEM cell drop reason : 0 MEM descriptor drop reason : 0 OPG cell drop reason : 0 OPG descriptor drop reason : 0 OPG CPU cell drop reason : 0 OPG CPU descriptor drop reason : 0 OPG SPAN cell drop reason : 0 OPG SPAN descriptor drop reason : 0 OPOOL cell drop reason : 0 OPOOL descriptor drop reason : 0 UC OQUEUE cell drop reason : 51152556479 MC OQUEUE cell drop reason : 27573307 OQUEUE descriptor drop reason : 0 MC OPOOL cell drop reason : 0 FWD DROP : 15 SOD : 0 BMM BP : 0 No Drop : 0 Packets received : 87480806439 TRUNC MTU : 0 TRUNK BMM BP : 0 VOQFC messages sent : 0 SOD messages sent : 0 SPAN desciptor drop : 0 Unit: 1 Slice: 0 ==================== |------------------------------------------------------------------------------------------------------------------| | Output Pool-Group drops | | Drop-PG No-drop CPU--PG LCPU-PG RCPU-PG SPAN-PG | |------------------------------------------------------------------------------------------------------------------| Occupancy drops 0 0 0 0 0 0 | AQM drops 0 0 N/A N/A N/A N/A | |--------------------------------------------------------------------------------------------------------------------| | Output UC Pool counters | | Pool 0 Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 | |--------------------------------------------------------------------------------------------------------------------| Dynamic Threshold (cells) 93554 93554 93554 93554 93554 93554 93554 93554 | Occupancy drops 0 0 0 0 0 0 0 0 | AQM drops 0 0 0 0 0 0 0 0 | |--------------------------------------------------------------------------------------------------------------------| | Output MC Pool counters | | Pool 0 Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 | |--------------------------------------------------------------------------------------------------------------------| Dynamic Threshold (cells) 93554 93554 93554 93554 93554 93554 93554 93554 | Dynamic Threshold (desc) 93554 93554 93554 93554 93554 93554 93554 93554 | Dynamic Threshold (inq thr) 64035 64035 64035 64035 64035 64035 64035 64035 | Occupancy drops 0 0 0 0 0 0 0 0 | |--------------+---------+---------+---------+---------+---------+--------+---------+---------+| | Additional counters | |--------------+---------+---------+---------+---------+---------+--------+---------+---------+| MEM cell drop reason : 0 MEM descriptor drop reason : 0 OPG cell drop reason : 0 OPG descriptor drop reason : 0 OPG CPU cell drop reason : 0 OPG CPU descriptor drop reason : 0 OPG SPAN cell drop reason : 0 OPG SPAN descriptor drop reason : 0 OPOOL cell drop reason : 0 OPOOL descriptor drop reason : 0 UC OQUEUE cell drop reason : 0 MC OQUEUE cell drop reason : 0 OQUEUE descriptor drop reason : 0 MC OPOOL cell drop reason : 0 FWD DROP : 8 SOD : 0 BMM BP : 0 No Drop : 0 Packets received : 45981341 TRUNC MTU : 0 TRUNK BMM BP : 0 VOQFC messages sent : 0 SOD messages sent : 0 SPAN desciptor drop : 0
Chaque unité/tuple de tranche ASIC est représenté par une instance unique appelée « instance ». La sortie de la commande show hardware internal buffer info pkt-stats affiche des informations détaillées sur le groupe de pools encombré (abrégé en "PG") pour chaque instance. La commande affiche également le pic historique/nombre maximal de cellules dans la mémoire tampon qui ont été utilisées. Enfin, la commande affiche un instantané des identifiants de port ASIC Cloud Scale des ports dont le trafic est mis en mémoire tampon. Un exemple de cette commande est présenté ici.
switch# attach module 2
module-2# show hardware internal buffer info pkt-stats Instance 0 ============ |------------------------------------------------------------------------------------------------------------| | Output Pool-Group Buffer Utilization (cells/desc) | | Drop-PG No-drop CPU--PG LCPU-PG RCPU-PG SPAN-PG | |------------------------------------------------------------------------------------------------------------| Total Instant Usage (cells) 59992 0 0 0 0 0 | Remaining Instant Usage (cells) 33562 0 1500 250 1500 1500 | Peak/Max Cells Used 90415 0 N/A N/A N/A N/A | Switch Cells Count 93554 0 1500 250 1500 1500 | Total Instant Usage (desc) 0 0 0 0 0 0 | Remaining Instant Usage (desc) 93554 0 1500 250 1500 1500 | Switch Desc Count 93554 0 1500 250 1500 1500 | |--------------------------------------------------------------------------------------------------------------------| | Output UC Pool Buffer Utilization (cells/desc) | | Pool 0 Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 | |--------------------------------------------------------------------------------------------------------------------| Total Instant Usage (cells) 60027 0 0 0 0 0 0 0 | Total Instant Usage (desc) 0 0 0 0 0 0 0 0 | Peak/Max Cells Used 62047 0 0 0 0 0 0 0 | |--------------------------------------------------------------------------------------------------------------------| | Output MC Pool Buffer Utilization (cells/desc) | | Pool 0 Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 | |--------------------------------------------------------------------------------------------------------------------| Total Instant Usage (cells) 0 0 0 0 0 0 0 0 | Total Instant Usage (desc) 0 0 0 0 0 0 0 0 | Total Instant Usage (inq cells) 0 0 0 0 0 0 0 0 | Total Instant Usage (packets) 0 0 0 0 0 0 0 0 | Peak/Max Cells Used 60399 0 0 0 0 0 0 0 | |--------------------------------------------------------------------------| | Instant Buffer utilization per queue per port | | Each line displays the number of cells/desc utilized for a given | | port for each QoS queue | | One cell represents approximately 416 bytes | |--------------+---------+---------+---------+---------+---------+--------+---------+---------+| |ASIC Port Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 | |--------------+---------+---------+---------+---------+---------+--------+---------+---------+| [12] <<< ASIC Port 12 in Unit 0 Instance 0 is likely the congested egress interface UC-> 0 0 0 0 0 0 0 59988 | MC cells-> 0 0 0 0 0 0 0 0 | MC desc-> 0 0 0 0 0 0 0 0 |
Consultez également la variation maximale de la commande. Utilisez cette commande pour associer le syslog à un pic potentiel dans un groupe de pools, un pool ou un port particulier.
switch# show hardware internal buffer info pkt-stats peak slot 1 ======= Instance 0 ============ |--------------+---------+---------+---------+---------+---------+| | Pool-Group Peak counters | |--------------+---------+---------+---------+---------+---------+| Drop PG : 0 No-drop PG : 0 |--------------+---------+---------+---------+---------+---------+| | Pool Peak counters | |--------------+---------+---------+---------+---------+---------+| MC Pool 0 : 0 MC Pool 1 : 0 MC Pool 2 : 0 MC Pool 3 : 0 MC Pool 4 : 0 MC Pool 5 : 0 MC Pool 6 : 0 MC Pool 7 : 0 UC Pool 0 : 0 UC Pool 1 : 0 UC Pool 2 : 0 UC Pool 3 : 0 UC Pool 4 : 0 UC Pool 5 : 0 UC Pool 6 : 0 UC Pool 7 : 0 |--------------+---------+---------+---------+---------+---------+| | Port Peak counters | | classes mapped to count_0: 0 1 2 3 4 5 6 7 | classes mapped to count_1: None |--------------+---------+---------+---------+---------+---------+| [0] <<< ASIC Port. This can be checked via "show hardware interface-mappings" count_0 : 0 count_1 : 0 [1] count_0 : 0 count_1 : 0
La commande show interface hardware-mappings peut être utilisée pour traduire l'identificateur de port ASIC Cloud Scale en port de façade. Dans l'exemple susmentionné, le port ASIC 12 (représenté par la colonne SPort dans la sortie de show interface hardware-mappings) associé à l'unité ASIC 0 sur la tranche/instance 0 a 59 988 cellules occupées de 416 octets chacune. Un exemple de la commande show interface hardware-mappings est présenté ici, qui mappe cette interface au port de façade Ethernet2/2.
switch# show interface hardware-mappings Legends: SMod - Source Mod. 0 is N/A Unit - Unit on which port resides. N/A for port channels HPort - Hardware Port Number or Hardware Trunk Id: HName - Hardware port name. None means N/A FPort - Fabric facing port number. 255 means N/A NPort - Front panel port number VPort - Virtual Port Number. -1 means N/A Slice - Slice Number. N/A for BCM systems SPort - Port Number wrt Slice. N/A for BCM systems SrcId - Source Id Number. N/A for BCM systems MacIdx - Mac index. N/A for BCM systems MacSubPort - Mac sub port. N/A for BCM systems ------------------------------------------------------------------------------------------------------- Name Ifindex Smod Unit HPortFPort NPort VPort Slice SPort SrcId MacId MacSP VIF Block BlkSrcID ------------------------------------------------------------------------------------------------------- Eth2/2 1a080200 5 0 12 255 4 -1 0 12 24 3 0 149 0 24
Nous pouvons également corréler la sursouscription de l'interface Ethernet2/2 avec les abandons de mise en file d'attente QoS avec la commande show queuing interface. Un exemple de ceci est montré ici.
switch# show queuing interface Ethernet2/2 Egress Queuing for Ethernet2/2 [System] ------------------------------------------------------------------------------ QoS-Group# Bandwidth% PrioLevel Shape QLimit Min Max Units ------------------------------------------------------------------------------ 7 - 1 - - - 9(D) 6 0 - - - - 9(D) 5 0 - - - - 9(D) 4 0 - - - - 9(D) 3 0 - - - - 9(D) 2 0 - - - - 9(D) 1 0 - - - - 9(D) 0 100 - - - - 9(D) +-------------------------------------------------------------+ | QOS GROUP 0 | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 35593332351| 18407162| | Tx Byts | 53532371857088| 27684371648| | WRED/AFD & Tail Drop Pkts | 53390604466| 27573307| | WRED/AFD & Tail Drop Byts | 80299469116864| 110293228| | Q Depth Byts | 24961664| 0| | WD & Tail Drop Pkts | 53390604466| 27573307| +-------------------------------------------------------------+ | QOS GROUP 1 | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 0| 0| | Tx Byts | 0| 0| | WRED/AFD & Tail Drop Pkts | 0| 0| | WRED/AFD & Tail Drop Byts | 0| 0| | Q Depth Byts | 0| 0| | WD & Tail Drop Pkts | 0| 0| +-------------------------------------------------------------+ | QOS GROUP 2 | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 0| 0| | Tx Byts | 0| 0| | WRED/AFD & Tail Drop Pkts | 0| 0| | WRED/AFD & Tail Drop Byts | 0| 0| | Q Depth Byts | 0| 0| | WD & Tail Drop Pkts | 0| 0| +-------------------------------------------------------------+ | QOS GROUP 3 | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 0| 0| | Tx Byts | 0| 0| | WRED/AFD & Tail Drop Pkts | 0| 0| | WRED/AFD & Tail Drop Byts | 0| 0| | Q Depth Byts | 0| 0| | WD & Tail Drop Pkts | 0| 0| +-------------------------------------------------------------+ | QOS GROUP 4 | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 0| 0| | Tx Byts | 0| 0| | WRED/AFD & Tail Drop Pkts | 0| 0| | WRED/AFD & Tail Drop Byts | 0| 0| | Q Depth Byts | 0| 0| | WD & Tail Drop Pkts | 0| 0| +-------------------------------------------------------------+ | QOS GROUP 5 | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 0| 0| | Tx Byts | 0| 0| | WRED/AFD & Tail Drop Pkts | 0| 0| | WRED/AFD & Tail Drop Byts | 0| 0| | Q Depth Byts | 0| 0| | WD & Tail Drop Pkts | 0| 0| +-------------------------------------------------------------+ | QOS GROUP 6 | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 0| 0| | Tx Byts | 0| 0| | WRED/AFD & Tail Drop Pkts | 0| 0| | WRED/AFD & Tail Drop Byts | 0| 0| | Q Depth Byts | 0| 0| | WD & Tail Drop Pkts | 0| 0| +-------------------------------------------------------------+ | QOS GROUP 7 | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 0| 0| | Tx Byts | 0| 0| | WRED/AFD & Tail Drop Pkts | 0| 0| | WRED/AFD & Tail Drop Byts | 0| 0| | Q Depth Byts | 0| 0| | WD & Tail Drop Pkts | 0| 0| +-------------------------------------------------------------+ | CONTROL QOS GROUP | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 5704| 0| | Tx Byts | 725030| 0| | Tail Drop Pkts | 0| 0| | Tail Drop Byts | 0| 0| +-------------------------------------------------------------+ | SPAN QOS GROUP | +-------------------------------------------------------------+ | | Unicast |Multicast | +-------------------------------------------------------------+ | Tx Pkts | 0| 0| | Tx Byts | 0| 0| +-------------------------------------------------------------+ Per Slice Egress SPAN Statistics --------------------------------------------------------------- SPAN Copies Tail Drop Pkts 0 SPAN Input Queue Drop Pkts 0 SPAN Copies/Transit Tail Drop Pkts 0 SPAN Input Desc Drop Pkts 0
Enfin, vous pouvez vérifier que l'interface de sortie Ethernet2/2 a un compteur d'abandon de sortie non nul avec la commande show interface. Un exemple de ceci est montré ici.
switch# show interface Ethernet2/2 Ethernet2/2 is up admin state is up, Dedicated Interface Hardware: 1000/10000/25000/40000/50000/100000 Ethernet, address: 7cad.4f6d.f6d8 (bia 7cad.4f6d.f6d8) MTU 1500 bytes, BW 40000000 Kbit , DLY 10 usec reliability 255/255, txload 232/255, rxload 1/255 Encapsulation ARPA, medium is broadcast Port mode is trunk full-duplex, 40 Gb/s, media type is 40G Beacon is turned off Auto-Negotiation is turned on FEC mode is Auto Input flow-control is off, output flow-control is off Auto-mdix is turned off Rate mode is dedicated Switchport monitor is off EtherType is 0x8100 EEE (efficient-ethernet) : n/a admin fec state is auto, oper fec state is off Last link flapped 03:16:50 Last clearing of "show interface" counters never 3 interface resets Load-Interval #1: 30 seconds 30 seconds input rate 0 bits/sec, 0 packets/sec 30 seconds output rate 36503585488 bits/sec, 3033870 packets/sec input rate 0 bps, 0 pps; output rate 36.50 Gbps, 3.03 Mpps Load-Interval #2: 5 minute (300 seconds) 300 seconds input rate 32 bits/sec, 0 packets/sec 300 seconds output rate 39094683384 bits/sec, 3249159 packets/sec input rate 32 bps, 0 pps; output rate 39.09 Gbps, 3.25 Mpps RX 0 unicast packets 208 multicast packets 9 broadcast packets 217 input packets 50912 bytes 0 jumbo packets 0 storm suppression bytes 0 runts 0 giants 0 CRC 0 no buffer 0 input error 0 short frame 0 overrun 0 underrun 0 ignored 0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop 0 input with dribble 0 input discard 0 Rx pause TX 38298127762 unicast packets 6118 multicast packets 0 broadcast packets 38298133880 output packets 57600384931480 bytes 0 jumbo packets 0 output error 0 collision 0 deferred 0 late collision 0 lost carrier 0 no carrier 0 babble 57443534227 output discard <<< Output discards due to oversubcription 0 Tx pause
Si vous observez des rejets de sortie sur un commutateur de la gamme Nexus 9000 avec un ASIC d'évolutivité du cloud, vous pouvez résoudre le problème avec une ou plusieurs des méthodes suivantes :
Cette section du document contient des informations supplémentaires sur les étapes suivantes à suivre lorsque vous rencontrez le syslog BUFFER_THRESHOLD_EXCEEDED, les scénarios d'encombrement/de surabonnement du réseau et les compteurs d'interface d'abandon de sortie incrémentés.
Vous pouvez modifier l'intervalle d'interrogation de l'état de la mémoire tampon système, qui contrôle la fréquence à laquelle le système interroge l'utilisation actuelle des mémoires tampon de tranche ASIC. Pour ce faire, utilisez la commande de configuration globale hardware profile buffer info poll-interval. La valeur de configuration par défaut est de 5 000 millisecondes. Cette configuration peut être modifiée globalement ou sur une base par module. Un exemple de cette commande de configuration est présenté ici, où elle est modifiée à une valeur de 1 000 millisecondes.
switch# configure terminal Enter configuration commands, one per line. End with CNTL/Z. switch(config)# hardware profile buffer info poll-interval timer 1000 switch(config)# end switch# show running-config | include hardware.profile.buffer hardware profile buffer info poll-interval timer 1000 switch#
Vous pouvez modifier la valeur du seuil d'utilisation du tampon de sortie du port, qui contrôle le moment où le système génère le syslog BUFFER_THRESHOLD_EXCEEDED qui indique que l'utilisation du tampon de tranche ASIC a dépassé le seuil configuré. Pour ce faire, utilisez la commande de configuration globale hardware profile buffer info port-threshold. La valeur de configuration par défaut est 90 %. Cette configuration peut être modifiée globalement ou sur une base par module. Un exemple de cette commande de configuration est montré ici, où elle est modifiée à une valeur de 80 %.
switch# configure terminal Enter configuration commands, one per line. End with CNTL/Z. switch(config)# hardware profile buffer info port-threshold threshold 80 switch(config)# end switch# show running-config | include hardware.profile.buffer hardware profile buffer info port-threshold threshold 80 switch#
Vous pouvez modifier l'intervalle minimum entre les syslogs BUFFER_THRESHOLD_EXCEEDED générés par le commutateur. Vous pouvez également désactiver le syslog BUFFER_THRESHOLD_EXCEEDED. Pour ce faire, utilisez la commande de configuration globale hardware profile buffer info syslog-interval timer. La valeur de configuration par défaut est de 120 secondes. Le journal système peut être entièrement désactivé en définissant la valeur sur 0 secondes. Un exemple de cette commande de configuration est montré ici, où le syslog est entièrement désactivé.
switch# configure terminal Enter configuration commands, one per line. End with CNTL/Z. switch(config)# hardware profile buffer info syslog-interval timer 0 switch(config)# end switch# show running-config | include hardware.profile.buffer hardware profile buffer info syslog-interval timer 0 switch#
Vous pouvez collecter les journaux affichés ici à partir d'un commutateur affecté par un scénario d'encombrement du réseau pour identifier une interface de sortie encombrée en plus des commandes répertoriées dans ce document.
Lorsque la congestion ou la sursouscription se produit à des intervalles très courts (une micro-rafale), des informations supplémentaires sont nécessaires pour obtenir une description précise de la manière dont la sursouscription affecte le commutateur.
Les commutateurs de la gamme Cisco Nexus 9000 équipés de l'ASIC Cisco Cloud Scale peuvent surveiller le trafic à la recherche de micro-salves pouvant entraîner un encombrement temporaire du réseau et une perte de trafic dans votre environnement. Pour plus d'informations sur les micro-rafales et la configuration de cette fonctionnalité, consultez les documents présentés ici :
Révision | Date de publication | Commentaires |
---|---|---|
6.0 |
09-Nov-2023 |
Mise à jour |
5.0 |
04-Oct-2023 |
Recertification |
3.0 |
21-Jan-2022 |
Ajoutez la section « Étapes suivantes » au document. |
2.0 |
03-Oct-2021 |
Mettre à jour la section Matériel applicable pour inclure le nouveau matériel. |
1.0 |
31-Aug-2021 |
Première publication |