Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Compreenda a arquitetura de buffer ASIC em escala de nuvem do Cisco Nexus 9000

Entender o excesso de assinaturas e os descartes de saída

Compreendendo o Syslog BUFFER_THRESHOLD_EXCEEDED

Entendendo o contador da interface de descartes de saída

Exemplo de cenário de excesso de assinaturas

Próximas etapas

Additional Information

Opções de Configuração do Syslog BUFFER_THRESHOLD_EXCEEDED

Registros a serem coletados para cenários de congestionamento de rede

Monitoramento de microrajadas

Introduction

Este documento descreve a mecânica por trás do enfileiramento e do armazenamento em buffer nos switches Cisco Nexus 9000 Series equipados com um Cisco Cloud Scale ASIC (Application-Specific Integrated Circuit) executando o software NX-OS. Este documento também descreve os sintomas de excesso de assinaturas de porta nessa plataforma, como contadores de interface de descarte de saída diferente de zero e syslogs indicando que os limites de buffer foram excedidos.

Prerequisites

Requirements

A Cisco recomenda que você compreenda os conceitos básicos de switching Ethernet em redes de meios compartilhados e a necessidade de enfileiramento/buffer nessas redes. A Cisco também recomenda que você compreenda os conceitos básicos de Qualidade de Serviço (QoS) e colocação em buffer nos switches Cisco Nexus. Para obter mais informações, consulte a documentação aqui:

- Guia de configuração da qualidade de serviço do NX-OS para Cisco Nexus 9000 Series, versão 10.1(x)

- Guia de configuração da qualidade de serviço do NX-OS para Cisco Nexus 9000 Series, versão 9.3(x)

- Guia de configuração da qualidade de serviço do NX-OS para Cisco Nexus 9000 Series, versão 9.2(x)

- Guia de configuração da qualidade de serviço do NX-OS para Cisco Nexus 9000 Series, versão 7.x

Componentes Utilizados

As informações neste documento são baseadas nos switches Cisco Nexus 9000 Series com o ASIC de escala de nuvem executando o software NX-OS versão 9.3(8).

O procedimento abordado neste documento é aplicável somente ao hardware mostrado aqui.

- Switches fixos Nexus 9200/9300

- N9K-C92160YC-X

- N9K-C92300YC

- N9K-C92304QC

- N9K-C92348GC-X

- N9K-C9236C

- N9K-C9272Q

- N9K-C9332C

- N9K-C9364C

- N9K-C93108TC-EX

- N9K-C93108TC-EX-24

- N9K-C93180LC-EX

- N9K-C93180YC-EX

- N9K-C93180YC-EX-24

- N9K-C93108TC-FX

- N9K-C93108TC-FX-24

- N9K-C93180YC-FX

- N9K-C93180YC-FX-24

- N9K-C9348GC-FXP

- N9K-C93240YC-FX2

- N9K-C93216TC-FX2

- N9K-C9336C-FX2

- N9K-C9336C-FX2-E

- N9K-C93360YC-FX2

- N9K-C93180YC-FX3

- N9K-C93108TC-FX3P

- N9K-C93180YC-FX3S

- N9K-C9316D-GX

- N9K-C93600CD-GX

- N9K-C9364C-GX

- N9K-C9364D-GX2A

- N9K-C9332D-GX2B

- Placas de linha do switch modular Nexus 9500

- N9K-X97160YC-EX

- N9K-X9732C-EX

- N9K-X9736C-EX

- N9K-X97284YC-FX

- N9K-X9732C-FX

- N9K-X9788TC-FX

- N9K-X9716D-GX

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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Compreenda a arquitetura de buffer ASIC em escala de nuvem do Cisco Nexus 9000

Os switches Cisco Nexus 9000 Series com o Cisco Cloud Scale ASIC implementam uma arquitetura de buffer de saída de "memória compartilhada". Um ASIC é dividido em uma ou mais "fatias". Cada fatia tem seu próprio buffer e somente as portas dentro dessa fatia podem usar esse buffer. Fisicamente, cada fatia é dividida em "células", que representam porções do buffer. As fatias são particionadas em "grupos de pools". Um determinado número de células é alocado para cada grupo de pool e não são compartilhadas entre grupos de pool separados. Cada grupo de pool tem um ou mais "pools", que representam uma classe de serviço (CoS) para tráfego unicast ou multicast. Isso ajuda cada grupo de pool a garantir recursos de buffer para os tipos de tráfego que o grupo de pool serve.

A imagem aqui demonstra visualmente como vários modelos do Cisco Cloud Scale ASIC são divididos em fatias. A imagem também demonstra como cada fatia recebe uma certa quantidade de buffer através das células.

