簡介
本檔案介紹判斷思科IOS®/思科IOS XE中意外重新載入的原因所需的檔案,並將它們上傳到TAC支援請求。
必要條件
需求
- 本檔案適用於執行Cisco IOS/Cisco IOS XE軟體的Cisco路由器和交換器。
- 為了收集本文檔中描述的檔案,裝置必須啟動並穩定。
- 若要透過傳輸通訊協定擷取檔案,需要具備L3連線能力的伺服器(已安裝檔案傳輸應用程式/服務)。
- 需要透過SSH/Telnet到裝置的控制檯或遠端連線。
- 不討論SDWAN部署。
注意:在意外重新載入事件中,某些檔案可能不會根據重新載入和平台的性質生成。
顯示技術支援檔案
show tech-support命令輸出包括關於裝置當前狀態(記憶體和CPU使用率、日誌、配置等)的一般資訊,以及有關發生意外重新載入事件時建立的檔案的資訊。
在出現意外重新啟動情況時,需要檢查的要點包括:
- 裝置上安裝的當前Cisco IOS/Cisco IOS XE版本。
- 系統組態包含連線埠、介面卡和模組詳細資訊。
- 存在其他檔案,可在檔案系統中提供根本原因分析。
show tech-support輸出可以透過兩種不同方式獲取:記錄終端會話或在儲存中建立檔案並將其從裝置傳輸:
記錄終端會話
在Putty中,導航到會話 > 日誌記錄,然後在會話日誌記錄頁籤中選擇所有會話輸出選項,如下圖所示。
預設情況下,該檔案以putty.log名稱儲存在Putty資料夾中。可使用Browse按鈕更改檔案的資料夾和名稱。
配置完成後,必須透過控制檯、Telnet或SSH將Putty會話連線到裝置。
在裝置會話中,建議在許可權模式下設定terminal length 0命令,然後使用show tech-support命令(不建議使用Telnet會話)。
# terminal length 0
# show tech-support
注意:此命令的執行可能需要幾秒鐘。請勿中斷執行。
在儲存體中建立檔案
可以在裝置上建立show tech-support檔案,並將其儲存在檔案系統儲存之一(內部或外部)中。所有裝置中的命令語法都相同,但使用的檔案系統可以更改。檔案也可以直接在外部伺服器上建立,本節顯示本機檔案系統的語法。
要在快閃記憶體中建立檔案,需要使用命令show tech-support | 在特權模式下重定向flash:Showtech.txt:
# show tech-support | redirect flash:Showtech.txt
產生文字檔時,終端機無法使用數秒。完成之後,您可以使用show [file system]:命令驗證檔案建立是否正確;由於檔案是純文字檔案檔案,因此可以透過more命令在裝置上顯示內容。
# show flash:
# more flash:Showtech.txt
建立檔案後,即可使用選擇的傳輸通訊協定(FTP/TFTP/SCP)將其解壓縮到外部儲存裝置,並共用檔案進行分析。
Crashinfo檔案
crashinfo檔案是文本檔案,其中包括有助於確定崩潰原因的調試詳細資訊。內容因平台而異。通常,它具有崩潰前日誌記錄緩衝區和處理器在崩潰前以編碼模式運行的功能。在Cisco IOS平台中,這是崩潰後可在檔案系統中找到的最常見檔案。在Cisco IOS XE平台中,此檔案僅在IOSd進程發生崩潰時生成;如果任何其他進程失敗,則裝置不會建立crashinfo檔案。
Crashinfo檔案可以在平台上的base中的flash、bootflash、硬碟或crashinfo儲存下找到。在冗餘控制平面平台的情況下,可以在主用和/或備用Supervisor中找到crashfile。
此檔案的內容受到限制,因為它僅在意外重新啟動之前對DRAM記憶體和進程的記憶體區域進行快照。某些情況下,可能需要其他檔案/輸出來確定重新引導的根本原因。
核心檔案
在Cisco IOS XE平台中,當進程或服務因運行時錯誤而終止執行(並導致意外重新啟動)時,會建立一個核心檔案。此檔案包含有關重新載入事件的前後關聯資訊。
在Cisco IOS XE平台中,當意外重新啟動由軟體驅動時,預設情況下會生成此消息。核心檔案可以在任何Linux進程下建立(包括IOSd進程)。
核心檔案是壓縮檔案,其中包含觸發當機之特定程式所使用之所有執行中記憶體的資訊。此檔案需要特殊的工具進行解碼,因此,為了保持其一致性,需要提取該檔案而不做任何更改。解壓縮檔案或將資訊提取為文本(例如使用more命令),將不允許支援團隊對內容進行解碼。
核心檔案通常儲存在bootflash或硬碟中的core資料夾中。
下一個範例會顯示corefile如何出現在bootflash檔案系統的core資料夾中:
------------------ show bootflash: all ------------------
9 10628763 Jul 14 2021 09:58:49 +00:00 /bootflash/core/Router_216_Router_RP_0_ucode_pkt_PPE0_3129_1626256707.core.gz
10 10626597 Jul 23 2021 13:35:26 +00:00 /bootflash/core/Router_216_Router_RP_0_ucode_pkt_PPE0_2671_1627047304.core.gz
注意:要使TAC成功分析核心檔案,需要提取檔案而不進行任何修改或更改。
要驗證從裝置解壓縮此檔案的方法,請導航到解壓縮檔案部分。
追蹤記錄檔
跟蹤日誌是Cisco IOS XE中每個進程的內部日誌。依預設會建立tracelogs目錄,並定期覆寫其內容。可以在bootflash或硬碟中找到此資料夾。
可以安全地移除資料夾,但不建議這樣做,因為在發生未預期的重新載入事件時,它可以提供其他資訊。
要提取資料夾的內容,最簡單的方法是建立一個包含所有tracelogs檔案的壓縮檔案。在基於平台中,可以使用以下命令:
對於Cisco IOS XE路由器:
# request platform software trace slot rp active archive target bootflash:TAC_tracelogs
對於Cisco IOS XE交換機和無線控制器:
# request platform software trace archive target bootflash:TAC_tracelogs
Tracelogs是需要附加工具進行解碼的編碼檔案,因此需要在建立壓縮檔案時將其解壓縮。
若要檢查從裝置擷取此檔案的方式,請瀏覽至「擷取檔案」一節。
系統報告
系統報告是在發生意外重新載入時,收集軟體執行中大多數可用資訊的壓縮檔案。系統報告包含tracelogs、crashinfo和core檔案。如果在Cisco IOS XE交換機和無線控制器上意外重新載入,則會建立此檔案。
您可以在bootlfash或硬碟的主目錄中找到檔案。
它始終包含重新引導之前生成的跟蹤日誌。在意外重新載入的情況下,它包含事件的崩潰檔案和核心檔案。
此檔案是壓縮檔案,資料夾可以解壓縮,但需要其他工具才能解壓縮資訊。
要檢查從裝置提取此檔案的方法,請導航到提取檔案部分。
核心核心
核心核心由Linux核心而不是由Cisco IOS XE進程建立。當裝置由於核心故障而重新載入時,通常會建立完整核心核心(壓縮檔案)和核心核心(純文字檔案)檔案的摘要。
可以檢查導致意外重新引導的進程,但始終建議向Cisco TAC提供檔案,以便提供重新載入原因的完整分析。
核心核心檔案可以在bootflash或硬碟的主目錄中找到。
如何解壓縮檔案
本節介紹將所需檔案從Cisco IOS/Cisco IOS XE平台傳輸到外部儲存客戶端所需的基本配置。
預期可從裝置連線至伺服器。如有必要,請確認沒有防火牆或配置阻止從裝置到伺服器的流量。
本節不建議使用任何特定的伺服器應用程式。
TFTP
要透過TFTP傳輸檔案,需要設定到TFTP伺服器應用程式的可達性。無需其他配置。
預設情況下,某些裝置透過管理介面使ip tftp source interface配置處於活動狀態。如果伺服器無法透過管理介面連線,請執行命令以移除此組態:
(config)# no ip tftp source interface
完成到達伺服器的配置後,為了傳輸檔案,您可以運行以下命令:
#copy
:<file> tftp:
Address or name of remote host []? X.X.X.X
Destination filename [<file>]?
FTP
要透過FTP傳輸檔案,需要設定對FTP伺服器應用程式的可達性。必須從裝置和FTP伺服器應用程式配置FTP使用者名稱和密碼。要在裝置上設定憑證,請運行以下命令:
(config)#ip ftp username username
(config)#ip ftp password password
或者,您可以使用以下命令在裝置上配置FTP源介面:
(config)# ip ftp source interface interface
完成到達伺服器的配置後,為了傳輸檔案,您可以運行以下命令:
#copy
:<file> ftp:
Address or name of remote host []? X.X.X.X
Destination filename [<file>]?
SCP
要透過SCP傳輸檔案,需要設定到SCP伺服器應用程式的可達性。必須在裝置(開始傳輸需要憑證)和SCP伺服器應用上配置本地使用者名稱和密碼。此外,還需要在裝置上配置SSH。要確認已配置SSH服務,請運行命令:
#show running-config | section ssh
ip ssh version 2
ip ssh server algorithm encryption 3des-cbc aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption 3des-cbc aes128-ctr aes192-ctr aes256-ctr
transport input ssh
transport input ssh
要在裝置上設定憑據,請運行命令:
(config)#username USER password PASSWORD
注意:如果TACACS或其他服務用於SSH使用者身份驗證,則在SCP伺服器也具有使用者資訊時,可以使用這些憑據。
完成組態設定後,為了傳輸檔案,您可以執行下列指令:
#copy
:<file> scp:
Address or name of remote host []? X.X.X.X
Destination filename [<file>]?
USB
透過USB快閃記憶體傳輸檔案不需要訪問網路中的任何外部伺服器,但需要物理訪問裝置。
所有具有Cisco IOS/Cisco IOS XE的物理裝置都具有USB埠,可用作外部儲存。
要確認可以辨識USB快閃記憶體驅動器,請運行show file systems命令:
#show file systems
File Systems:
Size(b) Free(b) Type Flags Prefixes
- - opaque rw system:
- - opaque rw tmpsys:
* 11575476224 10111098880 disk rw bootflash: flash:
2006351872 1896345600 disk ro webui:
- - opaque rw null:
- - opaque ro tar:
- - network rw tftp:
33554432 33527716 nvram rw nvram:
- - opaque wo syslog:
- - network rw rcp:
- - network rw pram:
- - network rw http:
- - network rw ftp:
- - network rw scp:
- - network rw sftp
- - network rw https:
- - network ro cns:
2006351872 1896345600 disk rw usbflash0:
注意:Cisco IOS/Cisco IOS XE裝置支援官方的Cisco USB快閃記憶體驅動器。對於任何第三方USB快閃記憶體,支援都是有限的。
在正確插槽(usbflash0或usbflash1)中的裝置辨識USB快閃記憶體後,如果有足夠的可用空間,請使用以下命令傳輸檔案:
#copy
:<file> usbflashX:
Destination filename [<file>]?
疑難排解
本節介紹在將檔案傳輸到(從Cisco IOS或Cisco IOS XE裝置)外部方法時可以發現並使用的某些常見錯誤和解決方法。
確認開啟的連線埠
如果確認與伺服器的可達性後,裝置顯示連線被拒絕錯誤,則有必要驗證裝置端的埠是否可用(沒有阻止流量的ACL條目),以及伺服器端埠是否可用(對於最後部分,可以使用具有所需埠的telnet命令)。
根據使用的協定,運行以下命令:
TFTP
#telnet X.X.X.X 69
FTP
#telnet X.X.X.X 21
SCP
#telnet X.X.X.X 22
注意:以前的埠是每個協定的預設埠,這些埠是可以更改的。
如果命令沒有提供成功的開放埠,確認任何可能丟棄流量的錯誤配置(從伺服器端或路徑中的任何防火牆)會很有幫助。
USB格式
大多數思科IOS和思科IOS XE裝置無法辨識第三方USB。
Cisco IOS路由器和交換機無法辨識大於4GB的USB。Cisco IOS XE平台可辨識大小大於4GB的USB。
如果是第三方USB,則可以使用FAT32或FAT16格式進行測試。即使相容的USB記憶體磁碟機,也無法辨識任何其他格式。
傳輸中斷
對於具有許多躍點的伺服器,檔案傳輸可能會中斷並需要重新開始傳輸。
在此場景中,在vty線路上使用此配置很有用:
(config)#line vty 0 4
(config-line)#exec-timeout 0 0
先前的設定可確保不會捨棄傳輸作業階段,即使控制封包在路徑中遭捨棄,或封包需要太長的時間才能確認。
傳輸完成後,建議從vty線路中刪除此配置。
建議始終將檔案伺服器放置在儘可能靠近裝置的地方。
中繼TFTP伺服器。
Cisco裝置可用作臨時的TFTP伺服器,用於無法直接傳輸到本地檔案伺服器的傳輸。
在裝置上(使用需要提取的檔案),您可以運行以下命令:
(config)#tftp-server
:<file>
從配置為客戶端的裝置中,您可以運行TFTP部分中顯示的命令。