El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
En este documento se describe el almacenamiento en cola y el almacenamiento en búfer de los switches Cisco Nexus 9000 Series equipados con un Cisco Scale ASIC que ejecuta el software NX-OS.
Cisco recomienda que comprenda los aspectos básicos de la conmutación Ethernet en redes de medios compartidos y la necesidad de poner en cola/almacenar en búfer en estas redes. Cisco también recomienda conocer los conceptos básicos de calidad de servicio (QoS) y almacenamiento en búfer de los switches Nexus de Cisco. Para obtener más información, consulte la documentación aquí:
La información de este documento se basa en los switches Nexus de Cisco serie 9000 con ASIC de ampliación a la nube que ejecuta la versión 9.3(8) del software NX-OS.
El procedimiento descrito en este documento sólo es aplicable al hardware que se muestra aquí.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
En este documento se describen los mecanismos de almacenamiento en cola y almacenamiento en búfer de los switches Nexus de Cisco serie 9000 equipados con un ASIC (circuito integrado específico de la aplicación) de Cisco Cloud Scale que ejecuta el software NX-OS. Este documento también describe los síntomas de la sobresuscripción de puertos en esta plataforma, como los contadores de interfaz de descarte de salida distinta de cero y los syslogsque indican que se han excedido los umbrales de buffer.
Los switches Nexus de Cisco serie 9000 con el ASIC a escala de la nube de Cisco implementan una arquitectura de búfer de salida con "memoria compartida". Un ASIC se divide en una o más "porciones". Cada segmento tiene su propio búfer y sólo los puertos dentro de ese segmento pueden utilizar ese búfer. Físicamente, cada división se divide en "celdas", que representan partes del búfer. Los sectores se dividen en "grupos de grupos". Un cierto número de celdas se asignan a cada grupo de agrupamiento, y no se comparten entre grupos de agrupamiento separados. Cada grupo de grupos tiene uno o más "grupos", que representan una clase de servicio (CoS) para el tráfico de unidifusión o multidifusión. Esto ayuda a cada grupo de agrupamiento a garantizar los recursos de buffer para los tipos de tráfico que atiende el grupo de agrupamiento.
La imagen aquí muestra visualmente cómo varios modelos de Cisco Cloud Scale ASIC se dividen en porciones. La imagen también muestra cómo a cada división se le asigna una cierta cantidad de búfer a través de las celdas.
Cada modelo de switch Nexus serie 9000 y tarjeta de línea Nexus serie 9500 tiene un número diferente de ASIC de Cisco Cloud Scale dentro, así como un diseño diferente que determina qué puertos del panel frontal se conectan a qué ASIC. En las imágenes se muestran dos ejemplos que utilizan la tarjeta de línea N9K-X9736C-FX y el switch N9K-C9336C-FX2.
La tarjeta de línea N9K-C9736C-FX tiene 4 ASIC LS1800FX de Cisco Cloud Scale con una porción por ASIC. Internamente, cada ASIC se denomina "unidad". A cada sector se le denomina "instancia" y se le asigna un número entero de base cero que identifica de forma única a ese sector dentro del chasis. Esto da como resultado las permutaciones que se muestran aquí:
El switch N9K-C936C-FX2 tiene un ASIC LS3600FX2 con capacidad de ampliación a la nube de Cisco con dos porciones por ASIC. Internamente, cada ASIC se denomina "unidad". A cada sector se le denomina "instancia" y se le asigna un número entero de base cero que identifica de forma única a ese sector dentro del chasis. Esto da como resultado las permutaciones que se muestran aquí:
Cada tarjeta de línea y switch tiene un diseño diferente y da como resultado números de instancia diferentes. Para diseñar la red de modo que se adapte a flujos de tráfico que hacen un uso intensivo del ancho de banda, debe conocer el diseño del switch o de la tarjeta de línea con el que desea trabajar. El comando show interface hardware-mappings se puede utilizar para correlacionar cada puerto del panel frontal con una unidad (ASIC) y un número de segmento. Aquí se muestra un ejemplo, donde la interfaz Ethernet2/16 de un switch Nexus 9504 con una tarjeta de línea N9K-X9736C-FX insertada en la ranura 2 del chasis se asigna a la unidad 1, segmento 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
Al interpretar el syslog, el ID de instancia se calcula en función del orden de combinación de unidad contigua y división. Por ejemplo, si un módulo Nexus 9500 o un TOR Nexus 9300 (parte superior del rack) tiene dos unidades (ASIC) y dos segmentos por unidad, los ID de instancia pueden ser los siguientes:
Si un módulo tiene una unidad y cuatro porciones, los ID de instancia pueden ser:
Las interfaces conectadas a una red Ethernet sólo pueden transmitir un paquete a la vez. Cuando dos paquetes necesitan salir de una interfaz Ethernet al mismo tiempo, la interfaz Ethernet transmite un paquete mientras almacena en búfer el otro. Una vez que se transmite el primer paquete, la interfaz Ethernet transmite el segundo paquete desde el búfer. Cuando la suma total de tráfico que necesita salir, una interfaz excede el ancho de banda de la interfaz, se considera que la interfaz está sobresuscrita. Por ejemplo, si un total de 15 Gbps de tráfico entra instantáneamente en el switch y necesita salir de una interfaz de 10 Gbps, la interfaz de 10 Gbps está sobresuscrita porque no puede transmitir 15 Gbps de tráfico a la vez.
Un switch Nexus de Cisco serie 9000 con un ASIC a escala de la nube gestiona esta contención de recursos almacenando en búfer el tráfico dentro de los búferes del segmento ASIC asociado a la interfaz de salida. Si la suma total de tráfico que necesita salir de una interfaz excede el ancho de banda de la interfaz durante un período de tiempo prolongado, las memorias intermedias del segmento ASIC comienzan a llenarse con paquetes que necesitan salir de la interfaz.
Cuando las memorias intermedias del segmento ASIC alcanzan el 90% de utilización, el switch genera un syslog similar al que se muestra aquí:
%TAHUSD-SLOT2-4-BUFFER_THRESHOLD_EXCEEDED: Module 2 Instance 0 Pool-group buffer 90 percent threshold is exceeded!
Cuando las memorias intermedias del segmento ASIC se llenan por completo, el switch descarta todo el tráfico adicional que necesita para salir de la interfaz hasta que se libere espacio en las memorias intermedias. Cuando el switch descarta este tráfico, el switch incrementa el contador de descartes de salida en la interfaz de salida.
El syslog generado y el contador de descartes de salida distintos de cero son ambos síntomas de una interfaz con exceso de suscriptores. Cada síntoma se explora con más detalle en las subsecciones aquí.
Aquí se muestra un ejemplo del syslog BUFFER_THRESHOLD_EXCEEDED.
%TAHUSD-SLOTX-4-BUFFER_THRESHOLD_EXCEEDED: Module X Instance Y Pool-group buffer Z percent threshold is exceeded!
Este syslog contiene tres elementos clave de información:
El contador de interfaz de descartes de salida indica el número de paquetes descartados que deben haber egresado la interfaz pero no pudieron debido al hecho de que el búfer de división ASIC está lleno y no puede aceptar nuevos paquetes. El contador Output Discards es visible en el resultado de los errores show interface y show interface counters como se muestra aquí.
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
Imagine una situación en la que el tráfico entre dos generadores de tráfico IXIA atraviese un switch Nexus 9504 con dos tarjetas de línea N9K-X9736C-FX insertadas en las ranuras 1 y 2 del chasis. El tráfico de 100 Gbps entra en el switch a través de la interfaz de 100 Gbps Ethernet1/1 y necesita salir de la interfaz de 40 Gbps Ethernet2/2. Por lo tanto, Ethernet2/2 está sobresuscrito. Aquí se muestra una topología de este escenario.
Dado que el ASIC de ampliación a la nube de Nexus 9000 utiliza una arquitectura de búfer de salida de memoria compartida, debe comprobar el búfer de la interfaz de salida Ethernet2/2 para ver la congestión. En este ejemplo, la tarjeta de línea insertada en la ranura 2 es la tarjeta de línea de salida, por lo que debe utilizar el comando attach module 2 antes de ver el buffer de hardware interno con el comando show hardware internal tah buffer counters. Observe el contador de "caídas de ocupación" distinto de cero para el grupo de agrupamiento de la Unidad 0, el Sector 0 y los agrupamientos asociados, que indica la cantidad de paquetes caídos porque el buffer del grupo de agrupamiento está completamente ocupado.
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
Cada unidad ASIC/tupla de división se representa a través de una única instancia identificada llamada "instancia". La salida del comando show hardware internal buffer info pkt-stats muestra información detallada sobre el grupo de agrupamiento congestionado (abreviado como "PG") para cada instancia. El comando también muestra el número máximo/máximo histórico de celdas en el buffer que se han utilizado. Por último, el comando muestra una instantánea instantánea de los identificadores de puerto ASIC a escala de la nube de los puertos con tráfico almacenado en búfer. Aquí se muestra un ejemplo de este comando.
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 |
Vea también la variación peak del comando. Utilice este comando para asociar el syslog con un pico potencial en un pool-group, pool o puerto determinado.
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
El comando show interface hardware-mappings se puede utilizar para traducir el identificador de puerto ASIC de la escala de la nube a un puerto del panel frontal. En el ejemplo anterior, el puerto ASIC 12 (representado por la columna SPort en el resultado de show interface hardware-mappings) asociado con la Unidad ASIC 0 en el Segmento/Instancia 0 tiene 59,988 celdas ocupadas de 416 bytes cada una. Aquí se muestra un ejemplo del comando show interface hardware-mappings, que asigna esta interfaz al puerto Ethernet2/2 del panel frontal.
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
Podemos correlacionar aún más la sobresuscripción de la interfaz Ethernet2/2 con las caídas de colocación en cola de QoS con el comando show queuing interface. A continuación, se muestra un ejemplo.
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
Finalmente, puede verificar que la interfaz de egreso Ethernet2/2 tenga un contador de descarte de salida distinto de cero con el comando show interface. A continuación, se muestra un ejemplo.
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 observa descartes de salida en un switch Nexus serie 9000 con un ASIC de escala de nube, puede resolver el problema con uno o más de los métodos siguientes:
Esta sección del documento contiene información adicional sobre los siguientes pasos a seguir cuando encuentre el syslog BUFFER_THRESHOLD_EXCEEDED, escenarios de congestión/sobresuscripción de red y contadores de interfaz de descarte de salida incrementada.
Puede modificar el intervalo de sondeo de estado del búfer del sistema, que controla la frecuencia con que el sistema sondea el uso actual de los búferes de división ASIC. Esto se realiza con el comando de configuración global hardware profile buffer info poll-interval. El valor de configuración predeterminado es de 5.000 milisegundos. Esta configuración se puede modificar globalmente o por módulos. Aquí se muestra un ejemplo de este comando de configuración, donde se modifica a un valor de 1.000 milisegundos.
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#
Puede modificar el valor de umbral de uso del búfer de salida de puerto, que controla cuándo el sistema genera el syslog BUFFER_THRESHOLD_EXCEEDED que indica que la utilización del búfer de división ASIC ha excedido el umbral configurado. Esto se realiza con el comando de configuración global port-threshold de información de buffer de perfil de hardware. El valor de configuración predeterminado es 90%. Esta configuración se puede modificar globalmente o por módulos. Aquí se muestra un ejemplo de este comando de configuración, donde se modifica a un valor del 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#
Puede modificar el intervalo mínimo entre los registros del sistema BUFFER_THRESHOLD_EXCEEDED generados por el switch. También puede inhabilitar el registro del sistema BUFFER_THRESHOLD_EXCEEDED. Esto se hace con el comando de configuración global hardware profile buffer info syslog-interval timer. El valor de configuración predeterminado es 120 segundos. El syslog se puede inhabilitar completamente estableciendo el valor en 0 segundos. Aquí se muestra un ejemplo de este comando de configuración, donde el syslog está completamente inhabilitado.
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#
Puede recopilar los registros que se muestran aquí de un switch afectado por un escenario de congestión de red para identificar una interfaz de salida congestionada, además de los comandos enumerados en este documento.
Cuando se produce una congestión o una sobresuscripción en intervalos muy cortos (microrráfaga), se necesita información adicional para obtener una representación precisa de cómo afecta la sobresuscripción al switch.
Los switches Nexus de Cisco serie 9000 equipados con Cisco Cloud Scale ASIC pueden supervisar el tráfico en busca de microrráfagas que pueden provocar una congestión temporal de la red y la pérdida de tráfico en su entorno. Para obtener más información sobre microrráfagas y cómo configurar esta función, consulte los documentos que se muestran aquí:
Revisión | Fecha de publicación | Comentarios |
---|---|---|
6.0 |
09-Nov-2023 |
Actualización |
5.0 |
04-Oct-2023 |
Recertificación |
3.0 |
21-Jan-2022 |
Agregue la sección "Pasos siguientes" al documento. |
2.0 |
03-Oct-2021 |
Actualizar la sección de hardware aplicable para incluir nuevo hardware. |
1.0 |
31-Aug-2021 |
Versión inicial |