电脑技术学习

排除路由器崩溃故障

dn001

介绍

通常所说的“系统崩溃”是指系统检测到无法恢复的错误并重新启动的情况。

引起崩溃的错误通常是由处理器硬件检测的,处理器硬件在 ROM 监视器中自动派生出非凡的错误处理代码。ROM 监视器可以识别错误,打印消息,保存故障信息并重新启动系统。

开始之前

规则

有关文件规则的更多信息,请参阅 Cisco Technical Tips Conventions.

前提条件

本文没有任何特定的前提条件。

所使用组件

本文不限于任何特定的软硬件版本。

获得有关崩溃的信息

在路由器崩溃的情况下,最重要的工作是在对路由器进行人工重载或重新加电启动之前尽可能多地收集有关崩溃的信息。人工重载或重新加电启动之后,除 crashinfo 文件中成功保存的信息外,有关崩溃的所有其他信息都将丢失。下面的输出内容显示了有关崩溃的一些信息。

若您可以通过Cisco设备获得show version、show stacks、show contextshow tech support命令输出,则可通过这些输出来显示潜在的问题和修补方法。若要使用这些信息,登录并启用 ,但您必须是注册 用户。

命令

说明

show version

最早在Cisco IOS(r)软件版本10.0中出现的命令。Show version EXEC命令显示系统硬件配置、软件版本、配置文件与软件镜像的名称和来源、路由器运行时间和有关系统重启过程的信息。

重要提示:若路由器在崩溃后重载(例如加电重启或使用reload命令),该信息将会丢失。因此,设法在重载前收集有关信息!!!

show stacks

最早在Cisco IOS软件版本10.0中出现的命令。show stacks EXEC命令用来监视程序和中断程序的堆栈使用情况。在路由器崩溃的情况下,show stacks命令输出是信息的最重要来源之一。

重要提示: 若路由器在崩溃后重载(例如加电重启或使用reload命令),该信息将会丢失。因此,设法在重载前收集有关信息!

show context

最早在Cisco IOS软件版本10.3中出现的命令。show context EXEC命令用来在发生意外事件时显示非易失性RAM(NVRAM)中保存的信息。上下文信息是处理器和基础结构所特定的,而软件版本和运行时间信息则不是。不同路由器类型的上下文信息因此各不相同。show context命令的显示内容包括以下方面:

  • 系统重启原因

  • 堆栈记录

  • 软件版本

  • 信号编号、代码和路由运行时间信息

  • 崩溃时的所有注册内容

show tech-support

最早出现在Cisco IOS软件版本11.2中。在报告问题时,此命令非常有助于收集有关路由器的基本信息。此命令包括:

  • show version

  • show running-config

  • show stacks

  • show interface

  • show controller

  • show process cpu

  • show process memory

  • show buffers

console log

若在崩溃时与路由器控制面板相连,您会在崩溃期间看到类似以下信息的显示内容:

*** System received a Software forced crash ***  
 signal= 0x17, code= 0x24, context= 0x619978a0  
 PC = 0x602e59dc, Cause = 0x4020, Status Reg = 0x34008002  
 DCL Masked Interrupt Register = 0x000000f7  
 DCL Interrupt Value Register = 0x00000010  
 MEMD Int 6 Status Register = 0x00000000  
 

保存这些信息以及此前的日志。路由器恢复运行时一定要获得show stacks命令输出。

syslog

若路由器设置为向syslog服务器发送日志,则可在syslog服务器上显示崩溃前所发生的事件。但是,在路由器崩溃的情况下,可能不会将最有用的信息发送到syslog服务器上。因此,通常情况下,syslog输出对于排除崩溃故障不是很有用。

crashinfo

crashinfo文件包含有关当前崩溃的许多有用信息,这些信息保存在bootflash或flash存储器中。当数据或堆栈损坏引起路由器崩溃时,除了常用的show stacks命令输出外,还需要更多的重载信息来排除这类崩溃故障。


在Cisco 12000千兆位路由器处理器(GRP)、Cisco 7000和7500路由交换处理器 (RSP)以及Cisco 7200系列路由器上,缺省情况下crashinfo被写入到bootflash:crashinfo中。对于Cisco 7500通用接口处理器2(VIP2),缺省情况下此文件被保存到bootflash:vip2_slot_no_crashinfo中,其中,slot_no为VIP2插槽号码。对于Cisco 7000路由处理器(RP),缺省情况下此文件被保存到flash:crashinfo中。