Cada modelo do switch Nexus 9000 Series e da placa de linha Nexus 9500 tem um número diferente de ASICs Cisco Cloud Scale no interior, bem como um layout diferente que determina quais portas do painel frontal se conectam a qual ASIC. Dois exemplos usando a placa de linha N9K-X9736C-FX e o switch N9K-C9336C-FX2 são mostrados nas imagens aqui.

A placa de linha N9K-C9736C-FX tem 4 ASICs Cisco Cloud Scale LS1800FX com uma fatia por ASIC. Internamente, cada ASIC é chamado de "unidade". Cada fatia é chamada de "instância" e recebe um número inteiro de base zero que identifica exclusivamente essa fatia no chassi. Isso resulta nas permutações mostradas aqui:

- A unidade 0, fatia 0, é chamada de instância 0

- A unidade 1, fatia 0, é chamada de instância 1

- A unidade 2, fatia 0, é chamada de instância 2

- A unidade 3, fatia 0, é chamada de instância 3

O switch N9K-C9336C-FX2 tem um Cisco Cloud Scale LS3600FX2 ASIC com duas fatias por ASIC. Internamente, cada ASIC é chamado de "unidade". Cada fatia é chamada de "instância" e recebe um número inteiro de base zero que identifica exclusivamente essa fatia no chassi. Isso resulta nas permutações mostradas aqui:

- A unidade 0, fatia 0, é chamada de instância 0

- A unidade 0, fatia 1, é chamada de instância 1

Cada placa de linha e switch tem um layout diferente, resultando em números de ocorrência diferentes. Entender o layout da placa de linha ou do switch com o qual você está trabalhando é importante para que você projete sua rede em torno de fluxos de tráfego que exigem muita largura de banda. O comando show interface hardware-mappings pode ser usado para correlacionar cada porta do painel frontal a uma unidade (ASIC) e número de fatia. Um exemplo disso é mostrado aqui, onde a interface Ethernet2/16 de um switch Nexus 9504 com uma placa de linha N9K-X9736C-FX inserida no slot 2 do chassi é mapeada para a Unidade 1, Fatia 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

Entender o excesso de assinaturas e os descartes de saída

As interfaces conectadas a uma rede Ethernet só podem transmitir um único pacote por vez. Quando dois pacotes precisam sair de uma interface Ethernet ao mesmo tempo, a interface Ethernet começa a transmitir um pacote enquanto armazena o outro pacote em buffer. Quando o primeiro pacote terminar de transmitir, a interface Ethernet começará a transmitir o segundo pacote do buffer. Quando a soma total do tráfego que precisa sair de uma interface excede a largura de banda da interface, a interface é considerada como tendo excesso de assinaturas. Por exemplo, se um total de 15 Gbps de tráfego entrar instantaneamente no switch e precisar sair de uma interface de 10 Gbps, a interface de 10 Gbps terá excesso de assinaturas porque não poderá transmitir 15 Gbps de tráfego de cada vez.

Um switch Cisco Nexus 9000 Series com um ASIC de escala de nuvem lida com essa contenção de recursos armazenando o tráfego dentro dos buffers da fatia do ASIC associada à interface de saída. Se a soma total do tráfego que precisa sair de uma interface exceder a largura de banda da interface por um longo período, os buffers da fatia ASIC começarão a ser preenchidos com pacotes que precisam sair da interface.

Quando os buffers da fatia ASIC atingem 90% de utilização, o switch gera um syslog semelhante ao mostrado aqui:

%TAHUSD-SLOT2-4-BUFFER_THRESHOLD_EXCEEDED: Module 2 Instance 0 Pool-group buffer 90 percent threshold is exceeded!

Quando os buffers da fatia ASIC ficam completamente cheios, o switch descarta qualquer tráfego adicional que precise sair da interface até que o espaço nos buffers fique livre. Quando o switch descarta esse tráfego, ele incrementa o contador de Descartes de Saída na interface de saída.

O syslog gerado e o contador Output Discards diferente de zero são sintomas de uma interface com excesso de assinaturas. Cada sintoma é explorado em mais detalhes nas subseções aqui.

Compreendendo o Syslog BUFFER_THRESHOLD_EXCEEDED

Um exemplo do syslog BUFFER_THRESHOLD_EXCEEDED é mostrado aqui.

%TAHUSD-SLOTX-4-BUFFER_THRESHOLD_EXCEEDED: Module X Instance Y Pool-group buffer Z percent threshold is exceeded!

Esse syslog contém três informações principais:

1. Módulo X - O slot da placa de linha que contém a interface com excesso de assinaturas.

2. Instância Y - O número da instância atribuído ao ASIC e à tupla de fatia que contém a interface com excesso de assinaturas.

