目录

简介

先决条件

要求

显示技术支持文件

记录终端会话

在存储中创建文件

Crashinfo文件

核心文件

跟踪日志

系统报告

内核核心

如何提取文件

TFTP

FTP

SCP

USB

故障排除

确认打开端口

USB格式

转接中断

中间TFTP服务器。

简介

本文档介绍在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文件夹中，其名称为putty.log。可使用Browse按钮更改文件的文件夹和名称。

配置完成后，必须通过控制台、Telnet或SSH将Putty会话连接到设备。

在设备会话中，建议在权限模式下设置terminal length 0命令，然后使用show tech-support命令。

# terminal length 0

# show tech-support

注意：执行该命令可能需要几秒钟。不要中断执行。

在存储中创建文件

可以在设备上创建show tech-support文件，并将其存储在文件系统存储区之一（内部或外部）中。 所有设备中的命令语法都保持不变，但使用的文件系统可以更改。文件也可以直接在外部服务器上创建，本节显示本地文件系统的语法。

要在闪存中创建文件，需要使用命令show tech-support | redirect 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文件是一个文本文件，其中包含有助于识别崩溃原因的调试详细信息。内容因平台而异。通常，它有崩溃前的logging buffer和处理器在崩溃前以编码模式运行的函数。在Cisco IOS平台中，这是崩溃后文件系统中最常见的文件。在Cisco IOS XE平台中，此文件仅在IOSd进程发生崩溃时生成；如果其他进程失败，则设备不会创建crashinfo文件。

Crashinfo文件可以在基于平台的flash、bootflash、硬盘或crashinfo存储下找到。在冗余控制平面平台的情况下，可以在主用和/或备用管理引擎中找到崩溃文件。

此文件的内容是有限的，因为它仅在意外重启之前拍摄DRAM内存和进程的内存区域。在某些情况下，可能需要其他文件/输出来确定重新启动的根本原因。

核心文件

在Cisco IOS XE平台中，当进程或服务因运行时错误而终止其执行（并导致意外重启）时，会创建一个核心文件。此文件包含有关重新加载事件的上下文信息。

在Cisco IOS XE平台中，当意外重启由软件驱动时，默认情况下会生成该重启。核心文件可以在任何Linux进程（包括IOSd进程）下创建。

核心文件是压缩文件，包含触发崩溃的特定进程所使用的所有正在执行的内存的信息。此文件需要特殊的工具进行解码，因此，为了保持其一致性，需要提取文件而不进行任何更改。解压缩文件或提取文本信息(如more命令)不允许支持团队解码内容。

核心文件通常存储在core文件夹中，位于bootflash或硬盘中。

下一个示例显示了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或硬盘中找到此文件夹。

可以安全地删除该文件夹，但不建议这样做，因为在发生意外重新加载事件时它可以提供其他信息。

要提取文件夹的内容，最简单的方法是创建一个包含所有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的主目录中。

它始终包含重新启动前生成的tracelog。在意外重新加载的情况下，它包含事件的崩溃文件和核心文件。

此文件是压缩文件，文件夹可以解压缩，但它需要额外的工具来解码信息。

要检查从设备提取此文件的方法，请导航到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服务器。

Cisco设备可用作传输时态TFTP服务器，但不能直接传输到本地文件服务器。

在设备上（使用需要提取的文件），可以运行以下命令：

(config)#tftp-server

:<file>

在配置为客户端的设备上，您可以运行TFTP部分中显示的命令。