本文说明如何在Cisco千兆交换路由器(GSR)线路卡(LC)上配置core dump。
本文档没有任何特定的要求。
本文档中的信息基于以下软件和硬件版本:
思科IOS®软件版本12.0(24)S1
本文适用于所有Cisco 12xxx系列GSR路由器。
注意:到远程服务器的核心转储可能需要20到45分钟的任意时间。路由器无法访问,此时不转发数据包。请谨慎使用此程序。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
核心转储是路由器在检测到不可恢复错误并需要重新加载自身时创建的二进制文件。它是路由器内存映像的完整副本。您需要配置路由器以创建核心转储。但是,并非所有崩溃类型都会产生核心转储。这些通常对技术支持代表有用,有助于确定故障原因。
下表显示了为使用FTP的核心转储配置LC所需的最小配置:
使用FTP的核心转储 |
---|
hostname GSR ! ip ftp source-interface Ethernet0 ip ftp username test ip ftp password blah !--- These commands enable the router for FTP transfer. !--- These commands are not necessary if you use the default !--- protocol TFTP for file transfer. ! interface Ethernet0 ip address 10.77.240.91 255.255.255.128 ! ip route 0.0.0.0 0.0.0.0 10.77.240.1 ! exception protocol ftp !--- Specifies FTP as the protocol for core dumps. The default is TFTP. exception dump 10.77.233.129 !--- Specifies the IP address of the server which receives the core dump file. exception linecard slot 2 !--- Enables the storage of crash information for the LC that you specify. !--- Here you specify slot 2. |
使用此基本配置:
如果千兆路由处理器(GRP)崩溃,则称为GSR-core的核心转储存储在FTP服务器(地址为10.77.233.129)中。
如果插槽2中的LC崩溃称为路由器核心的核心转储,则插槽2存储在同一位置。
当您为核心转储配置路由器时,请测试设置是否工作。
Cisco IOS提供write core命令,以测试或触发核心转储,而无需重新加载。
在特权执行模式(启用模式)下使用write core命令。 此命令使系统生成核心转储,而无需重新加载,并且GRP内存的内容被转储。
当您检查写入文件的服务器的连接时,此命令非常有用。
GSR#write core Remote host [10.77.233.129]? Base name of core files to write [cdfile1]? writing uncompressed ftp://10.77.233.129/cdfile1 Writing cdfile1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!! !--- This output is suppressed.
使用隐藏命令test crash测试核心转储的配置。使用attach命令连接到所需的线卡。在此处输入test crash命令以生成线卡的核心转储。在线卡上执行的命令使用该线卡上的Cisco IOS映像。此IOS映像不包含write core命令。要测试LC上的核心转储配置,需要使用此方法。
注意:test crash命令会中断生产网络。它会导致路由器崩溃并防止路由器在转储其内存内容之前重新出现。这需要的时间量取决于RP或LC上存在的动态RAM(DRAM)量。
GSR#attach 2 Entering Console for 1 Port Packet Over SONET OC-12c/STM-4c in Slot: 2 Type "exit" to end this session Press RETURN to get started! LC-Slot2> LC-Slot2>enable LC-Slot2#test crash WARNING: Command selections marked with '(crash router)' will crash router when issued. However a selection 'C' will need to be issued IMMEDIATELY before these selections to enable them. Type the number for the selected crash: -------------------------------------- 1 (crash router) Bus Error, due to invalid address access 2 (crash router) Bus Error, due to parity error in Main memory 3 (crash router) Bus Error, due to parity error in I/O memory 4 (crash router) Address Error, due to fetching code from odd address 5 (crash router) Jump to zero 6 (crash router) Software forced crash 7 (crash router) Illegal read of address zero 8 (crash router) Divide by zero 9 (crash router) Corrupt memory C Enable crash router selection marked with (crash router) U (crash router) User enter write bus error address W (crash router) Software watchdog timeout (*** Watch Dog Timeout ***) w (crash router) Process watchdog timeout (SYS-2-WATCHDOG) d Disable crashinfo collection e Enable crashinfo collection i Display contents of current crashinfo flash file n Change crashinfo flash file name s Save crashinfo to current crashinfo flash file q Exit crash menu ? C !--- Enter C here and press return. Type the number for the selected crash: -------------------------------------- 1 (crash router) Bus Error, due to invalid address access 2 (crash router) Bus Error, due to parity error in Main memory 3 (crash router) Bus Error, due to parity error in I/O memory 4 (crash router) Address Error, due to fetching code from odd address 5 (crash router) Jump to zero 6 (crash router) Software forced crash 7 (crash router) Illegal read of address zero 8 (crash router) Divide by zero 9 (crash router) Corrupt memory C Enable crash router selection marked with (crash router) U (crash router) User enter write bus error address W (crash router) Software watchdog timeout (*** Watch Dog Timeout ***) w (crash router) Process watchdog timeout (SYS-2-WATCHDOG) d Disable crashinfo collection e Enable crashinfo collection i Display contents of current crashinfo flash file n Change crashinfo flash file name s Save crashinfo to current crashinfo flash file q Exit crash menu ? 6 !--- Enter the number that corresponds to !--- the crash type you want to test. Unexpected exception, CPU signal 23, PC = 0x400E8DA8 -Traceback= 400E8DA8 40C6A4DC 404006E09C 400C477C 400C4768 $0 : 00000000, AT : 41B30000, v0 : 431A8F40, v1 : 00000032 !--- Output is suppressed.
此命令导致崩溃,内存内容被转储。如果没有核心转储生成,则必须查看整个设置和配置。
本节介绍本文档使用的命令和一些其他可选命令。
唯一修改LC崩溃生成的核心转储的异常命令是exception linecard命令。此列表中的其他例外命令适用于GRP生成的核心转储。
exception core-file file-name compress — 设置GRP崩溃生成的核心转储文件的文件名,并创建核心文件。默认情况下,核心文件的名称hostname-core,其中hostname是路由器的名称。使用此命令,每台路由器都有自己唯一的核心文件。
例如,如果路由器的主机名是“lab1”,则默认情况下,路由器会生成一个名为lab1-core的核心转储文件。使用exception core-file Test命令,可以将生成的核心转储的名称更改为Test。
可以使用compress选项压缩核心转储文件。
注意: 将核心转储文件写入闪存磁盘时,会自动使用压缩。在远程复制协议(RCP)的帮助下编写核心转储文件时,不支持压缩选项。
异常协议{ftp | rcp | tftp} — 将核心文件写入远程主机时设置要使用的协议。它可以是文件传输协议(FTP)、简单文件传输协议(TFTP)或远程复制协议(RCP)。 默认协议是TFTP。
注意:不能使用TFTP转储大于16 MB的核心文件。
注意:使用FTP时,必须在该系统上拥有有效的用户帐户和足够的可用磁盘空间。这是因为核心文件可能非常大。默认协议是TFTP。
exception dump ip address — 将远程服务器的IP地址或主机名设置为要写入核心文件的位置。
异常闪存{procmem | iomem | all} {device_name[:partition_number]} — 其他平台中的GSR支持闪存盘作为线性闪存或PCMCIA闪存卡的替代。这些闪存磁盘的大容量使它们成为捕获核心转储的另一种方法的理想选择。以下是使用闪存磁盘设置核心转储所需的路由器配置命令:
exception flash {procmem | iomem | all} {device_name[:partition_number]}
目前,没有将LC核心转储实施到闪存磁盘。
exception crashinfo file device:filename — 配置路由器以在GRP崩溃时写入crashinfo文件。路由器默认启用。
指定选项file device:filename时,您使用闪存设备和文件名来存储诊断信息。冒号是必要的。默认位置为bootflash,文件的默认名称为crashinfo_datetime of crash。
exception crashinfo buffersize kbersize kbolts — 配置路由器以在GRP崩溃时写入crashinfo文件。路由器默认启用。
使用选项buffersize kb,可以将路由器更改为用于crashinfo文件的缓冲区的大小。默认大小为32 KB(最大为100 KB,您使用exception crashinfo buffer 100配置此值)。
exception suffix slot-number — 如果不为GRP核心文件指定文件名,请将插槽编号附加到核心文件名。LC在核心转储上默认添加插槽编号。
异常线路卡{all} | slot slot-number} [corefile filename |主内存大小[k] | m] | queue-ram大小[k] | m] | rx-buffer size [k | m] | sqe-register-rx | sqe-register-tx | tx-buffer size [k] | m]] — 此语法说明进一步详细说明此命令的组件。
all — 存储所有LC的崩溃信息。
slot slot- number — 在您指定的插槽中存储LC的崩溃信息。
corefile filename — 设置LC崩溃生成的核心转储文件的文件名。默认文件名是hostname-core-slot-number(例如,Router-core-2)。
main-memory size — 存储上主内存的崩溃信息,以便和指定崩溃信息的大小。存储所需的内存大小为0到268435456。
queue-ram size — 在LC上存储队列RAM内存的崩溃信息并指定崩溃信息的大小。存储的内存大小可以介于0到1048576之间。
rx-buffer size and tx-buffer size — 在LC上存储接收(rx)和发送(tx)缓冲区的崩溃信息并指定崩溃信息的大小。存储的内存大小可以介于0到67108864之间。
sqe-register-rx和sqe-register-tx — 存储LC上接收或发送硅排队引擎寄存器的崩溃信息。
k和m - k选项将您指定的大小乘以1K(1024), m选项将您指定的大小乘以1M(1024*1024)。
示例:
exception linecard slot 6 — 如果LC崩溃,则允许在插槽6中为LC创建核心文件。
exception linecard slot 6 core-file router_slot6_core — 将LC在插槽6中生成的核心文件的文件名设置为router_slot6_core。
exception linecard slot 6 main-memory 16 Mbytes — 将要转储的主内存内容量设置为16 Mbytes。
注意:最大为256 MB。可以安全地指定此项。
如果指定“exception linecard slot 6 main-memory 256 M”,则配置中不会看到此情况。这是因为在为LC启用核心文件生成时,它是默认配置。
异常内存{片段大小 | minimum size} — 在调试过程中,当某些内存大小参数发生违规时,您可以使路由器创建核心转储并重新启动。参数分段允许您确定空闲池中最小连续内存块(以字节为单位)。最小值表示可用内存池的最小大小。大小值以字节为单位,每60秒检查一次。如果输入的大小大于可用内存,并且配置了exception dump命令,则会生成核心转储,路由器在60秒后重新加载。如果未配置exception dump命令,则路由器将重新加载,而不会生成任何核心转储。
exception region-size size — 当处理器内存池中出现损坏标记时,使用此命令可定义少量内存作为回退池。这有助于防止在核心转储过程中发生内存故障。默认区域大小为16,384字节。如果将异常区域大小配置为最大值(65536字节),则会增加成功进行核心转储的机会。
exception delay-dump delay — 允许您指定在冗余系统上启动核心文件传输之前的延迟。默认情况下,在初始化核心文件传输之前,系统暂停30秒,以给备用设备稳定的时间。有效范围值为30到300秒。
ip ftp username username — 允许您配置在使用FTP将核心文件上传到远程服务器时要使用的用户名。在示例中,用户名设置为test(ip ftp username test)。
ip ftp password [type] password — 允许您指定在ip ftp username username命令中设置的用户名的密码。示例中是“ip ftp password”(ip ftp password)。
ip ftp source-interface interface — 确定要从中获取FTP连接的接口。
ip ftp passive — 默认情况下,路由器尝试使用被动模式FTP进行连接。使用no ip ftp passive命令关闭此项。
注意:自Cisco IOS软件版本12.0(22)S以来,最新引擎类型(2、3、4、4+)支持核心转储生成。 新引擎推出后,应立即支持此功能。所有线卡都支持此功能,以便更轻松地进行故障排除。