路由器服务器已停止响应,排除路由器挂起故障

本文档可帮助排查不响应系统的故障。本文还讨论原因以及如何消除问题。

当系统不对来自控制台或来自网络的查询进行响应时(例如Telnet、简单网络管理协议(SNMP)等),路由器看起来要停止工作了。 这些问题可以分为两大类:

当控制台不响应时。

当流量不通过时。

本文档没有任何特定的要求。

本文档中的信息基于以下软件和硬件版本:

所有的 Cisco IOS® 软件版本

所有 Cisco 路由器

本文不适用于Cisco Catalyst交换机或MGX平台。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

有关文档规则的详细信息,请参阅 Cisco 技术提示规则。

当路由器不响应控制台端口的输入时,会出现控制台问题。如果控制台不具有响应能力,它意味着优先级高的进程能防止控制台驱动器从响应状态进入输入状态。

验证电缆连通性。

验证电源是否打开。

验证路由器 LED 状态。如果所有LED发生故障,则很可能是路由器电源出现故障。

如果流量仍然流经路由器:

断开网络接口并检查路由器是否响应。很多次,路由器假定它在执行一些对服务 exec 会话非常重要的操作。

在发出这些命令后,您还可以尝试重现该问题:

在 Cisco 7200 和 7500 系列中:

configure terminal

scheduler allocate 3000 1000

^Z

scheduler allocate 命令确保为低优先级进程分配相应的 CPU 时间。它设置分配到每个网络中断上下文的快速交换(3000 微秒 - usec)和流程交换 (1000 usec) 的最大时间。

在所有其他平台上,请使用:

configure terminal

scheduler interval 500

^Z

scheduler interval 命令允许每隔 500 usec 计划一些低优先级进程,从而即使在 CPU 使用率为 100% 时,仍允许键入一些命令。

有关这些命令的详细信息,请查看“Cisco IOS 软件命令参考”中的基本系统管理命令。

如果由于路由器 CPU 利用率高而导致控制台不响应,则应查找并更正高 CPU 利用率的原因,这一点非常重要。例如,如果进程交换的 IP 流量引起问题,然后此问题又反映在 show processes cpu 命令输出的“IP 输入”进程中。在这种情况下,收集show interfaces 和show interfaces stat输出都很重要,并且可能用show processes显示需进一步诊断的故障。要解决该问题,将需要减少进程交换的 IP 流量。有关详细信息,请参阅对 Cisco 路由器上的高 CPU 利用率进行故障排除。

显式挂起的另一个可能原因是内存分配失败;也就是或者路由器用完所有可利用的内存,或者内存分成太小的片段以至于路由器不能查找可用的块。有关详细信息,请参阅排查内存问题。

路由器可能由于与安全相关的问题(如蠕虫或病毒)而停止响应。如果最近没有对网络做过任何更改,如路由器IOS升级,则这很可能是问题的起因。通常,一个配置更改(例如添加另外的线路到您的访问控制列表)能减轻此问题的影响。Cisco 安全建议和通知页包含有关检测最可能的原因和特定解决方法的信息。

有关其他信息,请参阅:

如果路由器在启动流程期间看上去似乎要冻结,则可能是由于某功能配置错误或已配置功能中存在软件缺陷。在路由器冻结前,这在控制台的警告或错误信息立即出现时非常明显。

解决此问题的方法是将路由器引导到 ROMMON 中,绕过存储的配置,然后再对其重新配置。请完成以下步骤:

将终端或带终端仿真功能的 PC 连接到路由器的控制台端口。

使用以下终端设置:

9600 波特率

无奇偶校验

8 个数据位

1 个停止位

无流控制

在通电的60秒以内,重新启动路由器,并通过终端键盘上的中断按钮将ROMMON中断。如果中断序列不起作用,请参阅密码恢复过程中的标准中断键顺序组合,以获取其他键组合。

将配置寄存器更换为 0x2142,然后重置路由器。为此,请在 rommon 1> 提示符处执行 confreg 0x2142 命令。然后在 rommon 2> 提示符处键入 reset。这会导致路由器从闪存启动,而不加载配置。

在每个设置问题后键入 no 或按 Ctrl-C 跳过初始设置步骤。

在 Router>提示符处键入 enable。

您将处于启用模式,并且会看到 Router# 提示。

现在,您可以保存空配置(已删除所有命令)。 发出 copy running-config startup-config 命令。或者,如果怀疑某些命令引起问题,则可编辑配置。为此,请发出 copy startup-config running-config 命令。然后键入 configure terminal,并进行更改。

完成后,将configuration-register改回0x2102。对此,键入config-register 0x2102。发出copy running-config startup-config命令以提交更改。

如果流量不流经路由器:

如果流量不再流经路由器,并且控制台无法响应,则可能是系统存在问题。通常,这意味着路由器在连续循环被截住或者某个功能被滞留。这几乎总是由软件中的 Bug 引起。安装您当前运行的 Cisco IOS 软件系列最新维护版本。

在使用 Cisco TAC 创建服务请求之前,请从 ROM Monitor 获取堆栈跟踪。在发生故障期间获得堆栈跟踪,这使它可以确定路由器在循环或停留的代码位置。

控制台保持响应但流量不通过路由器时,会发生流量问题。在这种情况下,一部分流量或一部分接口不响应。此行为可能由多种不同的原因引起。当此问题发生时,可通过控制台端口从路由器收集信息。这些话务问题的原因包括从接口错误到软件和硬件问题。

路由问题 - 网络拓扑或某些路由器配置的更改可能已影响路由表。