3. Pool-group buffer Z - O limite de buffer do grupo de pool afetado antes que o syslog seja gerado. Essa é uma porcentagem derivada pelas Células Usadas dividida pelo Total de Células conforme observado na saída de show hardware internal buffer info pkt-stats quando anexado ao Módulo X.

Entendendo o contador da interface de descartes de saída

O contador da interface Descartes de Saída indica o número de pacotes que foram descartados e que deveriam ter saído da interface, mas não puderam devido ao buffer da fatia ASIC estar cheio e não poder aceitar novos pacotes. O contador Output Discards é visível na saída dos erros show interface e show interface counters, como mostrado aqui.

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

Exemplo de cenário de excesso de assinaturas

Considere um cenário em que o tráfego entre dois geradores de tráfego IXIA atravesse um switch Nexus 9504 com duas placas de linha N9K-X9736C-FX inseridas nos slots 1 e 2 do chassi. 100 Gbps de tráfego entram no switch através da interface Ethernet1/1 de 100 Gbps e precisam sair da interface Ethernet2/2 de 40 Gbps. Portanto, a Ethernet2/2 tem excesso de assinaturas. Uma topologia desse cenário é mostrada aqui.

Como o ASIC de escala de nuvem do Nexus 9000 usa uma arquitetura de buffer de saída de memória compartilhada, você deve verificar o buffer da interface de saída Ethernet2/2 para ver o congestionamento. Neste exemplo, a placa de linha inserida no slot 2 é a placa de linha de saída, portanto você deve usar o comando attach module 2 antes de visualizar o buffer de hardware interno com o comando show hardware internal tah buffer counters. Observe o contador "Occupancy drops" diferente de zero para os pools de Grupo 0, Fatia 0 e grupos associados, que indicam o número de pacotes descartados porque o buffer do grupo está totalmente 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

Lembre-se de que cada unidade ASIC/tupla de fatia é representada por meio de uma única identificada chamada "instância". A saída do comando show hardware internal buffer info pkt-stats exibe informações detalhadas sobre o grupo de pool congestionado (abreviado como "PG") para cada instância. O comando também mostra o número histórico máximo/máximo de células no buffer que foram usadas. Finalmente, o comando mostra um instantâneo instantâneo dos identificadores de porta ASIC de escala de nuvem das portas com tráfego sendo colocado em buffer. Um exemplo desse comando é mostrado aqui.

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   |

Consulte também a variação de pico do comando. Use esse comando para associar o syslog a um pico potencial em um grupo de pool, pool ou porta específico

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

O comando show interface hardware-mappings pode ser usado para converter o identificador de porta ASIC Cloud Scale em uma porta de painel frontal. No exemplo acima mencionado, a porta 12 do ASIC (representada pela coluna HPort na saída de show interface hardware-mappings) associada à Unidade 0 do ASIC na Fatia/Instância 0 tem 59.988 células ocupadas de 416 bytes cada. Um exemplo do comando show interface hardware-mappings é mostrado aqui, que mapeia essa interface para a porta Ethernet2/2 do painel 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 HPort FPort 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 ainda mais o excesso de assinaturas da interface Ethernet2/2 com quedas de enfileiramento QoS com o comando show queuing interface. Um exemplo disso é mostrado aqui.

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, você pode verificar se a interface Ethernet2/2 de saída tem um contador de descarte de saída diferente de zero com o comando show interface. Um exemplo disso é mostrado aqui.

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

Próximas etapas

Se você observar descartes de saída em um switch Nexus 9000 Series com um ASIC de escala de nuvem, poderá resolver o problema usando um ou mais dos seguintes métodos:

- Se a interface com descartes de saída for uma única interface e não estiver agrupada em um canal de porta, a atualização da largura de banda da interface poderá ajudar a aliviar o congestionamento. Por exemplo, se uma interface de saída congestionada for uma interface de 10 Gbps, a atualização para uma interface de 25 Gbps, 40 Gbps ou 100 Gbps poderá ajudar a resolver o problema.

- Dependendo do formato do transceptor da interface de saída, isso pode ser feito atualizando o transceptor (como migrar de um SFP+ de 10 Gbps inserido em um CVR-QSFP-SFP10G dentro de uma porta QSFP para um transceptor QSFP de 40 Gbps nativo).

- Isso também pode ser feito migrando a configuração da interface de saída congestionada de uma porta de 10 Gbps para uma porta de 25 Gbps, 40 Gbps ou 100 Gbps.

- Se a interface com descartes de saída for uma única interface e não estiver agrupada em um canal de porta, a configuração da interface congestionada para ser um membro de um canal de porta ao lado de outra interface da mesma largura de banda poderá aliviar o congestionamento.

- Se a interface com descartes de saída for uma interface de canal de porta, adicionar membros adicionais ao canal de porta pode aumentar a largura de banda geral do canal de porta e melhorar o hash com balanceamento de carga para vários fluxos de tráfego grandes.