有关更多信息,请参阅 从Crashinfo文件中获取信息.

core dump

core dump是路由器内存镜像的全面拷贝。这种信息对于解决大多数类型的崩溃问题是不必要的,但在记录新的故障时,最好使用这些信息。若要将 debug sanity、scheduler heapcheck process和memory check-interval 1等更多信息添加到core dump 中,则可能需要启用某些调试工具。

有关具体信息请参阅 创建Core Dumps

rom monitor

若路由器的config-register设置以0为结尾,则崩溃后,路由器可能在ROM监视器中终止。若路由器为68k,则提示符为">"。您可通过k命令来获取堆栈记录。 若处理器为精简指令集计算机构(RISC),则提示符将为"rommon 1>"。获取stack 50和show context的输出。

QQRead.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南

崩溃类型

show versionshow stacks命令输出可显示所发生崩溃的类型,如:总线错误或软件强制崩溃。您还可以通过crashinfoshow context命令来获取有关崩溃类型的信息。对于某些较新的Cisco IOS软件版本,没有明确显示崩溃原因(例如,显示内容为"Signal = x",其中x是一个数字)。若要了解这些数字所表示的意义,请参照通用接口处理器崩溃原因代码例如:"Signal = 23"是指软件强制崩溃。根据下面的链接来解决路由器上所发生的特定类型的崩溃:

  • 中断

  • 地址错误

  • 总线错误

  • 缓存器异常错误

  • 错误 - 级别 <x>

  • 格式错误

  • 非法指令

  • 非法Opcode异常

  • 跳到零错误

  • 线路仿真器陷阱

  • 加电

  • 处理器内存奇偶校验错误

  • 保留异常

  • 错误重新启动

  • 分段违例异常

  • 共享存储器奇偶校验错误

  • SIGTRAP

  • 软件强制崩溃

  • 跟踪陷阱

  • 未定义陷阱

  • 意外硬件运行中断

  • 未知故障

  • 未知重新装载原因

  • 监视器超时

  • 写总线错误中断

路由器模块崩溃

在某些情况下,只是特定的路由器模块崩溃,而不是整个路由器崩溃。下列文件对如何解决某些路由器模块上的崩溃进行了说明:

  • 排除VIP崩溃

  • 排除PA-A3上的SAR崩溃

  • 排除Cisco GSR12000系列上的线路卡崩溃

显示崩溃情况的输出范例

Router#show version;
Cisco Internetwork Operating System Software;
IOS (tm) RSP Software (RSP-PV-M), Version 12.0(10.6)ST, EARLY DEPLOYMENT
MAINTENANCE INTERIM SOFTWARE;
Copyright (c) 1986-2000 by cisco Systems, Inc.;
Compiled Fri 23-Jun-00 16:02 by richv;
Image text-base: 0x60010908, data-base: 0x60D96000;

ROM: System Bootstrap, Version 12.0(19990806:174725), DEVELOPMENT SOFTWARE;
BOOTFLASH: RSP Software (RSP-BOOT-M), Version 12.0(9)S, EARLY DEPLOYMENT;
RELEASE SOFTWARE (fc1);

Router uptime is 20 hours, 56 minutes;
System returned to ROM by error - a Software forced crash, PC 0x60287EE8;
System image file is "slot0:rsp-pv-mz.120-10.6.ST";

cisco RSP8 (R7000) processor with 131072K/8216K bytes of memory.;
R7000 CPU at 250Mhz, Implementation 39, Rev 1.0, 256KB L2, 2048KB L3 Cache;
Last reset from power-on;
G.703/E1 software, Version 1.0.;
G.703/JT2 software, Version 1.0.;
X.25 software, Version 3.0.0.;
Chassis Interface.;
1 EIP controller (6 Ethernet).;
1 VIP2 R5K controller (1 FastEthernet)(2 HSSI).;
6 Ethernet/IEEE 802.3 interface(s);
1 FastEthernet/IEEE 802.3 interface(s);
2 HSSI network interface(s);
2043K bytes of non-volatile configuration memory.;
20480K bytes of Flash PCMCIA card at slot 0 (Sector size 128K).;
16384K bytes of Flash internal SIMM (Sector size 256K).;
No slave installed in slot 7.;
Configuration register is 0x2102;

