目录

简介

交换矩阵CRC检测概述

了解不同的交换矩阵CRC错误

交换矩阵CRC故障排除方法

一般CRC故障排除指南

案例分析

入口模块损坏数据包

日志

问题

问题的可能原因

故障组件隔离过程

XBAR插入损坏的数据包

日志

问题

问题的可能原因

故障组件隔离过程

出口模块故障会损坏来自交换矩阵的数据包

日志

问题

问题的可能原因

故障组件隔离过程

故障排除命令

简介

本文档介绍如何解决Cisco Nexus 7000平台中报告的交换矩阵错误。交换矩阵循环冗余校验和(CRC)的故障排除涉及数据收集、数据分析和消除过程，以隔离问题组件。本文档介绍最常见的交换矩阵CRC错误类型。

交换矩阵CRC检测概述

以下是带M1线卡的Nexus 7018交换矩阵模块的高级图：

上图概述了数据包通过交换矩阵模块时涉及的组件。第1阶段(S1)、第2阶段(S2)和第3阶段(S3)是Nexus 7000交换矩阵的三个阶段，Octopus是队列引擎，Santa Cruz(SC)是交换矩阵ASIC，实例1和实例2是XBAR上的两个SC实例。本文档仅考虑一个XBAR。请记住，大多数Nexus 7000系列交换机都安装了三个或更多XBAR。

假设存在从模块1(M1)到模块2(M2)的单向流，M1上的入口Octopus-1对其从南部接收的数据包执行错误检查，而M2上的出口Octopus-1从北部执行错误检查。如果在S3中检测到CRC，则S1或S2中可能也出现了问题，因为在这些阶段中不执行CRC检查。因此，路径中涉及的设备是入口章鱼、机箱、纵横式交换矩阵和出口章鱼。

在M1/Fab1架构中，仅在出口线卡(S3)上检测CRC。

以下是错误消息示例：

%OC_USD-SLOT1-2-RF_CRC: OC1 received packets with

CRC error from MOD 15 through XBAR slot 1/inst 1

这由M1报告，表明它通过XBAR插槽1/实例1从模块15(M15)接收了CRC错误的数据包。

了解不同的交换矩阵CRC错误

本节介绍四种最常见的交换矩阵CRC错误类型。

- 单个源模块、接收模块和XBAR实例出现CRC错误：
%OC_USD-SLOT1-2-RF_CRC: OC1 received packets with

CRC error from MOD 15 through XBAR slot 1/inst 1
这意味着插槽1中的模块通过XBAR插槽1/实例1检测到来自M15的CRC错误。CRC错误产生的模块称为入口模块（本例中为M15），报告问题的模块是出口模块(M1)。XBAR 1是接收数据包的交叉条。每个XBAR有两个实例。在这种情况下，M1通过XBAR插槽1实例1检测到M15的CRC错误。

- 单个源模块、接收模块、但没有XBAR实例的CRC错误：
%OC_USD-SLOT4-2-RF_CRC: OC2 received packets with

CRC error from MOD 1
在此消息中，模块4(M4)报告了M1的CRC错误。请注意，XBAR信息缺失。系统无法确定数据包所经过的XBAR。原因有很多，但最常见的原因有：数据包交换矩阵报头中的信息可能已损坏，因此无法确定源模块；由于错误增加，所遍历的XBAR将从系统中删除。因此，每小时系统日志消息中未报告此消息。

- 无接收模块的CRC错误：
%OC_USD-2-RF_CRC: OC1 received packets with

CRC error from MOD 16 through XBAR slot 1/inst 1
在本例中，设备从模块16(M16)通过XBAR 1检测到CRC。但是，没有接收器模块。当管理引擎(SUP)检测到来自交换矩阵模块的CRC时，插槽信息不会记录。当您未看到插槽信息时，SUP检测到问题。这并不意味着SUP不良。正如模块报告问题时一样，也有多个组件可能导致了问题：M16、机箱（可能性不大）、XBAR 1或SUP。