- Valide se o tráfego congestionado flui entre hosts na rede e envolve interfaces que diminuem de velocidade (por exemplo, o tráfego que entra em um switch através de uma interface de 40 Gbps e sai de um switch através de uma interface de 10 Gbps). Isso pode ser um gargalo que causa congestionamento na rede. Eliminar esse gargalo atualizando a interface de velocidade mais baixa (por exemplo, 10 Gbps) para uma interface de velocidade mais alta (por exemplo, 25 Gbps, 40 Gbps e assim por diante) pode aliviar o congestionamento da rede.

- Se aumentar a largura de banda disponível na interface de saída congestionada não for uma opção, valide a QoS de ponta a ponta e aplique as ações de enfileiramento apropriadas para sua rede.

- Se microrajadas forem uma causa potencial de congestionamento intermitente, consulte a seção Monitoramento de microrajadas deste documento para obter informações sobre como configurar o monitoramento de microrajadas.

Additional Information

Esta seção do documento contém informações adicionais sobre as próximas etapas a serem seguidas ao encontrar o syslog BUFFER_THRESHOLD_EXCEEDED, cenários de congestionamento/excesso de assinaturas da rede e ao incrementar os contadores da interface de descarte de saída.

Opções de Configuração do Syslog BUFFER_THRESHOLD_EXCEEDED

Você pode modificar o intervalo de sondagem de status do buffer do sistema, que controla a frequência com que o sistema sonda a utilização atual de buffers de fatia ASIC. Isso é feito com o comando de configuração global hardware profile buffer info poll-interval. O valor de configuração padrão é 5.000 milissegundos. Essa configuração pode ser modificada globalmente ou por módulo. Um exemplo desse comando de configuração é mostrado aqui, onde ele é modificado para um valor de 1.000 milissegundos.

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#

Você pode modificar o valor do limite de uso do buffer de saída da porta, que controla quando o sistema gera o syslog BUFFER_THRESHOLD_EXCEEDED, indicando que a utilização do buffer de fatia do ASIC excedeu o limite configurado. Isso é feito com o comando de configuração global hardware profile buffer info port-threshold. O valor de configuração padrão é 90%. Essa configuração pode ser modificada globalmente ou por módulo. Um exemplo desse comando de configuração é mostrado aqui, onde ele é modificado para um valor 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#

Você pode modificar o intervalo mínimo entre os syslogs BUFFER_THRESHOLD_EXCEEDED gerados pelo switch. Você também pode desativar o syslog BUFFER_THRESHOLD_EXCEEDED. Isso é feito com o comando de configuração global hardware profile buffer info syslog-interval timer. O valor de configuração padrão é 120 segundos. O syslog pode ser totalmente desativado definindo-se o valor para 0 segundos. Um exemplo desse comando de configuração é mostrado aqui, onde o syslog é totalmente desativado.

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#

Registros a serem coletados para cenários de congestionamento de rede

Você pode coletar os logs mostrados aqui de um switch afetado por um cenário de congestionamento de rede para identificar uma interface de saída congestionada, além dos comandos listados neste documento.

1. A saída do comando show tech-support details.

2. A saída do comando show tech-support usd-all.

3. A saída do comando show tech-support ipqos all.

4. Ao trabalhar com um switch Nexus 9500 Series com placas de linha Cisco Cloud Scale inseridas, a saída do comando show system internal interface counters peak module {x}, onde {x} é o número de slot do módulo que hospeda a interface de saída congestionada.

Monitoramento de microrajadas

Se o congestionamento ou o excesso de assinaturas ocorrerem em intervalos muito curtos (uma microintermitência), serão necessárias informações adicionais para obter uma descrição precisa de como o excesso de assinaturas está afetando o switch.

Os switches Cisco Nexus 9000 Series equipados com o Cisco Cloud Scale ASIC podem monitorar o tráfego em busca de microintermitências que podem causar congestionamento temporário da rede e perda de tráfego no seu ambiente. Para obter mais informações sobre microintermitências e como configurar esse recurso, consulte os documentos mostrados aqui:

- Capítulo "Monitoramento de microburst" do Guia de configuração da qualidade de serviço do NX-OS do Cisco Nexus 9000 Series, versão 10.1(x)

- Capítulo "Monitoramento de microburst" do Guia de configuração da qualidade de serviço do NX-OS do Cisco Nexus 9000 Series, versão 9.3(x)

- Capítulo "Monitoramento de microburst" do Guia de configuração da qualidade de serviço do NX-OS do Cisco Nexus 9000 Series, versão 9.2(x)

- Capítulo "MicroBurst Monitoring" do Guia de configuração da qualidade de serviço do NX-OS do Cisco Nexus 9000 Series, versão 7.x