交换机 : Cisco Nexus 3500 ?????

连结3500输出丢弃和缓冲区QoS

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 23 日) | 反馈

简介

本文描述用于的命令为了排除故障在连结3500平台和输出缓冲丢弃的流量类型(OB)此流量丢弃。

贡献用克拉克戴森,思科高级服务和Yogesh Ramdoss, Cisco TAC工程师。

方法

  1. 检查输出丢弃

  2. 确定丢包是否是单播或组播

  3. 确定使用哪个输出缓冲

  4. 检查活动缓冲区监听

检查输出丢弃

检查物理接口统计信息为了确定流量是否在输出方向丢弃。是否确定在TX方向增量的“输出丢弃”计数器并且/或者是非零。

Nexus3548# show interfce Eth1/7
Ethernet1/7 is up
 Dedicated Interface
  Hardware: 100/1000/10000 Ethernet, address: a44c.116a.913c (bia a44c.116a.91ee)
  Description: Unicast Only
  Internet Address is 1.2.1.13/30
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec
  reliability 255/255, txload 35/255, rxload 1/255
  Encapsulation ARPA
  full-duplex, 1000 Mb/s, media type is 1G
  Beacon is turned off
  Input flow-control is off, output flow-control is off
  Rate mode is dedicated
  Switchport monitor is off
  EtherType is 0x8100
  Last link flapped 00:03:48
  Last clearing of "show interface" counters 00:03:55
  1 interface resets
  30 seconds input rate 200 bits/sec, 0 packets/sec
  30 seconds output rate 0 bits/sec, 0 packets/sec
  Load-Interval #2: 5 minute (300 seconds)
    input rate 40 bps, 0 pps; output rate 139.46 Mbps, 136.16 Kpps
  RX
    1 unicast packets  118 multicast packets  0 broadcast packets
    119 input packets  9830 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
    23605277 unicast packets  0 multicast packets  0 broadcast packets
    23605277 output packets  3038908385 bytes
    0 jumbo packets
    0 output errors  0 collision  0 deferred  0 late collision
    0 lost carrier  0 no carrier  0 babble 11712542 output discard
    0 Tx pause 

确定丢包是否是单播或组播

一旦确定接口降低流量,请输入显示排队接口<x/y>命令为了发现,如果降低的流量是组播或单播。在版本中早于6.0(2)A3(1),输出看起来象:

Nexus3548# show queuing interface Eth1/7
Ethernet1/7 queuing information:
  TX Queuing
    qos-group  sched-type  oper-bandwidth
        0       WRR            100

  RX Queuing
    Multicast statistics:
        Mcast pkts dropped                      : 0
    Unicast statistics:
    qos-group 0
    HW MTU: 1500 (1500 configured)
    drop-type: drop, xon: 0, xoff: 0
    Statistics:
        Ucast pkts dropped                      : 11712542

在版本6.0(2)A3(1)中及以后,输出看起来:

Nexus3548# show queuing interface Eth1/7
Ethernet1/7 queuing information:
    qos-group  sched-type  oper-bandwidth
        0       WRR            100
    Multicast statistics:
        Mcast pkts dropped                      : 0
    Unicast statistics:
    qos-group 0
    HW MTU: 1500 (1500 configured)
    drop-type: drop, xon: 0, xoff: 0
    Statistics:      
Ucast pkts dropped                      : 11712542

注意:如果组播慢接收方为端口配置,请参阅组播慢接收方关于功能信息。丢包没有跟踪由“显示排队接口Eth<x/y>”由于硬件限制。请参阅Cisco Bug ID CSCuj21006

确定使用哪个输出缓冲

在连结3500,有用于输出方向的三个缓冲池。show hardware内部mtc USD信息波尔特mappping命令的输出提供映射信息。

Nexus3548# show hardware internal mtc-usd info port-mappping
OB Ports to Front Ports:
========= OB0 =========    ========= OB1 =========    ========= OB2 =========
45 47 21 23 09 11 33 35    17 19 05 07 41 43 29 31    13 15 37 39 25 27 01 03
46 48 22 24 10 12 34 36    18 20 06 08 42 44 30 32    14 16 38 40 26 28 02 04

