此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍如何对可连接到Nexus 5000或6000系列交换机的交换矩阵扩展器(FEX)的性能进行故障排除。
注意:本文档中引入的任何命令都不具有破坏性。 您必须将Nexus 2000交换机连接到5000或6000系列交换机。
连接到FEX,在FEX命令行上运行show命令:
Nexus# attach fex FEX
fex>
进入FEX的调试模式以运行高级命令并指定FEX ASIC名称。有关FEX ASIC名称,请参阅表1。。
fex# dbgexec [prt/woo/red/pri]
要退出调试执行模式,请使用CTRL+C键盘序列:
fex> [CTRL+C]
要退出fex,请使用命令exit:
fex# exit
Hi是FEX上面对服务器的端口。这些端口通常称为前端口。FEX上的每个前端端口都有HI编号。此编号通常与端口号不同,但用于排除指代端口的命令故障。每个基本设置前端口的表格不同。
NI是FEX上连接回父交换机的FEX控制端口。这些也称为网络上行链路。这些NI编号也取决于模型。
这些端口是到FEX的唯一链路的父交换机端。这些端口配置有switchport mode fex-fabric和fex association命令。
每个FEX都使用不同的ASIC设计。ASIC名称的缩写在调试模式下用于运行命令。
FEX的大多数型号都有一个ASIC,但2148有6个,每个都有8个前端端口。这些命令在故障排除命令中称为rmon。
列出ASIC名称和相关的恢复供参考:
表 1.
FEX型号 | ASIC名称 | 放弃 |
N2K-C2148T-1GE | 红木 | rw |
N2K-C2224TP-1GE N2K-C2248TP-1GE |
波托拉 | 端口 |
N2K-C2232PP-10GE N2K-C2232TM-10GE |
伍德赛 | 吴 |
N2K-C2248TP-E-1GE | 普林斯顿 | pri |
B22 | 伍德赛 | 吴 |
N2K-C2232TM-E-10GE | 伍德赛 | 吴 |
N2K-C2248PQ-10GE | 伍德赛德/贝尔蒙 | 吴 |
N2K-C2348UPQ-10GE | 蒂布龙 | tib |
要交换接口计数器输出,可能需要将前端端口号转换为HI号。转换取决于FEX机箱型号。
在本示例中,已为前端口26(机箱ID/1/26)分配rmon 3 HI 0:
switch# attach fex chassis_id
fex-[chassis]-id# show platform software redwood sts
在本例中,前端口10(135/1/10)已分配HI 9:
switch# attach fex chassis_id
fex-[chassis_id]# dbgexec portola
prt>fp
在本例中,前端口20(135/1/20)已分配HI 19:
switch# attach fex chassis_id
fex-[chassis_id]# show platform software woodside sts
在本例中,HI28映射到前端口29:
此命令显示端口的小型可插拔(SFP)信息。
fex# show platform software woodside sfp rmon 0 HI5
在本例中,您看到HI5中的SFP是由CISCO-AVAGO制造的10G-Base-SR(LC):
注意: 如果在使用铜缆端口的FEX上运行此命令,则会注意到命令错误。这是预期的,因为没有要查询的SFP。当该端口为光纤时,提示符将返回到未找到SFP,但当前不包含SFP。
在FEX提示符下为HI和NI端口运行Show命令,以便查看FEX交换矩阵端口链路FEX端的接口计数器。
此命令显示端口计数器验证,类似于show int:
fex-128# show platform software woodside rmon 0 HI0 +----------------------+----------------------+-----------------+--------------------------+----------------------+-----------------+ | TX | Current | Diff | RX | Current | Diff | +----------------------+----------------------+-----------------+--------------------------+----------------------+-----------------+ | TX_PKT_LT64 | 0| 0| RX_PKT_LT64 | 0| 0| | TX_PKT_64 | 0| 0| RX_PKT_64 | 0| 0| | TX_PKT_65 | 0| 0| RX_PKT_65 | 0| 0| | TX_PKT_128 | 0| 0| RX_PKT_128 | 0| 0| | TX_PKT_256 | 0| 0| RX_PKT_256 | 0| 0|
注意:rmon 0仅在FEX具有一个主机ASIC时使用。2224、2248和2232型号只有一个基本设备。2148型号有6个星型,因此将使用rmon 0到5。有关详细信息,请参阅前端口映射部分。
此命令将显示与show int类似的网络上行链路的端口计数器。此命令显示链路的FEX端。此命令不会显示链路的父交换机端。
fex-128# show platform software woodside rmon 0 NI0 +----------------------+----------------------+-----------------+--------------------------+----------------------+-----------------+ | TX | Current | Diff | RX | Current | Diff | +----------------------+----------------------+-----------------+--------------------------+----------------------+-----------------+ | TX_PKT_LT64 | 0| 0| RX_PKT_LT64 | 0| 0| | TX_PKT_64 | 0| 0| RX_PKT_64 | 0| 0| | TX_PKT_65 | 0| 0| RX_PKT_65 | 0| 0| | TX_PKT_128 | 0| 0| RX_PKT_128 | 0| 0| | TX_PKT_256 | 0| 0| RX_PKT_256 | 0| 0|
使用drops命令可以查看历史丢包。这显示FEX上自打开以来的所有丢包。
此命令还显示您丢弃到FEX CPU,该CPU不表示使用DROP8计数器的数据流量丢弃。这些都可以被安全地忽略。
注:尾部丢弃[8]和TAIL_DROP8表示FEX CPU的尾部丢弃,与排除性能故障无关,因为这种情况在正常情况下发生。
prt> drops
PRT_SS_CNT_TAIL_DROP1 : 3 SS0
PRT_SS_CNT_TAIL_DROP1 : 6 SS1
PRT_SS_CNT_TAIL_DROP1 : 1 SS2
PRT_SS_CNT_TAIL_DROP1 : 25 SS3
PRT_SS_CNT_TAIL_DROP1 : 2 SS5
PRT_SS_CNT_TAIL_DROP8 : 142 SS0
PRT_SS_CNT_TAIL_DROP8 : 73 SS1
PRT_SS_CNT_TAIL_DROP8 : 11 SS2
PRT_SS_CNT_TAIL_DROP8 : 62048 SS3
PRT_SS_CNT_TAIL_DROP8 : 4613 SS4
PRT_SS_CNT_TAIL_DROP8 : 552 SS5
发送到CPU的中断包括尾部丢弃,这些尾部丢弃由于拥塞和缺少缓冲空间而丢弃。可使用show new_ints命令查看:
注意:6.0及更高版本的代码使用show new_ints all
此示例显示SS1缓冲区中的帧尾丢弃:
prt> show new_ints
|-----------------------------------------------|
| SS1 : ssx_int_norm_td
|--+---------+----------------------------------+
| 1 | 00001c98 | tail drop[1] | frames are being tail dropped.
| 2 | 00005cac | tail drop[2] | frames are being tail dropped.
| 8 | 0000012e | tail drop[8] | frames are being tail dropped.
此示例显示NI 3收到符号错误:
| NI3 : nix_xe_INT_xg
|--+---------+----------------------------------+
|2 |00000005 | rx_local_fault | Link is in local fault state
|3 |00000007 | rx_remote_fault | Link is in remote fault state
|4 |00000004 | rx_code_violation | MAC received unexpected XGMII control characters.
|5 |00000004 | rx_err_symbol | MAC received an XGMII error character.
|16|00000001 | rx_local_fault_edge | Local fault state has changed.
|17|00000001 | rx_remote_fault_edge | Remote fault state has changed.
|-----------------------------------------------|
此示例显示FEX尾部丢弃入口NI3的帧:
| SS4 : ssx_int_err
|--+---------+----------------------------------+
|0 |00031aa9 | wo_cr[0] | frames rcvd without credit for pausable classes. Pause is missing.
|1 |00014e21 | wo_cr[1] | frames rcvd without credit for pausable classes. Pause is missing.
|2 |00018a9f | wo_cr[2] | frames rcvd without credit for pausable classes. Pause is missing.
|3 |00025efb | wo_cr[3] | frames rcvd without credit for pausable classes. Pause is missing.
|-----------------------------------------------|
rate命令输出端口的实时流量速率统计信息。与show int不是平均值,它的原始当前数据速率是秒。在本例中,NI 3当前在网络到主机方向接收2.96kbps。相应父Nexus交换机上的show int显示,在连接到NI 3的FEX交换矩阵上行链路上,TX方向为2.96Kbps。
尾部丢弃由缓冲区耗尽引起。通常,当多个服务器同时突发到HIF时,缓冲区会耗尽,或者主机出口缓冲区无法足够快地清空其出站流量以补充NIF上的信用。
有多种选项可用于减轻这种损失。
将任何具有突发流量(如存储阵列和视频终端)的服务器从FEX中移出,并直接将其连接到父交换机的基本端口。这将防止突发服务器耗尽缓冲区,并切断来自较不繁忙主机的流量。
Nexus 5000和6000系列交换机的缓冲区比FEX型号大,可将突发服务器连接到基本端口可减少损失,因为基本端口缓冲区能够处理大得多的突发。
当从FEX到父交换机的更多上行链路被添加时,某些型号的FEX可以释放额外的缓冲空间。这可能会停止网络上行链路上的丢包。
表 2.
型号 | 添加上行链路时缓冲区增加 |
2148 | none |
2224 | 缓冲区增加多达2个上行链路 |
2248TP | 缓冲区增加多达4个上行链路 |
2232 | 缓冲区增加多达4个上行链路 |
2248TP-E | none |
2248PQ | none |
大多数型号的FEX都可以通过跨所有主机端口共享HI缓冲区而受益。如果在HI上看到丢包,共享缓冲区可能会缓解这些丢包。
全局修改FEX队列限制:
5k(config)# no fex queue-limit(全局适用于该5k上的所有fex)
修改单个FEX的FEX队列限制:
FEX队列
5k(config)# fex 100
5k(config-fex)#无硬件[型号] queue-limit
Nexus 6000还有一个附加选项,可将负载均衡算法从HIF更改为NIF。默认情况下,即使数据包到达不同的HIF端口,它们仍可能排入同一NIF的队列。启用上行链路负载平衡模式后,它们将分布在多个NIF上,并允许更甚地使用NIF出口缓冲区。
6k(config)#硬件N2248PQ上行链路负载均衡模式