排除路由崩溃故障

简介:
介绍
通常所说的 系统崩溃 是指系统检测到无法恢复的错误并重新启动的情况。
引起崩溃的错误通常是由处理器硬件检测的,处理器硬件在  rom 监视器中自动派生出特殊的错误处理代码。 rom 监视器可以识别错误,打印消息,保存故障信息并重新启动系统。
规则
有关文件规则的更多信息,请参阅  cisco technical tips conventions.
本文没有任何特定的前提条件。
本文不限于任何特定的软硬件版本。
在路由器崩溃的情况下,最重要的工作是在对路由器进行人工重载或重新加电启动之前尽可能多地收集有关崩溃的信息。人工重载或重新加电启动之后,除  crashinfo 文件中成功保存的信息外,有关崩溃的所有其他信息都将丢失。下面的输出内容显示了有关崩溃的一些信息。
若您可以通过 cisco设备获得 show versionshow stacksshow 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 c
·          show process cpu
·          show process memory
·          show buffers
c log
若在崩溃时与路由器控制面板相连,您会在崩溃期间看到类似以下信息的显示内容:
*** system received a software forced crash ***   signal= 0x17, code= 0x24, c 0x619978a0   pc = 0x602e59dc, cause = 0x4020, statusreg = 0x34008002   dcl masked interrupt register = 0x000000f7   dcl interrupt value register = 0x00000010   memd int 6 status register = 0x00000000   
保存这些信息以及此前的日志。路由器恢复运行时一定要获得 show stacks命令输出。
若路由器设置为向 syslog服务器发送日志,则可在 syslog服务器上显示崩溃前所发生的事件。但是,在路由器崩溃的情况下,可能不会将最有用的信息发送到 syslog服务器上。因此,通常情况下, syslog输出对于排除崩溃故障不是很有用。
crashinfo文件包含有关当前崩溃的许多有用信息,这些信息保存在 bootflashflash存储器中。当数据或堆栈损坏引起路由器崩溃时,除了常用的 show stacks命令输出外,还需要更多的重载信息来排除这类崩溃故障。
cisco 12000千兆位路由器处理器 (grp)cisco 70007500路由交换处理器  (rsp)以及 cisco 7200系列路由器上,缺省情况下 crashinfo被写入到 bootflash:crashinfo中。对于 cisco 7500通用接口处理器 2(vip2),缺省情况下此文件被保存到 bootflash:vip2_slot_no_crashinfo中,其中, slot_novip2插槽号码。对于 cisco 7000路由处理器 (rp),缺省情况下此文件被保存到 flash:crashinfo中。
有关更多信息,请参阅  从crashinfo文件中获取信息.
core dump
core dump是路由器内存镜像的全面拷贝。这种信息对于解决大多数类型的崩溃问题是不必要的,但在记录新的故障时,最好使用这些信息。若要将  debug sanityscheduler heapcheck processmemory check-interval 1等更多信息添加到 core dump 中,则可能需要启用某些调试工具。
有关详细信息请参阅  创建core dumps
rom m
若路由器的 config -register设置以 0为结尾,则崩溃后,路由器可能在 rom监视器中终止。若路由器为 68k,则提示符为 ">"。您可通过 k命令来获取堆栈记录。 若处理器为精简指令集计算机构 (risc),则提示符将为 "rommon 1>"。获取 stack 50show context的输出。
 
 
show versionshow stacks命令输出可显示所发生崩溃的类型,如:总线错误或软件强制崩溃。您还可以通过 crashinfoshow context命令来获取有关崩溃类型的信息。对于某些较新的cisco ios软件版本,没有明确显示崩溃原因(例如,显示内容为"signal = x",其中x是一个数字)。若要了解这些数字所表示的意义,请参照 通用接口处理器崩溃原因代码例如:"signal = 23"是指软件强制崩溃。根据下面的链接来解决路由器上所发生的特定类型的崩溃:
路由器模块崩溃
在某些情况下,只是特定的路由器模块崩溃,而不是整个路由器崩溃。下列文件对如何解决某些路由器模块上的崩溃进行了说明:
排除vip崩溃
排除pa-a3上的sar崩溃
排除cisco gsr12000系列上的线路卡崩溃
显示崩溃情况的输出范例

router#show versi 

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- 

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 c (6 ethernet).  

1 vip2 r5k c (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 n c 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.  

c register is 0x2102  



router#show stacks  

minimum process stacks:  

free/size   name  

5188/6000   cef reloader  

9620/12000  init  

5296/6000   radius initc 

5724/6000   mdfs reload  

2460/3000   rsp memory size check  

8176/9000   dhcp client  



interrupt level stacks:  

level    called unused/size  name  

1         163   8504/9000  network interrupt  

2       14641   8172/9000  network status interrupt  

3           0   9000/9000  oir interrupt  

4           0   9000/9000  pcmcia interrupt  

5        5849   8600/9000  c uart  

6           0   9000/9000  error interrupt  

7      396230   8604/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: 'c 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 c 



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  
本文转自CC博客51CTO博客,原文链接http://blog.51cto.com/levelive/5929如需转载请自行联系原作者


刀博士

相关文章
|
7月前
计算机故障的分类、故障分析与排除
计算机故障的分类、故障分析与排除。
114 0
|
缓存 容灾 NoSQL
变形记---容灾恢复 ,异常崩溃引发服务器丢档或无法正常运行
最近我给M部门面试服务器主程序开发的职位,我只问他们的架构设计经验,我发现相当一部分5-12年“本应该有足够开发经验”的开发组长,或开发主程序缺乏设计,缺乏容错,缺乏创新,比如一些服务器宕机如何崩溃拉起恢复玩家数据,数据库的异步线程读写如何避免被其他线程写回呢,至少目前能听到合理方案的面试者的回答不多,这也是我想写这篇文章的出发点,以此来分享给大家, 不仅仅是为了应付面试,更是解决实际问题的一种思路。 如题,举例说明:游戏服务器(或者其他业务服务器)正常运行中出现了异常崩溃,可能是异常断电引发,可能是云服务商的软硬件问题引发,这种情况下,你们的服务器架构有没有做灾难恢复处理? 使得
|
Java Linux
线上故障快速定位及恢复(上)
线上故障快速定位及恢复(上)
232 0
线上故障快速定位及恢复(上)
|
监控 NoSQL 关系型数据库
|
安全
电脑软件常见的故障原因及排除方法
电脑软件常见的故障原因及排除方法
1771 0
|
监控 容器 关系型数据库
可用性监控-先于用户知道应用挂了
背景:任何服务都避免不了出现以下问题,你的用户访问不了你的服务或者站点,用户偶尔碰到5xx,服务响应延迟比较慢,某台应用进程挂掉,导致访问时好时坏。问题在于,_你是否要等你的用户来告诉你,你的程序是问题了_。
1856 0
|
网络协议 算法 数据库