Front Ports to OB Ports:
=OB2= =OB1= =OB0= =OB2=    =OB1= =OB0= =OB2= =OB1=    =OB0= =OB2= =OB1= =OB0=
12 14 04 06 08 10 00 02    00 02 04 06 08 10 12 14    12 14 04 06 08 10 00 02
13 15 05 07 09 11 01 03    01 03 05 07 09 11 13 15    13 15 05 07 09 11 01 03

结果的第一部分指示OB pool0由前面端口使用例如45, 46, 47, 48,等等,并且前面端口使用OB1 17, 18,等等。

结果的第二部分表明Eth1/1被映射到OB2端口12, Eth1/2被映射到OB2端口13,等等。

讨论的端口, Eth1/7,被映射对OB1。

欲知详情请参阅在本文的缓冲管理部分。

检查活动缓冲区监听

欲知关于此功能的详情,请参阅思科连结3548活动缓冲区监听whitepaper和ABM部分在本文。

计数器积极地增加

如果输出丢弃积极地增加,请启用活动缓冲区监听(ABM)用此命令。注意命令允许您监控单播或组播,但是不是两个。并且,它让您配置采样间隔和阈值。

hardware profile buffer monitor [unicast|multicast] {[sampling <interval>] |
[threshold <Kbytes>]}

简要输出

一旦ABM启用,您能查看结果用此命令。

Nexus3500# show hardware profile buffer monitor interface e1/7 brief
Brief CLI issued at: 09/30/2013 19:43:50

                     Maximum buffer utilization detected
                   1sec     5sec    60sec     5min      1hr
                  ------   ------   ------   ------   ------
Ethernet1/7       5376KB   5376KB   5376KB      N/A      N/A

这些结果表明为过去60秒离开Eth1/7的单播流量使用了在OB1缓冲区的6 MB的外面5.376 MB。

详细的输出

Nexus3500# show hardware profile buffer monitor interface Eth1/7 detail
Detail CLI issued at: 09/30/2013 19:47:01

Legend -
384KB  - between   1 and 384KB of shared buffer consumed by port
768KB  - between 385 and 768KB of shared buffer consumed by port
307us  - estimated max time to drain the buffer at 10Gbps

Active Buffer Monitoring for Ethernet1/7 is: Active
KBytes                 384  768 1152 1536 1920 2304 2688 3072 3456 3840 4224 4608 4992 5376 5760 6144
us @ 10Gbps            307  614  921 1228 1535 1842 2149 2456 2763 3070 3377 3684 3991 4298 4605 4912
                      ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
09/30/2013 19:47:01      0    0    0    0    0    0    0    0    0    0    0    0    0  250    0    0
09/30/2013 19:47:00      0    0    0    0    0    0    0    0    0    0    0    0    0  252    0    0
09/30/2013 19:46:59      0    0    0    0    0    0    0    0    0    0    0    0    0  253    0    0
09/30/2013 19:46:58      0    0    0    0    0    0    0    0    0    0    0    0    0  250    0    0
09/30/2013 19:46:57      0    0    0    0    0    0    0    0    0    0    0    0    0  250    0    0
09/30/2013 19:46:56      0    0    0    0    0    0    0    0    0    0    0    0    0  250    0    0
09/30/2013 19:46:55      0    0    0    0    0    0    0    0    0    0    0    0    0  251    0    0
09/30/2013 19:46:54      0    0    0    0    0    0    0    0    0    0    0    0    0  251    0    0
09/30/2013 19:46:53      0    0    0    0    0    0    0    0    0    0    0    0    0  250    0    0
09/30/2013 19:46:52      0    0    0    0    0    0    0    0    0    0    0    0    0  253    0    0
09/30/2013 19:46:51      0    0    0    0    0    0    0    0    0    0    0    0    0  249    0    0
...

在每行的信息被记录在秒的粒。每列代表缓冲用量。按照命令所述发生,如果有为列报告的非零值意味着的"384"缓冲用量在0-384 KB之间,当ABM轮询了OB使用情况。非零编号是使用情况报告的次数。

这些结果表明OB1的每秒钟平均为使用情况5.376 MB在249 - 253时间之间的在Eth1/7的最后10秒内。需要4298微秒(我们)为了清楚缓冲区此流量。

当阈值被超过时,请生成日志

如果丢弃计数器和缓冲用量周期地增加,则设置阈值和生成日志消息是可能的,当阈值被超过时。

