简介
本文档将介绍如何对 Cisco 12000 系列 Internet 路由器上的板卡崩溃进行故障排除。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
规则
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
背景信息
此部分提供有关如何识别板卡崩溃的背景信息。
识别板卡崩溃
为了快速识别板卡崩溃,请使用 show context summary 命令:
Router#show context summary
CRASH INFO SUMMARY
Slot 0 : 0 crashes
Slot 1 : 0 crashes
Slot 2 : 0 crashes
Slot 3 : 0 crashes
Slot 4 : 1 crashes
1 - crash at 04:28:56 EDT Tue Apr 20 1999
Slot 5 : 0 crashes
Slot 6 : 0 crashes
Slot 7 : 0 crashes
Slot 8 : 0 crashes
Slot 9 : 0 crashes
Slot 10: 0 crashes
Slot 11: 0 crashes
如果崩溃影响到路由器本身(不仅仅是板卡),则请参阅路由器崩溃故障排除 。
收集有关崩溃的信息
为了收集崩溃的相关数据,请使用表 1 中所示的命令。
表 1 - 用于收集崩溃相关数据的命令
命令
描述
show version
提供有关系统硬件和软件配置的一般信息。
show logging
显示路由器的一般日志。
show diag [slot #]
提供有关特定插槽的特定信息:引擎类型、硬件版本、内存配置等。
show context slot [slot #]
提供有关最近崩溃的情景信息。这通常是在排除板卡崩溃故障时最有用的命令。
core dump
板卡的core dump是崩溃时板卡内存中的全部内容。对于初始故障排除,通常不需要此数据。之后如果断定问题为新的软件 Bug,可能会需要此数据。这种情况下,请参阅在 GSR 板卡上配置 core dump。
如果您有来自Cisco设备的show tech-support (从启用模式)命令的输出,您可以使用 来显示潜在的故障和修复方法。为了使用 来显示潜在的问题和修复方法,但使用 ,但你必须是注册用户,而且已经登录,并启用了JavaScript。
您可以使用Output Interpreter来显示潜在的问题和纠错方法。要使用命令输出解释程序,您必须是
注册用户、已登录并启用 JavaScript。
分析收集的数据
检查 show context slot[slot#] 输出中sig= 字段的值:
Router#show context slot 4
CRASH INFO: Slot 4, Index 1, Crash at 04:28:56 EDT Tue Apr 20 1999
VERSION:
GS Software (GLC1-LC-M), Version 11.2(15)GS1a, EARLY DEPLOYMENT RELEASE
SOFTWARE (fc1)
Compiled Mon 28-Dec-98 14:53 by tamb
Card Type: 1 Port Packet Over SONET OC-12c/STM-4c, S/N CAB020500AL
System exception: SIG=20 , code=0xA414EF5A, context=0x40337424
Traceback Using RA
STACK TRACE:
traceback 4014CFC0 40141AB8 40143944 4014607C 4014A7EC 401499D4 40149BB4
40149FD4 40080118 40080104
CONTEXT:
$0 : 00000000, AT : 40330000, v0 : 00000000, v1 : 00000038
a0 : 4094EF58, a1 : 00000120, a2 : 00000002, a3 : 00000001
t0 : 00000010, t1 : 3400BF01, t2 : 34008D00, t3 : FFFF00FF
t4 : 400A1410, t5 : 00000002, t6 : 00000000, t7 : 4041783C
s0 : 4093F980, s1 : 4093F980, s2 : 4094EEF0, s3 : 4094EF00
s4 : 00000000, s5 : 00000001, s6 : 00000000, s7 : 00000000
t8 : 34008000, t9 : 00000000, k0 : 404D1860, k1 : 400A2F68
gp : 402F3070, sp : 4082BFB0, s8 : 00000000, ra : 400826FC
EPC : 0x40098824, SREG : 0x3400BF04, Cause : 0x00000000
ErrorEPC : 0x4015B7E4
参见表 2,查找与您记录的 SIG 值匹配的错误原因。
表 2 - 查找与 SIG 值匹配的错误
SIG 价值
SIG 名称
错误原因
2
SIGINT
意外的硬件中断。
3
SIGQUIT
因break键而中断。
4
西吉尔
非法操作码异常。
5
SIGTRAP
因断点或者运算异常而中断。
8
SIGFPE
浮点部件(FDU)异常.
9
SIGKILL
预留异常。
10
SIGBUS
总线错误异常。
11
SIGSEGV
SegV 异常。
20
SIGCACHE
缓存奇偶校验异常。
21
SIGWBERR
写入总线错误中断。
22
SIGERROR
致命的硬件错误。
23
SIGRELOAD
软件所制崩溃。
注意:缓存奇偶校验异常( SIG=20)、总线错误异常(SIG=10)和软件强制崩溃(SIG=23)占线卡崩溃的95%以上。
diag 执行命令
Cisco 12000 系列支持 diag [slot# ] 命令,用于测试不同的主板组件。 此命令对于硬件相关崩溃的故障排除和故障主板的识别非常有用。
执行测试时,可使用 verbose 选项使路由器显示测试列表。 否则,它将只显示“通过测试”或“失败”消息。
注:执 行此诊断时,会在测试期间(通常大约五分钟)停止线路卡的所有活动。
从 Cisco IOS 软件版本 12.0(22)S 开始,Cisco 将 Cisco 12000 系列 Internet 路由器域诊断板卡映像从 Cisco IOS 软件映像中分离。在较早版本中,可以从命令行启动诊断,同时会启动嵌入的映像。为了满足客户使用20 MB闪存卡的需求,线卡现场诊断现在作为单独的映像进行存储和维护,必须在使用现场诊断命令之前在闪存卡或简单文件传输协议(TFTP)引导服务器上提供该映像。路由器处理器和交换矩阵域诊断仍然是捆绑的,无需从独立的映像启动。有关详细信息,请参阅 Cisco 12000 系列 Internet 路由器域诊断 。
这里是 diag [slot# ] 命令输出实例:
Router#diag 3 verbose
Running DIAG config check
Running Diags will halt ALL activity on the requested slot.
[confirm]
CR1.LND10#
Launching a Field Diagnostic for slot 3
Downloading diagnostic tests to slot 3 (timeout set to 400 sec.)
Field Diag download COMPLETE for slot 3
FD 3> *****************************************************
FD 3> GSR Field Diagnostics V3.0
FD 3> Compiled by award on Tue Aug 3 15:58:13 PDT 1999
FD 3> view: award-bfr_112.FieldDiagRelease
FD 3> *****************************************************
FD 3> BFR_CARD_TYPE_OC48_1P_POS testing...
FD 3> running in slot 3 (128 tests)
Executing all diagnostic tests in slot 3
(total/indiv. timeout set to 600/200 sec.)
FD 3> Verbosity now (0x00000001) TESTSDISP
FDIAG_STAT_IN_PROGRESS: test #1 R5K Internal Cache
FDIAG_STAT_IN_PROGRESS: test #2 Burst Operations
FDIAG_STAT_IN_PROGRESS: test #3 Subblock Ordering
FDIAG_STAT_IN_PROGRESS: test #4 Dram Marching Pattern
FDIAG_STAT_DONE_FAIL test_num 4, error_code 6
Field Diagnostic: ****TEST FAILURE**** slot 3: last test run 4,
Dram Marching Pattern, error 6
Field Diag eeprom values: run 2 fail mode 1 (TEST FAILURE) slot 3
last test failed was 4, error code 6
Shutting down diags in slot 3
slot 3 done, will not reload automatically
根据遇到的错误,插槽可能会或不会自动重新加载。如果不自动重新加载,则它可能处于阻塞或不一致状态(使用 show diag [slot #] 命令检查),直至手动重新加载。 这是正常现象。要手动重新加载卡,请使用 hw-module slot [slot# ] reload 命令。
缓存奇偶校验异常
您可以在 show context[slot #] 输出中用SIG=20来识别缓存奇偶校验异常。
如果您有来自Cisco设备的show tech-support (从启用模式)命令的输出,您可以使用 来显示潜在的故障和修复方法。为了使用 来显示潜在的问题和修复方法,但使用 ,但你必须是注册用户,而且已经登录,并启用了JavaScript。
您可以使用Output Interpreter来显示潜在的问题和纠错方法。要使用命令输出解释程序,您必须是
注册用户、已登录并启用 JavaScript。
存在两种不同的奇偶校验错误:
暂时性奇偶校验错误 - 这种错误在芯片内能量改变使0变为1或将1变为0。在出现软奇偶校验错误的情况下,不必更换主板或任何组件。
永久性奇偶校验错误 - 这种错误在芯片或电路板故障并造成数据损坏。这种情况下,您应该重新安装或者更换受到影响的组件,通常是更换内存条或者主板。在同一个地址出现多个奇偶校验错误时,即存在硬奇偶校验错误。还有更加复杂更难识别的情况,但是,一般来说,如果在较短的时间内(几个星期到几个月)在某个特定内存区域发现多个奇偶校验错误,那么就可以认为是硬奇偶校验错误。
研究显示,暂时性奇偶校验错误的出现频率比硬奇偶校验错误高出10到100倍。
为了排除这些错误,请找一个维护窗口并针对该插槽运行 diag 命令。
总线错误异常
您可以在show context[slot #] 输出中用SIG=10来识别总线错误异常。
如果您有来自Cisco设备的show tech-support (从启用模式)命令的输出,您可以使用 来显示潜在的故障和修复方法。为了使用 来显示潜在的问题和修复方法,但使用 ,但你必须是注册用户,而且已经登录,并启用了JavaScript。
您可以使用Output Interpreter来显示潜在的问题和纠错方法。要使用命令输出解释程序,您必须是
注册用户、已登录并启用 JavaScript。
这种类型的崩溃通常与软件有关,但是,如果由于某些原因(例如它是一张崭新的卡或者崩溃是在断电之后才开始),您认为问题可能与硬件有关,因而运行该插槽的 diag 命令。
注意: 已知某些软件错误会导致diag 命令报告错误,即使硬件没有问题。如果已经更换卡,但是仍在诊断的同一个测试中失败,则可能是受此问题的影响。在该情况下,应将崩溃看作为软件问题。
升级到 Cisco IOS 软件版本系列的最新版本可以排除导致板卡总线错误但已得到修正的所有 Bug。如果升级后崩溃依然存在,请收集相关信息(请参阅收集有关崩溃的信息 )、show tech-support 的输出以及您认为可能有用的所有信息(例如最近的拓扑更改或者最近实施的新功能),并与您的 Cisco 支持代表联系。
软件所制崩溃
可以通过 show context [slot #] 输出中的 SIG=23 来识别软件所制崩溃。 尽管名称是软件所制崩溃,但这些崩溃并不总是与软件相关。
如果您有来自Cisco设备的show tech-support (从启用模式)命令的输出,您可以使用 来显示潜在的故障和修复方法。为了使用 来显示潜在的问题和修复方法,但使用 ,但你必须是注册用户,而且已经登录,并启用了JavaScript。
您可以使用Output Interpreter来显示潜在的问题和纠错方法。要使用命令输出解释程序,您必须是
注册用户、已登录并启用 JavaScript。
软件所制崩溃最常见的原因是“矩阵 Ping 超时”。在正常路由器运行期间,路由处理器(RP)会连续ping线路卡。如果板卡不应答,路由处理器将决定重置板卡。这会导致受影响的板卡出现软件所制崩溃 (SIG=23),且路由器日志中应出现以下错误:
Mar 12 00:42:48: %GRP-3-FABRIC_UNI:
Unicast send timed out (4)
Mar 12 00:42:50: %GRP-3-COREDUMP: Core dump incident on slot 4, error: Fabric ping failure
要对矩阵 Ping 超时进行故障排除,需要确定板卡为什么对 Ping 没有响应。可能有多种原因:
板卡的 CPU 使用率很高 - 这可通过 execute-on slot [slot #] show proc cpu 命令验证。 如果 CPU 使用率确实很高(95% 以上),请参阅对 Cisco 路由器上的 CPU 使用率过高进行故障排除 。
进程间通信(IPC)中存在软件错误,或者线路卡的IPC缓冲区已用尽。大多数时候,这些软件导致的重新加载都是由软件 Bug 引起的。
升级到 Cisco IOS 软件版本系列的最新版本可以排除导致矩阵 Ping 超时但已得到修正的所有 Bug。如果升级后崩溃依然存在,请收集相关信息(请参阅获得有关崩溃的信息 )、show tech-support 和 show ipc status 的输出以及您认为可能有用的所有信息(例如最近的拓扑更改或者最近实施的新功能),并与您的 Cisco 支持代表联系。
硬件故障 - 如果板卡长期运行良好并且最近没有发生拓扑、软件或功能更改,或者,如果问题发生在撤动或断电后,则原因可能是硬件有缺陷。在受影响的板卡上运行 diag 命令。 如果有故障,请更换板卡。如果多个板卡受到影响或者 diag 输出正常,则请更换结构。
%GSRSPA-6-ERRORRECOVER:子插槽0上出现硬件或软件错误。原因奇迹: TXECCERR自动错误恢复启动
当 MAC 中的 RxFIFO 或 TxFIFO 不可恢复的 ECC 错误中断超过该时间间隔内的阈值,将发生 TXECCERR/RXECCERR 错误。不可恢复的 ECC 错误无法由 ECC 逻辑更正。在 RxFIFO 读取操作期间出现不可恢复的错误时,数据所属的数据包将在 SPI4 接收接口上标记为 EOP/Abort,并被上层丢弃。
这属于硬件问题,并且将在重新加载 SIP/SPA 后得到更正。永久的解决方案是更换 SIP/SPA 以避免该类错误。
其它崩溃
显然,相较于上述两类崩溃,其他崩溃类型并不常见。在许多情况下,diag 命令应能指示是否需要更换卡。 如果板卡能够正确无误地通过诊断测试,请考虑升级软件。
建立 TAC 服务请求时要收集的信息
相关信息