簡介
本檔案將說明所需的檔案,這些檔案可確定Cisco IOS®/Cisco IOS XE中意外重新載入的原因,並將它們上傳到TAC案例。不討論SDWAN部署。
必要條件
需求
- 本檔案適用於執行Cisco IOS/Cisco IOS XE軟體的Cisco路由器和交換器。
- 為了收集本文檔中描述的檔案,裝置必須啟動且穩定。
- 為了通過傳輸協定提取檔案,需要一台伺服器(安裝檔案傳輸應用程式/服務),該伺服器必須具有L3可達性。
- 需要通過SSH/Telnet到裝置的控制檯或遠端連線。
附註:在意外的重新載入事件中,某些檔案可能不會根據重新載入的性質和平台來產生。
顯示技術支援檔案
show tech-support命令輸出包括有關裝置當前狀態(記憶體和CPU利用率、日誌、配置等)的一般資訊,以及有關發生意外重新載入事件時建立的檔案的資訊。
在出現意外重新啟動情況時,需要檢查的要點包括:
- 裝置上安裝的當前Cisco IOS/Cisco IOS XE版本。
- 包含埠、卡和模組詳細資訊的系統配置。
- 存在其他檔案,以便在檔案系統中提供根本原因分析。
show tech-support輸出可以通過兩種不同方式獲取:記錄終端會話或在儲存中建立檔案並將其從裝置傳輸:
記錄終端會話
在Putty中,導航到Session > Logging,然後在Session logging頁籤中選擇,然後選擇All session output選項,如下圖所示。
預設情況下,檔案以putty.log名稱儲存在Putty資料夾中。使用Browse按鈕可以更改檔案的資料夾和名稱。
完成配置後,必須通過Console、Telnet或SSH將Putty會話連線到裝置。
在裝置會話中,建議在許可權模式下設定terminal length 0命令,然後使用show tech-support命令。
# 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]:指令;由於檔案是純文字檔案檔案,因此可以使用更多命令在裝置上顯示內容。
# show flash:
# more flash:Showtech.txt
建立檔案後,可以透過選擇的傳輸通訊協定(FTP/TFTP/SCP)將其擷取到外部儲存裝置,並共用檔案進行分析。
Crashinfo檔案
crashinfo檔案是一個文本檔案,其中包含有助於識別崩潰原因的調試詳細資訊。內容因平台而異。通常,它具有crash之前的logging buffer和處理器在崩潰之前以編碼模式運行的函式。在Cisco IOS平台中,這是崩潰後檔案系統中最常見的檔案。在Cisco IOS XE平台中,此檔案僅在IOSd進程中發生崩潰時生成;如果任何其他進程失敗,則裝置不會建立crashinfo檔案。
在平台上的flash、bootflash、硬碟或crashinfo儲存下可以找到crashinfo檔案。在冗餘控制平面平台的情況下,可以在主用和/或備用管理引擎中找到崩潰檔案。
此檔案的內容是有限的,因為它僅在意外重新啟動之前拍攝DRAM記憶體和進程的記憶體區域。在某些情況下,可能需要其他檔案/輸出來確定重新啟動的根本原因。
核心檔案
在Cisco IOS XE平台中,當進程或服務因運行時錯誤而終止其執行(並導致意外重新啟動)時,會建立一個核心檔案。此檔案包含有關重新載入事件的上下文資訊。
在Cisco IOS XE平台中,當意外重新啟動由軟體驅動時,預設情況下會生成該指令碼。核心層檔案可以在任何Linux進程(包括IOSd進程)下建立。
核心轉儲檔案是壓縮檔案,包含觸發崩潰的特定進程在執行中使用的所有記憶體的資訊。此檔案需要特殊的工具進行解碼,因此,為了保持其一致性,需要提取該檔案而不做任何更改。解壓縮檔案或作為文本提取資訊(如more命令)不允許支援團隊對內容進行解碼。
Core檔案通常儲存在bootflash或harddisk的core資料夾中。
下一個示例顯示了corefile如何出現在bootflash檔案系統中的核心資料夾中:
------------------ 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能夠成功分析核心檔案,需要提取檔案而無需任何修改或更改。
若要驗證從裝置提取此檔案的方法,請導航到Extract Files部分。
跟蹤日誌
tracelog是Cisco IOS XE中每個進程的內部日誌。tracelogs目錄預設建立,其內容定期被覆蓋。此資料夾可在bootflash或harddisk中找到。
可以安全刪除該資料夾,但不建議這樣做,因為在發生意外重新載入事件時它可以提供其他資訊。
為了提取資料夾的內容,最簡單的方法是建立一個包含所有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
Tracelog是需要其他工具進行解碼的編碼檔案,因此需要在建立壓縮檔案時對其進行解壓。
要檢查從裝置提取此檔案的方法,請導航到Extract Files部分。
系統報告
系統報告是一個壓縮檔案,當發生意外重新載入時,它收集軟體執行中的大部分可用資訊。系統報告包含tracelogs、crashinfo和core檔案。在Cisco IOS XE交換機和無線控制器上發生意外重新載入時,將建立此檔案。
此檔案可在bootlfash或harddisk的主目錄中找到。
它始終包含重新引導之前生成的tracelogs。在意外重新載入的情況下,它有事件的崩潰檔案和核心檔案。
此檔案是壓縮檔案,資料夾可以解壓縮,但它需要額外的工具來解碼資訊。
若要檢查從裝置提取此檔案的方法,請導航到Extract Files部分。
核心核心
核心核心由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格式
大多數Cisco IOS和Cisco 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伺服器。
思科裝置可用作臨時的TFTP伺服器,用於不能直接傳輸到本地檔案伺服器的傳輸。
在裝置上(使用需要提取的檔案),可以運行命令:
(config)#tftp-server
:<file>
在設定為使用者端的裝置上,您可以執行TFTP一節中顯示的命令。