介紹
通常所說的“系統崩潰”是指系統檢測到無法恢複的錯誤并重新啟動的情況。
引起崩潰的錯誤通常是由處理器硬體檢測的,處理器硬體在 rom 螢幕中自動派生出特殊的錯誤處理代碼。rom 螢幕可以識别錯誤,列印消息,儲存故障資訊并重新啟動系統。
規則
<a>前提條件</a>
本文沒有任何特定的前提條件。
<a>所使用元件</a>
本文不限于任何特定的軟硬體版本。
<a>獲得有關崩潰的資訊</a>
在路由器崩潰的情況下,最重要的工作是在對路由器進行人工重載或重新加電啟動之前盡可能多地收集有關崩潰的資訊。人工重載或重新加電啟動之後,除 crashinfo 檔案中成功儲存的資訊外,有關崩潰的所有其他資訊都将丢失。下面的輸出内容顯示了有關崩潰的一些資訊。
<b>指令</b>
<b>說明</b>
<b>show version</b>
最早在cisco ios(r)軟體版本10.0中出現的指令。<b>show version</b> exec指令顯示系統硬體配置、軟體版本、配置檔案與軟體鏡像的名稱和來源、路由器運作時間和有關系統重新開機過程的資訊。
<b>重要提示:</b>若路由器在崩潰後重載(例如加電重新開機或使用reload指令),該資訊将會丢失。是以,設法在重載前收集有關資訊!!!
<b>show stacks</b>
最早在cisco ios軟體版本10.0中出現的指令。<b>show stacks</b> exec指令用來監視程式和中斷程式的堆棧使用情況。在路由器崩潰的情況下,show stacks指令輸出是資訊的最重要來源之一。
<b>重要提示:</b> 若路由器在崩潰後重載(例如加電重新開機或使用<b>reload指令</b>),該資訊将會丢失。是以,設法在重載前收集有關資訊!
<b>show context</b>
最早在cisco ios軟體版本10.3中出現的指令。<b>show context</b> exec指令用來在發生意外事件時顯示非易失性ram(nvram)中儲存的資訊。上下文資訊是處理器和基礎結構所特定的,而軟體版本和運作時間資訊則不是。不同路由器類型的上下文資訊是以各不相同。<b>show context</b>指令的顯示内容包括以下方面:
· 系統重新開機原因
· 堆棧記錄
· 軟體版本
· 信号編号、代碼和路由運作時間資訊
崩潰時的所有注冊内容
<b>show tech-support</b>
最早出現在cisco ios軟體版本11.2中。在報告問題時,此指令非常有助于收集有關路由器的基本資訊。此指令包括:
· <b>show version</b>
· <b>show running-config</b>
· <b>show stacks</b>
· <b>show interface</b>
· <b>show c</b>
· <b>show process cpu</b>
· <b>show process memory</b>
· <b>show buffers</b>
<b>c log</b>
若在崩潰時與路由器控制台相連,您會在崩潰期間看到類似以下資訊的顯示内容:
*** 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 儲存這些資訊以及此前的日志。路由器恢複運作時一定要獲得<b>show stacks</b>指令輸出。
若路由器設定為向syslog伺服器發送日志,則可在syslog伺服器上顯示崩潰前所發生的事件。但是,在路由器崩潰的情況下,可能不會将最有用的資訊發送到syslog伺服器上。是以,通常情況下,syslog輸出對于排除崩潰故障不是很有用。
crashinfo檔案包含有關目前崩潰的許多有用資訊,這些資訊儲存在bootflash或flash存儲器中。當資料或堆棧損壞引起路由器崩潰時,除了常用的<b>show stacks</b>指令輸出外,還需要更多的重載資訊來排除這類崩潰故障。
在cisco 12000千兆位路由器處理器(grp)、cisco 7000和7500路由交換處理器 (rsp)以及cisco 7200系列路由器上,預設情況下crashinfo被寫入到<b>bootflash:crashinfo</b>中。對于cisco 7500通用接口處理器2(vip2),預設情況下此檔案被儲存到<b>bootflash:vip2_slot_no_crashinfo</b>中,其中,slot_no為vip2插槽号碼。對于cisco 7000路由處理器(rp),預設情況下此檔案被儲存到<b>flash:crashinfo</b>中。
<b>core dump</b>
core dump是路由器記憶體鏡像的全面拷貝。這種資訊對于解決大多數類型的崩潰問題是不必要的,但在記錄新的故障時,最好使用這些資訊。若要将 debug sanity、scheduler heapcheck process和memory check-interval 1等更多資訊添加到core dump 中,則可能需要啟用某些調試工具。
<b>rom</b><b>m</b>
若路由器的config-register設定以0為結尾,則崩潰後,路由器可能在rom螢幕中終止。若路由器為68k,則提示符為">"。您可通過<b>k</b>指令來擷取堆棧記錄。 若處理器為精簡指令集計算機構(risc),則提示符将為"rommon 1>"。擷取stack 50和show context的輸出。
<a>崩潰類型</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">中斷</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">位址錯誤</a>
<a href="http://www.cisco.com/mt/eval/zh/122/crashes_buserror_troubleshooting.html">總線錯誤</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">緩存器異常錯誤</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">錯誤 - 級别 <x></a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">格式錯誤</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">非法指令</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">非法opcode異常</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">跳到零錯誤</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">線路仿真器陷阱</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">加電</a>
<a href="http://www.cisco.com/mt/eval/zh/122/crashes_pmpe.html">處理器記憶體奇偶校驗錯誤</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">保留異常</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">錯誤重新啟動</a>
<a href="http://www.cisco.com/mt/eval/zh/122/crashes_segv.html">分段違例異常</a>
<a href="http://www.cisco.com/mt/eval/zh/122/crashes_pmpe.html">共享存儲器奇偶校驗錯誤</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">sigtrap</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">軟體強制崩潰</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">跟蹤陷阱</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">未定義陷阱</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">意外硬體運作中斷</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">未知故障</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">未知重新裝載原因</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">螢幕逾時</a>
<a href="http://www.cisco.com/mt/eval/zh/nopage.html">寫總線錯誤中斷</a>
路由器子產品崩潰
在某些情況下,隻是特定的路由器子產品崩潰,而不是整個路由器崩潰。下列檔案對如何解決某些路由器子產品上的崩潰進行了說明:
排除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
fp: 0x61f73e48, ra: 0x602b94a8
fault history buffer:
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如需轉載請自行聯系原作者
刀博士