- 多个可能的源模块出现CRC错误：
%OC_USD-SLOT6-2-RF_CRC: OC2 received packets with

CRC error from MOD 11 or 12 or 14 or 15 or 16 or 17 or 18
源模块从源错误数据包的入口Octopus中收集。引发中断以记录此错误消息的驱动程序并不总是知道错误数据包的来源是入口章鱼。这是因为不使用某些位来表示入口Octopus。如果系统确定多个模块已打开这些未使用的位，则系统必须假设其中任何一个可能是源，从而导致错误消息包含所有这些模块。系统发现，模块13(M13)由于未使用这些位，因此不能发生此冲突；因此，它不会记录为潜在来源。

交换矩阵CRC故障排除方法

新线卡(M2)和交换矩阵模块2(FAB2)检测S1、S2或S3中的CRC。当您详细调查并查找故障和日志消息中的模式时，它有助于隔离故障组件。

以下是一些需要问的问题：

- 该错误消息是一次性事件还是记录了多个CRC错误消息？

- 记录CRC错误消息的频率如何？（每小时，每天一次，每月一次？）

- CRC错误是否全部来自同一入口模块？

- CRC错误ALL是否报告在同一出口模块上？

- 来自多个入口模块的CRC错误是否报告在多个出口模块上？

- 如果多个模块报告CRC错误，是否有通用的源模块或XBAR模块？

通过回答这些问题，您可以从更可能加快解决速度的角度探讨故障排除过程。

一般CRC故障排除指南

本部分建立用于解决这些问题的通用框架。

1. 查找在交换矩阵CRC错误消息中报告的常见模块（包括XBAR）。

2. 找到常见模块后，选择最可能的问题原因，关闭（如果是XBAR），将其移到工作的已知插槽，在您进行监控时重新拔插并更换，以验证问题是否消失。一次关闭、重新拔插和更换一个模块。这使隔离故障部件更容易。

3. 关闭、移动、重新拔插或更换部件时，请查找问题症状的任何更改。从每个步骤中了解更多信息后，您可能必须修改行动计划。

4. 如果更换了多个部件，但问题仍然存在，则：

- 新部件可能不好。

- 多个XBAR可能不良。

- 可能是机箱插槽损坏的原因。

案例分析

本节提供如何排除类似问题的示例。

入口模块损坏数据包

日志

%OC_USD-SLOT1-2-RF_CRC: OC2 received packets with CRC error from MOD 7

%OC_USD-SLOT3-2-RF_CRC: OC2 received packets with CRC error from MOD 7

%OC_USD-SLOT1-2-RF_CRC: OC2 received packets with CRC error from MOD 7

%OC_USD-SLOT3-2-RF_CRC: OC2 received packets with CRC error from MOD 7

%OC_USD-SLOT1-2-RF_CRC: OC2 received packets with CRC error from MOD 7

%OC_USD-SLOT3-2-RF_CRC: OC2 received packets with CRC error from MOD 7

问题

几小时内，仅在来自模块7(M7)的M1和模块3(M3)上出现CRC错误。

问题的可能原因

存在损坏或安装错误的XBAR，它会损坏流向M7的数据包，或M7损坏或安装错误。

故障组件隔离过程

1. 在监控时逐个关闭XBAR，以验证问题是否已解决。

2. 在监控时重新拔插入口M7。

3. 在监控时更换M7。

如果您安装了三个XBAR，它将为您提供N+1冗余。因此，您可以一次关闭一个（在任何给定时间从不关闭多个），而且只会产生极小的影响，以便查看问题是否得到解决。输入以下命令以完成此过程：

N7K(config)# poweroff xbar 1

<monitor>

N7K(config)# no poweroff xbar 1

N7K(config)# poweroff xbar 2

<monitor>

N7K(config)# no poweroff xbar 2

N7K(config)# poweroff xbar 3

N7K(config)# no poweroff xbar 3

在此特定案例研究中，XBAR关闭时问题未解决。

