简介
本文档介绍如何对可连接到Nexus 5000或6000系列交换机的交换矩阵扩展器(FEX)的性能进行故障排除。
注意:本文档中引入的任何命令都不具有破坏性。 您必须将Nexus 2000交换机连接到5000或6000系列交换机。
背景信息
导航CLI
连接到FEX
连接到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
要退出fex,请使用命令exit:
fex# exit
术语
主机接口(HI)
Hi是FEX上面对服务器的端口。这些端口通常称为前端口。FEX上的每个前端端口都有HI编号。此编号通常与端口号不同,但用于排除指代端口的命令故障。每个基本设置前端口的表格不同。
网络接口(NI)
NI是FEX上连接回父交换机的FEX控制端口。这些也称为网络上行链路。这些NI编号也取决于模型。
FEX交换矩阵端口
这些端口是到FEX的唯一链路的父交换机端。这些端口配置有switchport mode fex-fabric和fex association命令。
FEX ASIC名称
每个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机箱型号。
N2K-C2148T-1GE
在本示例中,已为前端口26(机箱ID/1/26)分配rmon 3 HI 0:
switch# attach fex chassis_id
fex-[chassis]-id# show platform software redwood sts

N2K-C2224TP-1GE/N2K-C2248TP-1GE
在本例中,前端口10(135/1/10)已分配HI 9:
switch# attach fex chassis_id
fex-[chassis_id]# dbgexec portola
prt>fp
N2K-C2232PP-10GE/N2K-C2232TM-10GE
在本例中,前端口20(135/1/20)已分配HI 19:
switch# attach fex chassis_id
fex-[chassis_id]# show platform software woodside sts

N2K-C2248TP-E-1G

N2K-C2248PQ-10GE和N2K-C2348UPQ-10GE
在本例中,HI28映射到前端口29:

检验SFP
此命令显示端口的小型可插拔(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端的接口计数器。
查看HI端口计数器
此命令显示端口计数器验证,类似于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。有关详细信息,请参阅前端口映射部分。
查看NI端口计数器
此命令将显示与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 |
共享HI缓冲区
大多数型号的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 FEX负载均衡增强
Nexus 6000还有一个附加选项,可将负载均衡算法从HIF更改为NIF。默认情况下,即使数据包到达不同的HIF端口,它们仍可能排入同一NIF的队列。启用上行链路负载平衡模式后,它们将分布在多个NIF上,并允许更甚地使用NIF出口缓冲区。
6k(config)#硬件N2248PQ上行链路负载均衡模式