高 CPU 利用率 - 发出 show process cpu 命令。如果 CPU 利用率高于 95%,则会影响路由器的性能,并且会延迟或丢弃数据包。有关详细信息,请参阅对路由器上的高 CPU 利用率进行故障排除。

接口关闭 - 路由器接口之一可能关闭。导致该问题的原因可能有多个,包括配置命令错误以及接口或电缆出现硬件故障。发出 show interfaces 命令后,如果一些接口显示为关闭,请设法找出其原因。

楔入接口 - 这是一种特殊的缓冲区泄漏,它会导致接口的输入队列充满,使队列无法再接收数据包。重新加载路由器。此操作会释放该输入队列并恢复流量,直到队列再次充满。根据泄漏的严重性,这可能需要几秒钟到几个星期的时间。

识别楔形接口的最简单方法是发出show interfaces命令,寻找类似于此:

Output queue 0/40, 0 drops; input queue 76/75, 27 drops

有关详细的指南和示例,请参阅排查缓冲区泄漏故障。

K轨迹指的是使用的程序,它可以从ROM监控器的路由器获得一个堆栈跟踪。在具有较旧的 ROM Monitor 代码的路由器上,通过 k 命令可获取堆栈跟踪。在运行最新 ROM Monitor 代码的路由器上,还可以使用 stack 命令。

完成以下步骤,以从不响应的路由器中获取堆栈跟踪:

启用中断序列。为此,请更改配置寄存器值。必须将 8 位值设置为零,以便不会忽略中断。可以使用值 0x2002。

Router#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#config-register 0x2002

重新加载路由器,以便使用新的配置寄存器值。

当问题发生时,请发送中断序列。必须显示 ROM Monitor 提示“>”或“rommon 1>”。

捕获堆栈跟踪。为此,请收集 k 50 或 stack 50 命令的输出。向命令中添加 50 以打印更长的堆栈跟踪。

发出c 或 cont 命令继续。

多次重复最后三个步骤,保证连续循环中的多个点被捕获。

获得几个堆栈跟踪之后,重新启动路由器,以便从挂起状态恢复。

下面是此过程的示例:

User break detected at location 0x80af570

rommon 1 > k 50

Stack trace:

PC = 0x080af570

Frame 00: FP = 0x02004750 RA = 0x0813d1b4

Frame 01: FP = 0x02004810 RA = 0x0813a8b8

Frame 02: FP = 0x0200482c RA = 0x08032000

Frame 03: FP = 0x0200483c RA = 0x040005b0

Frame 04: FP = 0x02004b34 RA = 0x0401517a

Frame 05: FP = 0x02004bf0 RA = 0x04014d9c

Frame 06: FP = 0x02004c00 RA = 0x040023d0

Frame 07: FP = 0x02004c68 RA = 0x04002e9e

Frame 08: FP = 0x02004c78 RA = 0x040154fe

Frame 09: FP = 0x02004e68 RA = 0x04001fc0

Frame 10: FP = 0x02004f90 RA = 0x0400c41e

Frame 11: FP = 0x02004fa4 RA = 0x04000458

Suspect bogus FP = 0x00000000, aborting

rommon 2 > cont

在出现系统问题时,多次重复此过程以收集堆栈跟踪的多个实例。

当路由器不响应时,几乎总是软件问题。在这种情况下,请尽可能收集信息(包括堆栈跟踪),然后再打开 TAC 服务请求。包括 show version、show run 和 show interfaces 命令的输出也非常重要。

如果打开 TAC 服务请求,请向请求中附加以下信息,以排查路由器挂起故障:

在建立案例前所执行的故障诊断及处理措施

show technical-support output(在特权模式下)

show log命令输出或控制台获取信息(如果有的话) 请将您所收集到的上述数据附加在一个非压缩的、纯文本格式(.txt)文件中。 您可以使用 TAC 服务请求工具(仅限注册用户),通过上载信息来将信息附加到案例中。 如果无法访问 TAC 服务请求工具,则可通过将相关信息附加到您的案例中,然后将其发送到 attach@cisco.com,并在邮件的主题行中注明案例编号。

注意:如果控制台响应迅速,请在收集上述信息之前不要手动重新加载或重新启动路由器,除非排除路由器挂起故障需要,否则可能导致确定问题根本原因所需的重要信息丢失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VR(Virtual Reality)即虚拟现实,是一种可以创建和体验虚拟世界的计算机技术。它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真,使用户沉浸到该环境中。VR技术通过模拟人的视觉、听觉、触觉等感觉器官功能,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,创建了一种适人化的多维信息空间。 VR技术具有以下要特点: 沉浸感:用户感到作为角存在于模拟环境中的真实程度。理想的模拟环境应该使用户难以分辨真假,使用户全身心地投入到计算机创建的三维虚拟环境中,该环境中的一切看上去是真的,听上去是真的,动起来是真的,甚至闻起来、尝起来等一切感觉都是真的,如同在现实世界中的感觉一样。 交互性:用户对模拟环境内物体的可操作程度和从环境得到反馈的自然程度(包括实时性)。例如,用户可以用手去直接抓取模拟环境中虚拟的物体,这时手有握着东西的感觉,并可以感觉物体的重量,视野中被抓的物体也能立刻随着手的移动而移动。 构想性:也称想象性,指用户沉浸在多维信息空间中,依靠自己的感知和认知能力获取知识,发挥观能动性,寻求解答,形成新的概念。此概念不仅是指观念上或语言上的创意,而且可以是指对某些客观存在事物的创造性设想和安排。 VR技术可以应用于各个领域,如游戏、娱乐、教育、医疗、军事、房地产、工业仿真等。随着VR技术的不断发展,它正在改变人们的生活和工作方式,为人们带来全新的体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值