目录

简介

背景信息

导航CLI

连接到FEX

进入调试执行模式

退出调试执行模式

退出FEX

术语

主机接口(HI)

网络接口(NI)

FEX交换矩阵端口

FEX ASIC名称

前端口映射

N2K-C2148T-1GE

N2K-C2224TP-1GE/N2K-C2248TP-1GE

N2K-C2232PP-10GE/N2K-C2232TM-10GE

N2K-C2248TP-E-1G

N2K-C2248PQ-10GE和N2K-C2348UPQ-10GE

检验SFP

查找丢失

查看HI端口计数器

查看NI端口计数器

查看历史丢包

查看最近的丢包和中断

实时查看端口流量速率

减少损失

重新定位服务器

添加其他上行链路

共享HI缓冲区

Nexus 6000 FEX负载均衡增强

简介

本文档介绍如何对可连接到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上行链路负载均衡模式