Router#show stacks;
Minimum process stacks:;
Free/SizeName;
5188/6000CEF Reloader;
9620/12000; Init;
5296/6000RADIUS INITCONFIG;
5724/6000MDFS Reload;
2460/3000RSP memory size check;
8176/9000DHCP Client;

Interrupt level stacks:;
Level;Called Unused/Size; Name;
1 1638504/9000; Network Interrupt;
2;;;;146418172/9000; Network Status Interrupt;
309000/9000; OIR interrupt;
409000/9000; PCMCIA Interrupt;
5;;;;;58498600/9000; Console Uart;
609000/9000; Error Interrupt;
7;;;3962308604/9000; NMI Interrupt Handler;

System was restarted by error - a Software forced crash, PC 0x602DE884 at 05:07:31;
UTC Thu Sep 16 1999;
RSP Software (RSP-JSV-M), Version 12.0(7)T,; RELEASE SOFTWARE (fc2);
Compiled Mon 06-Dec-99 19:40 by phanguye;
Image text-base: 0x60010908, database: 0x61356000;
Stack trace from system failure:;
FP: 0x61F73C30, RA: 0x602DE884;
FP: 0x61F73C30, RA: 0x6030D29C;
FP: 0x61F73D88, RA: 0x6025E96C;
FP: 0x61F73DD0, RA: 0x6026A954;
FP: 0x61F73E30, RA: 0x602B94BC;
FP: 0x61F73E48, RA: 0x602B94A8
若在 bootflash 中存在 crashinfo,则在 show stacks 命令执行结束时显示以下内容:


;;;
***************************************************;
******* Information of Last System Crash **********;
***************************************************;

Using bootflash:crashinfo_20000323-061850. 2000;
CMD: 'sh int fas' 03:23:41 UTC Thu Mar 2 2000;
CMD: 'sh int fastEthernet 6/0/0' 03:23:44 UTC Thu Mar 2 2000;
CMD: 'conf t' 03:23:56 UTC Thu Mar 2 2000;
CMD: 'no ip cef di' 03:23:58 UTC Thu Mar 2 2000;
CMD: 'no ip cef distributed ' 03:23:58 UTC Thu Mar 2 2000;
...;

Router#show context;

System was restarted by error - a Software forced crash, PC 0x602DE884 at;
05:07:31 UTC Thu Sep 16 1999;
RSP Software (RSP-JSV-M), Version 12.0(7)T,; RELEASE SOFTWARE (fc2);
Compiled Mon 06-DEC-99 19:40 by phanguye;
Image text-base: 0x60010908, database: 0x61356000;

Stack trace from system failure:;
FP: 0x61F73C30, RA: 0x602DE884;
FP: 0x61F73C30, RA: 0x6030D29C;
FP: 0x61F73D88, RA: 0x6025E96C;
FP: 0x61F73DD0, RA: 0x6026A954;
FP: 0x61F73E30, RA: 0x602B94BC;
FP: 0x61F73E48, RA: 0x602B94A8;

Fault History Buffer:;
RSP Software (RSP-JSV-M), Version 12.0(7)T,; RELEASE SOFTWARE (fc2);
Compiled Mon 06-DEC-99 19:40 by phanguye;
Signal = 23, Code = 0x24, Uptime 3w0d;
$0 : 00000000, AT : 619A0000, v0 : 61990000, v1 : 00000032;
a0 : 6026A114, a1 : 61A309A4, a2 : 00000000, a3 : 00000000;
t0 : 61F6CD80, t1 : 8000FD88, t2 : 34008700, t3 : FFFF00FF;
t4 : 00000083, t5 : 3E840024, t6 : 00000000, t7 : 00000000;
s0 : 0000003C, s1 : 00000036, s2 : 00000000, s3 : 61F73C48;
s4 : 00000000, s5 : 61993A10, s6 : 61982D00, s7 : 61820000;
t8 : 0000327A, t9 : 00000000, k0 : 61E48C4C, k1 : 602E7748;
gp : 6186F3A0, sp : 61F73C30, s8 : 00000000, ra : 6030D29C;
EPC : 602DE884, SREG : 3400E703, Cause : 00000024;
Error EPC : BFC00000, BadVaddr : 40231FFE