Cisco路由器故障診斷技術(shù)
Cisco ISO操作系統(tǒng)軟件提供了一組功能豐富的命令,可以用來(lái)進(jìn)行故障查找與排除、問(wèn)題診斷以及性能檢測(cè)。命令大致可以分為兩類(lèi):show命令和debug命令。同時(shí),還包含一組用于連接這兩類(lèi)命令的clear命令。下面我們分別講解各命令
1.show命令在這一節(jié)中,我們將講述最常用的show命令,闡述這些命令的輸出以及這些命令適用于解決的故障類(lèi)型。為了敘述清楚,這些命令被分為全局系統(tǒng)命令、與接口相關(guān)的命令和與協(xié)議相關(guān)的命令。我們僅討論最常使用的命令。
全局系統(tǒng)命令
本節(jié)將列出與路由器軟件和硬件相關(guān)的輸出命令,其中包括存儲(chǔ)區(qū)和電源。show version命令是最基本的命令之一,它顯示路由器本身以及其所使用的軟、硬件的基本信息。show hardware命令的功能與show version命令類(lèi)似。
命令的輸出信息包括:IOS的版本、路由器持續(xù)運(yùn)行的時(shí)間約23周、最近一次重啟動(dòng)的原因、路由器主存的大小、共享存儲(chǔ)器的大小、閃存的大小、IOS映像的文件名,以及路由器從何處啟動(dòng)等信息。show version命令顯示了路由器的許多非常有用的信息。在解決問(wèn)題時(shí),通常應(yīng)該從這個(gè)命令開(kāi)始收集數(shù)據(jù)。
如果路由器的多個(gè)接口同時(shí)丟失報(bào)文,則可能由于路由器內(nèi)存不足或者CPU過(guò)載。用戶(hù)可以使用show memory命令檢查內(nèi)存利用率(如下所示)。CPU利用率可以使用show process命令檢查。
YH-Router#show memory
Head Total(b) Used(b) Free(b) Lowest(b) Largest(b)
Processor 60DB19C0 19195456 6162924 13032532 11615164 11250780
Fast 60DB19C0 131072 128344 2728 2728 2684
show memory的前兩行顯示了存儲(chǔ)器的一般信息,它表明系統(tǒng)有足夠可用的內(nèi)存。同時(shí)它還顯示內(nèi)存中沒(méi)有碎片,因?yàn)樵?3.03兆字節(jié)可用內(nèi)存中***的可用塊接近11.25兆字節(jié)。內(nèi)存碎片表明內(nèi)存被劃分為了許多不連續(xù)的塊。它將導(dǎo)致內(nèi)存的利用率降低,嚴(yán)重時(shí)可能產(chǎn)生內(nèi)存錯(cuò)誤從而也嚴(yán)重影響路由器的性能。
現(xiàn)在看一看路由器中有許多內(nèi)存碎片的情形(如下所示)。此時(shí)我們有足夠多的可用內(nèi)存(8.4兆字節(jié)),但是其中***的塊僅為0.5兆字節(jié)。連續(xù)內(nèi)存中沒(méi)有足夠大的可用塊,這有可能導(dǎo)致嚴(yán)重的內(nèi)存分配問(wèn)題。這些問(wèn)題有時(shí)表現(xiàn)為一個(gè)或多個(gè)接口間歇性的丟失報(bào)文。此時(shí)路由器產(chǎn)生內(nèi)存碎片錯(cuò)誤消息。
HX-Router#sh mem
Head Total(b) Used(b) Free(b) Lowest(b) Largest(b)
Processor 60DB19C0 19195456 10713712 8481744 192680 586748
Fast 60DB19C0 131072 90936 40136 40136 40092
使用命令show memory free,用戶(hù)可以看到可用內(nèi)存被劃分為許多很小的碎片。需要注意的是,路由器中存在一定數(shù)量的內(nèi)存碎片是正常的。雖然并沒(méi)有一個(gè)很?chē)?yán)格的界限來(lái)劃分內(nèi)存碎片的可接受程度,但是可用塊的大小至少應(yīng)該不小于可用內(nèi)存的一半。用戶(hù)可以通過(guò)重新啟動(dòng)路由器來(lái)解決這個(gè)問(wèn)題。在重新啟動(dòng)時(shí),系統(tǒng)重新分配內(nèi)存和緩存空間。此時(shí),用戶(hù)應(yīng)該監(jiān)視內(nèi)存分配的過(guò)程。如果再次發(fā)生類(lèi)似的情況,則應(yīng)該咨詢(xún)Cisco TAC.
用戶(hù)可以使用show process cpu命令檢查路由器的CPU是否過(guò)載。該命令將給出路由器CPU的利用率,同時(shí)顯示路由器中不同進(jìn)程的CPU占用率。在下述示例中,路由器的CPU工作正常。在通常情況下,在5分鐘內(nèi)CPU的平均利用率小于60%是可以接受的。如果懷疑CPU利用率出現(xiàn)了問(wèn)題,則需要不斷地監(jiān)視這一參數(shù),因?yàn)樗赡茉诙虝r(shí)間內(nèi)發(fā)生變化。***每10秒鐘使用一次該命令。通過(guò)這種方法,可以清楚地了解CPU利用率的波動(dòng)情況。#p#
YH-Router#sh process cpu
CPU utilization for five seconds:15%/4%;one minute:175;five minutes:19%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
1 460184 5380085 85 0.00% 0.00% 0.00% 0 NTP
2 252749536 2384205 106010 0.00% 2.35% 2.65% 0 Check Heaps
......
13 26155236 9135958 2862 0.32% 0.25% 0.22% 0 IP Background
14 317720 150150 2116 0.00% 0.00% 0.00% 0 IP Cache ager
......
23 51598380 135094851 381 0.32% 0.24% 0.28% 0 IPX Input
24 86792124 23662071 3667 0.98% 0.87% 0.89% 0 IPX RIP
25 438480948 123384161 3553 7.94% 3.31% 3.91% 0 IPX SAP
......
如果CPU的平均利用率超過(guò)了80%,則表明路由器過(guò)載。下一步需要檢測(cè)那一些進(jìn)程導(dǎo)致了CPU利用率過(guò)高。在上面的顯示中,我們可以看到進(jìn)程IPX SAP占用了絕大部分的CPU處理能力,但是它還在可以接受的范圍之內(nèi)。有時(shí)候,如果SRB background參數(shù)持續(xù)過(guò)高,則表明發(fā)生了路由網(wǎng)橋風(fēng)暴。
show process memory命令可以用來(lái)給出路由器可用內(nèi)存的一般信息,然后顯示每一個(gè)進(jìn)程所占用的內(nèi)存空間的詳細(xì)信息。
如果路由器由于臨時(shí)重啟動(dòng)而完全崩潰,則相應(yīng)的錯(cuò)誤消息將包含在show version命令的輸出中。show stack命令用于跟蹤路由器的堆棧,提供路由器臨時(shí)重新啟動(dòng)的原因。如果由于錯(cuò)誤而導(dǎo)致重新啟動(dòng),堆棧記錄將在輸出的末尾顯示。為了抽取與故障相關(guān)的信息,堆棧記錄需要解碼。這一工作通常由Cisco TAC工程師完成。此外,擁有相應(yīng)CCO登錄ID的用戶(hù)可以通過(guò)將show stack命令的輸出發(fā)送到CCO而獲得解碼信息。堆棧記錄解碼的結(jié)果有時(shí)與Cisco路由器的bug有關(guān)。
當(dāng)用戶(hù)向Cisco TAC報(bào)告故障時(shí),支持技術(shù)人員通常要求用戶(hù)發(fā)送show tech_support命令的輸出結(jié)果。這個(gè)命令將導(dǎo)致下述命令的按序執(zhí)行:Show version、Show controllers、Show buffers、Show interface、Show stack、Show process cpu、Show process memory和Show running-config。這些命令的組合將給出路由器配置以及大多數(shù)關(guān)鍵性能參數(shù)的詳細(xì)信息。show tech_support命令的輸出對(duì)于Cisco TAC技術(shù)人員解決復(fù)雜網(wǎng)絡(luò)問(wèn)題是十分有用。
與接口相關(guān)的命令
下面我們將闡述一些直接與路由器活躍接口相關(guān)的命令。show ip interface brief將顯示每一個(gè)路由器接口的IP地址信息以及第二層的狀態(tài)信息(如下所示)。其他與IP對(duì)應(yīng)的協(xié)議的相關(guān)性信息可以通過(guò)相應(yīng)命令屬性獲得,比如show ipx interface brief。
YH-Router#sh ip in brief
Interface IP-Address OK? Method Status Protocol
TokenRing0/0 172.26.12.3 YES NVRAM up up
TokenRing0/1 172.27.12.3 YES NVRAM up up
TokenRing0/2 172.28.12.3 YES NVRAM up up
TokenRing0/3 unassigned YES NVRAM administratively down down
Ethernet1/0 172.30.12.3 YES NVRAM up up
Ethernet1/0 172.31.12.3 YES NVRAM up up
Ethernet1/0 172.32.12.3 YES NVRAM up up
Ethernet1/0 172.33.12.3 YES NVRAM up up
show interface命令可以獲得更多的信息。
【編輯推薦】