由于有两个模块报告CRC错误，因此这两个模块（M1和M3）不太可能是原因。下一步是重新拔插M7（入口模块），因为它很可能是故障组件。安装不当的线卡可能导致此问题，建议在更换之前重新安装模块。

在本案例研究中，在重新拔插M7之后，交换矩阵模块上的CRC错误继续增加。此时（或此时之前）请与思科技术支持中心(TAC)联系以更换M7，因为重新拔插无法解决问题。

在本案例研究中，替换M7会停止交换矩阵CRC错误消息，并解决数据包丢失问题。

XBAR插入损坏的数据包

日志

%OC_USD-SLOT11-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

%OC_USD-SLOT12-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

%OC_USD-SLOT13-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

%OC_USD-SLOT15-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

%OC_USD-SLOT2-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

%OC_USD-SLOT4-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

%OC_USD-SLOT5-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

%OC_USD-SLOT6-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

%OC_USD-SLOT7-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

%OC_USD-SLOT8-2-RF_CRC: CRC error from MOD 12 through XBAR slot 3/inst 1

问题

多个模块报告通过XBAR 3的模块12(M12)中的CRC错误。

问题的可能原因

XBAR 3坏或安装错误，或M12安装错误或故障。

故障组件隔离过程

1. 在监控时关闭XBAR 3。

2. 在监控时重新拔插入口M12。

3. 在监控时更换M12。

在这种情况下，XBAR 3会按照前面介绍的过程关闭（在第一个案例研究中），并监控是否存在进一步错误。发现XBAR 3关闭后错误停止。此时，已重新拔插XBAR 3，并且要小心，以确保中板上没有针脚弯曲，且模块已正确插入。重新启用XBAR 3后，问题不再发生。此问题是由于XBAR模块安装不当所致。

出口模块故障会损坏来自交换矩阵的数据包

日志

%OC_USD-SLOT6-2-RF_CRC: OC1 received packets with CRC error from

MOD 1 or 2 or 7 or 13 or 17 through XBAR

slot 1/inst 1 and slot 2/inst 1 and slot 3/inst 1

%OC_USD-SLOT6-2-RF_CRC: OC2 received packets with CRC error from

MOD 1 or 2 or 3 or 7 or 15 or 17 through XBAR

slot 2/inst 1 and slot 3/inst 1

%OC_USD-SLOT6-2-RF_CRC: OC1 received packets with CRC error from

MOD 1 or 2 or 5 or 7 or 16 or 17 through XBAR

slot 1/inst 1 and slot 2/inst 1 and slot 3/inst 1

问题

模块6(M6)报告从多个线卡和XBAR接收的带有CRC错误的数据包。

问题的可能原因

M6安装不当或损坏。

故障组件隔离过程

1. 在显示器时重新拔插M6。

2. 在监控时更换M6。

M6是此问题最可能的原因，因为它是所有错误消息中的一个常见模块。在错误消息中列出的所有模块中，出现最一致的模块是M6。因此，请尝试重新拔插M6，以便在更换M6之前查看问题是否已解决。

在本例中，M6已重新拔插，但错误仍然存在。因此，您必须打开Cisco TAC案例，以更换M6。更换M6后，不报告错误。

故障排除命令

以下是用于排除故障/调试的命令列表：

- show clock

- show mod xbar

- show hardware fabric-utilization detail

- show hardware fabric-utilization detail timestamp

- show hardware internal xbar-driver all event-history errors

- show hardware internal xbar-driver all event-history msgs

- show system internal xbar-client internal event-history msgs

- show system internal xbar all

- show module internal event-history xbar 1

- show module internal activity xbar 1

- show module internal event-history xbar 2

- show module internal activity xbar 2

- show module internal event-history xbar 3

- show module internal activity xbar 3

- show module internal event-history xbar 4

- show module internal activity xbar 4

- show module internal event-history xbar 5

- show module internal activity xbar 5

- show logging onboard internal xbar

- show logging oninter actopus

- show tech detail