logging level mtc-usd 5
hardware profile buffer monitor unicast sampling 10 threshold 4608

命令设置监控单播流量在一个10纳秒间隔,并且,当在75%缓冲区上时去它生成日志。

您能也创建调度器为了收集输出的ABM统计信息和接口计数器每个小时和添附它到Bootflash文件。此示例是为组播数据流:

hardware profile buffer monitor multicast

feature scheduler
scheduler job name ABM
show hardware profile buffer monitor detail >> ABMDetail.txt
show clock >> ABMBrief.txt
show hardware profile buffer monitor brief >> ABMBrief.txt
show clock >> InterfaceCounters.txt
show interface counters errors >> InterfaceCounters.txt
scheduler schedule name ABM
time start now repeat 1:0
job name ABM

值得注意的Cisco Bug ID

  • Cisco Bug ID CSCum21350 :迅速端口振荡的同样QoS缓冲区引起所有端口降低所有TX组播/广播数据流。这在6.0(2)A1(1d)修复及以后。
  • Cisco Bug ID CSCuq96923 :组播缓冲区块卡住,导致出口组播/广播的丢包。此问题在调查中。

常见问题

ABM是否影响性能或延迟?

不,此功能不影响设备的延迟或性能。

什么是更低ABM硬件轮询间隔的影响?

默认情况下,硬件轮询间隔是4毫秒。您能配置此值低到10纳秒。没有性能或延迟影响由于更低硬件轮询间隔。4毫秒默认硬件?选择为了确保您不在软件前溢出直方图计数器轮询每1秒。如果降低硬件轮询间隔那么也许饱和硬件计数器在255示例。设备比1秒不能处理软件?更低,为了匹配更低硬件轮询由于CPU和内存限制。whitepaper有更低硬件轮询间隔和其用例的示例。

附录:功能信息

缓冲管理

  • 3 OB块共享的18 MB数据包缓冲:
    • ~4保留的MB :根据已配置的最大传输单元(MTU)的大小(每个2个x MTU大小x的端口总和#已启用QoS组)
    • ~14共享的MB :总缓冲剩余
    • OB ~767 KB :0 CPU注定的数据包的
  • 每个OB的6 MB由一套16个端口共享(show hardware内部mtc USD信息端口映射命令)。

安排

三层日程安排:

  • 单播和组播
  • 同一个调度机制的数据流类别
  • 在方案间的数据流类别

组播慢接收方

在本图中:

  • 持续的拥塞在1个G Eth1/40介绍。
  • 其他组播接收器(Eth1/1 - 3)在缓冲区块被影响的归结于组播日程安排行为。 在其他缓冲区块的接收方保持未受影响。
  • “组播慢接收方”可以应用到e1/40为了避免在非拥塞的端口的数据流损失。
  • “组播慢接收方”排泄组播以在Eth1/40的一10 G速率。丢包在拥塞端口仍然预计发生。
  • 配置用<x>命令硬件配置文件组播慢接收方的端口

活动缓冲区监听

请参阅思科连结3548活动缓冲区监听whitepaper关于功能概述。

硬件实现

  • ASIC有18个桶,并且每个桶对应于范围缓冲区利用率(例如, 0-384KB, 385-768KB,等等)。
  • ASIC轮询所有端口的缓冲区利用率每4毫秒(默认)。 此ASIC轮询间隔可配置一样低象10纳秒。
  • 基于每个硬件轮询间隔的缓冲区利用率,对应的范围的桶计数器被增加。 即,如果端口25消耗缓冲区500 KB,桶#2 (385-768KB)计数器被增加。
  • 此缓冲区利用率计数器为在直方图格式的每个接口维护。
  • 每个桶用8个位代表,因此计数器竭尽全力在255,并且重置,一旦软件读数据。

软件实现

  • 每1秒,软件轮询ASIC为了下载和清除所有直方图计数器。
  • 这些直方图计数器在内存维护与1秒粒度的60分钟。
  • 软件也确保它复制缓冲区直方图对Bootflash每个小时,可以复制到进一步分析的分析器。
  • 有效地,这维护2个小时价值所有端口的缓冲区直方图数据,在内存的最新的1个小时和在Bootflash的第二个小时。

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


Document ID: 118904