• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

交换机软件故障检测技术白皮书-6W100

手册下载

交换机软件故障检测技术白皮书-6W100-整本手册.pdf  (874.31 KB)

  • 发布时间:2026/1/15 19:35:06
  • 浏览量:
  • 下载量:

交换机软件故障检测技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2026 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。



1 概述

1.1  产生背景

随着企业网络规模扩大和业务复杂度提升,网络设备稳定运行成为保障业务连续性的关键。传统运维模式依赖人工巡检和经验判断,在面对大规模设备部署、深层系统故障及瞬时性能劣化时,常面临故障发现滞后、根因定位困难、处置效率不足等问题。特别是承载核心业务的路由交换设备,其操作系统内核及关键进程的隐性故障、硬件潜在缺陷及业务功能异常,若无法实现有效检测与恢复,将直接影响网络可靠性与服务质量。

为应对上述挑战,实现从“被动响应”到“主动预防”、从“人工处置”到“智能自治”的运维模式转型,智能运维理念与技术应运而生。H3C交换机深度融合智能运维能力,旨在通过内置的、多层级的故障检测与自愈技术,构建一个具备高度自感知、自诊断、自优化、自恢复能力的设备内生智能系统。本手册所详述的进程级故障检测技术、业务级故障检测技术与转发面故障检测技术,正是这一系统核心能力的体现,它们从系统内核、控制平面到数据平面构建了全方位的保障体系,共同为现代化网络的智能化运维提供了坚实的技术支撑。

1.2  软件故障检测技术架构

H3C交换机的软件故障检测技术采用分层设计理念,贯穿系统内核、业务应用与数据转发层面,形成立体化的故障检测与处理机制。

·     进程级故障检测关键技术

该技术针对操作系统内核线程进行监控。内核线程负责交换路由、协议处理等核心任务,其运行状态直接影响系统稳定性。它如同设备的“神经系统监护仪”,通过持续监控线程调度与执行行为,可实时检测并记录线程死循环、调度饿死、异常崩溃及自动重启等深层软件故障,为定位系统级“疑难杂症”提供最直接的现场证据,从根本上提升设备的可靠性与可维护性。

·     业务级故障检测关键技术

该技术面向控制平面与业务功能层,通过一键诊断、GOLD(通用在线诊断)和EAA(嵌入式自动化架构)等功能的组合使用,实现设备健康检查、性能监控、故障诊断及自动化处理。各功能既可独立运作,也可通过联动机制实现更复杂的运维场景。它赋予设备“自我管理”与“主动修复”的能力,显著提升了运维的智能化水平和效率。

·     转发面故障检测关键技术

该技术聚焦于设备数据转发平面(数据平面)的异常监控与处置,主要针对物理端口、单板硬件及队列转发质量等关键环节。通过对光功率、错误报文、缓存状态、转发时延及丢包率等指标的实时监测与阈值判断,该技术能够在转发异常发生时及时告警或执行预定义动作(如关闭端口),以隔离故障影响,保障业务流量的可靠传输,是维持网络“高速公路”畅通的底层保障。

说明

设备是否支持某个具体的软件故障检测技术,和设备的型号有关,请以设备的实际情况为准。

 

1.3  技术优点

交换机的软件故障检测技术通过多层次、多维度的监控与处置能力,为设备运维带来以下核心价值:

·     实现故障的精准定位与快速隔离

结合进程级检测对系统内核异常的深度探查,以及转发面检测对物理链路与数据层故障的实时判定,能够从软件到硬件精准定位故障根源,并通过端口关闭等自动处置动作快速隔离问题点,最小化故障影响范围与业务中断时间。

·     构建主动预警与自动化运维能力

依托业务级检测技术中的GOLD周期性诊断,并结合EAA的自动化策略,能够在对业务产生影响前发现性能劣化趋势与潜在隐患,并自动执行预定义的修复或优化动作,变被动响应为主动预防。

·     提供贯穿始终的数据支撑与决策依据

从进程状态到转发面队列深度与时延,该技术体系持续产生并结构化存储全维度的运行数据。这些数据不仅是实时监控和故障回溯的基础,更能用于长期的容量规划、性能调优与网络质量评估,为运维决策提供坚实的数据依据。

2 进程级故障检测关键技术

2.1  内核线程死循环检测

2.1.1  技术概述

在内核态中,CPU时间片由调度器统一管理,所有内核线程按优先级公平共享。若某一线程因软件缺陷陷入无限循环且不主动释放CPU,将导致其长时间独占计算资源,致使其他线程(包括高优先级线程)无法被调度,引发系统响应迟缓甚至业务中断,即“死循环”故障。

本功能通过以下机制实现检测:

(1)     监控机制:系统为每个CPU核心上的每个内核线程维护一个独占计时器,累计其单次连续占用CPU的执行时长。

(2)     判定逻辑:当某一线程的连续执行时长超过预设阈值(用户可配置),且期间未被调度器正常切换,则判定为死循环。

(3)     处置与记录:为防止误操作引发二次故障,系统不主动终止被判定线程,而是生成一条包含时间戳、CPU核心、线程IDTID)、线程名称等关键信息的详细事件记录,供后续查询与分析。

图1 内核线程死循环检测

 

2.1.2  技术价值

·     快速定位系统卡顿根因:当设备出现性能劣化或疑似挂死时,管理员可第一时间查询死循环记录,精准定位问题线程,极大缩短故障排查时间。

·     暴露潜在代码缺陷:该功能作为一种有效的运行时监控手段,能够持续暴露驱动、内核模块中潜在的逻辑错误或资源竞争问题,推动软件质量持续改进。

2.2  内核线程饿死检测

2.2.1  技术概述

与死循环相反,“饿死”是指某个内核线程因长期无法满足其执行条件(如等待的锁未释放、依赖的资源未就绪、或调度优先级被持续压制),导致其在极长时间内无法获得任何CPU调度机会。虽然饿死本身通常不会直接导致系统崩溃(条件满足后可自动恢复),但可能意味着系统存在调度策略不当或资源死锁风险。

本功能通过以下机制实现检测:

(1)     监控机制:系统跟踪并记录每个内核线程最后一次被成功调度执行的时间戳。

(2)     判定逻辑:系统定期计算当前时间与线程上次执行时间的差值。若该差值超过预设的“饿死判定时长”(用户可配置),且线程非处于主动休眠状态,则判定该线程可能发生饿死。

(3)     处置与记录:系统生成饿死事件记录,包含线程ID、名称、持续饿死时长等信息,用于预警和辅助诊断,系统不会对饿死线程进行主动干预。

图2 内核线程饿死检测

 

2.2.2  技术价值

·     揭示系统调度与同步隐患:饿死事件是深层系统设计问题的“风向标”,如优先级反转、锁竞争过度、任务流水线阻塞等。通过分析饿死记录,可为系统调优和架构改进提供关键依据。

·     保障关键后台任务:确保如内存回收、日志管理等关键后台守护线程不被意外饿死,维护系统长期运行的稳定性与性能基线。

2.3  内核线程异常信息显示

2.3.1  技术概述

本功能提供统一的查询命令,用于集中显示内核线程运行过程中由系统捕获并记录的各类严重异常事件信息,为系统故障诊断提供关键线索。

当内核线程在执行过程中触发由CPU硬件或操作系统内核底层检测到的严重错误(如内存访问越界、非法指令、断言失败等)时,系统的异常处理机制会立即接管。该机制的核心作用是在尽力防止系统整体崩溃(例如,仅终止出错的线程以隔离故障)的同时,将异常发生的瞬间系统状态完整地冻结并记录下来。

系统会将异常事件的详细上下文信息格式化保存至内部诊断缓冲区,形成一份结构化的诊断报告。该报告不仅记录了错误“是什么”(事件类型),更重要的是保留了错误“发生时”的完整系统状态(寄存器、内存、调用栈),为分析复杂的、偶发的软件缺陷根源提供了不可或缺的一手数据,是保障系统高可靠性和可维护性的关键技术手段。

2.3.2  技术价值

·     实现崩溃现场“时光回溯”:将不可预测的瞬时崩溃,转化为可追溯、可分析的静态诊断报告,解决了偶发性、难复现内核故障的诊断难题。

·     提供根因分析“决定性证据”:通过调用栈和寄存器现场,开发人员可直接定位到引发崩溃的源代码函数及大致逻辑,极大加速缺陷修复进程。

2.4  内核线程重启信息显示

2.4.1  技术概述

对于维系系统核心功能的关键内核线程(如协议栈守护进程、设备管理线程),系统具备健康监控与自动恢复机制。当这些线程因未捕获异常、资源耗尽等原因意外退出时,监控管理器会检测到其消失,并自动重新创建并启动该线程,以保障业务连续性。

此过程会被记录为一次“内核线程重启”事件。本功能提供命令接口,用于查询历史重启记录,内容包括重启时间、线程标识符、重启次数等。

2.4.2  技术价值

·     监控系统自愈能力与健康度:使管理员能够感知关键服务的异常终止与自动恢复过程,评估系统韧性。

·     发现持续性软故障:频繁的自动重启是相关模块存在稳定性问题的明确信号(如内存泄漏、特定条件触发BUG),提示需要进行专项排查与修复。

3 业务级故障检测关键技术

3.1  一键诊断技术

3.1.1  技术概述

一键诊断是设备提供的一种智能诊断功能,可以24小时不间断地对各业务模块故障进行自动发现、自动诊断。用户可根据需要开启或关闭一键诊断功能。

一键诊断主要包括以下两个方面的功能:

·     业务模块健康度的一键诊断

该功能用于诊断业务模块能否正常提供服务。如果业务模块的功能异常,或者运行状态错误,导致业务模块无法正常提供服务,系统会判定业务模块发生了不健康事件,并记录不健康事件的相关信息,便于用户了解业务模块的运行状态。

一键诊断的业务模块包括硬件和软件业务两大类。其中:

¡     硬件诊断对象包括CPU和内存。

¡     软件业务诊断对象包括AAAPINGSNMPBGPDHCPOSPFIS-IS、组播、ARPND等。

·     业务功能的一键诊断

该功能用于诊断业务模块的功能是否运行正常,帮助用户定位业务功能异常问题。例如SNMP Trap发送失败一键诊断用于诊断是否出现过SNMP Trap发送失败事件以及失败的原因。

3.1.2  技术价值

 

3.1.3  典型应用

1. 业务模块健康度一键诊断

例如,用户可以对BGP模块进行健康度一键诊断。通过诊断结果,用户可以一目了然地看到BGP模块当前是否运行正常,如果运行不正常,可显示异常发生的时间和原因。

 

2. 业务功能故障一键诊断

例如,用户可以对CPU利用率突增进行健康度一键诊断。设备会对CPU利用率进行采样,如果本次CPU利用率的采样值减去上一次采样值的结果大于10%,则认为CPU利用率突增。通过诊断结果,用户可查看最近CPU利用率突增事件,以及最近一次CPU利用率突增事件发生时CPU利用率排前五的进程的信息,以帮助用户定位CPU利用率突增的问题。

 

3.2  GOLD技术

3.2.1  技术概述

GOLDGeneric OnLine Diagnostics,通用在线诊断)通过在设备上执行诊断测试例,来发现硬件、软件故障,并进行问题报告和修复。

·     GOLD检查的硬件故障主要包括:端口、内存、芯片、连接、转发路径以及控制路径是否正常等。

·     GOLD检查的软件故障主要包括:LIPC(系统内部通信通道)连通性检测、目的网络或目的主机连通性检测等。

GOLD进行故障诊断的处理流程如下:

(1)     运行测试例

GOLD将测试例分为启动诊断测试例、监控诊断测试例和按需诊断测试例。部分测试例处于开启状态,部分测试例需要管理员手工开启。

¡     启动诊断测试例仅在设备启动阶段运行。

¡     监控诊断测试例开启后按周期自动运行,直到关闭为止。

¡     按需诊断测试例可以设置停止条件:测试执行指定次数后自动停止、失败达到指定次数后自动停止,或者通过命令行手工停止。

(2)     监控测试结果

GOLD会在后台监控测试例的执行情况,并记录测试结果。执行display diagnostic result命令可以查看测试例执行结果为成功还是失败。对于失败的测试,执行display diagnostic result verbose命令可查看测试失败发生的时间以及失败原因等,以便用户进行故障定位。

(3)     故障修复

部分测试例出厂即指定了故障修复动作,通过display diagnostic content verbose命令显示信息中的Correct-action字段可以查看。

对于监控诊断测试例,用户还可以通过命令行指定故障修复动作。设备支持的故障修复动作包括:重启故障的单板、重启故障的业务模块、主备倒换(启用备用主控板来替代当前故障的主用主控板)、整机重启等。

(4)     与业务模块联动

GOLD支持和一键诊断、EAAEmbedded Automation Architecture,嵌入式自动化架构)功能联动,以便提供更多、更丰富的诊断功能。

 

3.2.2  技术价值

 

3.2.3  典型应用

1. GOLD自动检测控制通道链路

设备启动完成后,GOLD会以5分钟为周期自动执行名称为ipc-check的测试例,该测试例会自动检测控制通道链路是否畅通,并记录测试结果。如果控制通道链路不畅通,GOLD会进行故障恢复:

·     如果故障的控制通道链路存在备份链路,则立即启用备份链路来替代故障的控制通道链路。

·     如果故障的控制通道链路不存在备份链路,则重启对应的接口板。

2. GOLD助力“一键诊断”

GOLD和一键诊断功能配合,为用户提供BGP模块健康度诊断的示例。通过诊断结果,用户可以一目了然地看到BGP模块当前是否运行正常,如果运行不正常,可显示异常发生的时间和原因。

3. GOLDEAA联动提供灵活的智能运维功能

GOLD可以作为EAA的事件源,当测试例执行失败指定次数时,就执行EAA策略中定义的动作。例如:

·     通过GOLD执行测试例LIPCMonitor,来定时检测LIPC(系统内部通信通道)的连通性。

·     如果检测失败3次,则调用EAA策略,执行主备倒换动作,并发送级别为2的日志通知网络管理员。

3.3  EAA技术

3.3.1  技术概述

EAAEmbedded Automation Architecture,嵌入式自动化架构)是集成在系统软件中、用于智能运维的软件功能。

使用EAA功能:

·     用户可以定制EAA监控策略,在策略中定义自己感兴趣的事件以及事件发生时的处理动作。监控策略被启用后,当事件源(业务模块)监控到用户定制的事件发生时,就自动执行监控策略中的动作。

·     用户可以同时定制多个EAA监控策略,智能地监控多种事件,并执行灵活多变的动作,从而大大地提升系统运维的自动化,降低运维成本,提高运维速度。

图3 EAA系统架构图

 

EAA通过EAA监控策略来实现用户的功能定制。每个EAA监控策略中必须包含以下元素:事件、动作、用户角色、运行时间。EAA工作机制如下:

(1)     网络管理员定义EAA监控策略,包括监控事件、监控动作等参数。

(2)     EAA将事件触发条件通知给事件源(业务模块)。

(3)     事件源(业务模块)实时监控着监控对象的状态。

(4)     如果监控对象满足触发条件,业务模块则通知EAA监控事件发生。

(5)     EAA根据事件通知匹配到对应的监控策略,EAA用策略中指定的用户角色去自动执行监控策略中定义的动作并记录策略执行结果。

业务模块继续监控,当满足触发条件,会再次执行EAA监控策略。直到EAA监控策略运行时间到达,EAA会自动立即停止执行策略,或者网络管理员手工停止执行EAA监控策略,以免策略长时间运行占用系统资源。

图4 EAA工作机制图

 

3.3.2  技术价值

 

3.3.3  典型应用

1. 使用EAA自动监控IPsec隧道

在用户网络出口Device ADevice B之间建立一条穿越中间网络InternetIPsec隧道,通过该隧道对Device ADevice B之间的数据流进行安全保护。如果修改Internet中网络设备上的配置,很可能会导致IPsec SA失效,IPsec隧道不通。传统维护流程为网络管理员手工重置IPsec SAIKE SA,通常这个运维过程至少需要30分钟。

Device ADevice B上,采用如下方式部署EAA监控策略,可快速定位并恢复故障。

·     Track作为事件源,Track关联NQA ICMP-echo测试,来探测链路是否通畅。

·     300毫秒进行一次NQA ICMP-echo测试。一次测试中如果连续有5次探测失败,则认为链路故障。然后,EAA立即自动执行命令行重置IPsec SAIKE SA,来尝试恢复IPsec隧道。

图5 使用EAA自动监控IPsec隧道组网图

 

2. 使用EAA自动监控BGP邻居

Device ADevice DDevice E已经建立BGP会话。正常情况下,Device DDevice E发往外网的流量通过Device A转发。

Device A上部署EAA监控策略,可实现:

·     Device A连接Device C的接口Interface 1状态变为Down之后,Device A能够自动执行peer ignore命令禁止和Device DDevice E建立BGP会话。从而使得Device DDevice E发往外网的流量通过Device B转发。

·     Device A连接Device C的接口Interface 1状态变为UP之后,Device A能够自动执行undo peer ignore命令重新和Device DDevice E建立BGP会话。从而使得Device DDevice E发往外网的流量通过Device A转发。

图6 使用EAA自动监控BGP邻居组网图

 

3.4  GOLDEAA联动

3.4.1  技术概述

GOLDGeneric OnLine Diagnostics,通用在线诊断)通过在设备上执行诊断测试例,来发现硬件、软件故障,并进行问题报告和修复。测试例为设备出厂时携带的脚本文件,用来对设备硬件或者功能模块进行检测。

GOLD可以为EAA提供GOLD事件。配置EAAGOLD联动后:

(1)     EAA将配置的监控参数传递给GOLD

(2)     GOLD按周期执行测试例,如果测试例连续执行失败的次数达到监控参数中指定的值,则表示监测对象发生了故障。GOLD通知EAA发生了GOLD事件。

(3)     EAA调用对应的EAA监控策略,执行指定的监控动作和自愈动作(自愈动作可选配置)。

(4)     GOLD继续执行测试例,如果测试结果满足自愈条件,则表示检测对象故障恢复,停止执行EAA监控策略,否则,继续执行EAA监控策略,直到监控策略的运行时间到达为止。

3.4.2  技术价值

GOLD是一种内置的智能运维设备的手段。部分GOLD测试例不支持自愈动作,部分GOLD测试例支持自愈动作,但自愈动作是出厂定制好的。将GOLDEAA联动,用户可以定制自愈动作,提升了GOLD的灵活性。

3.4.3  典型应用

GOLD可以作为EAA的事件源,当测试例执行失败指定次数时,就执行EAA策略中定义的动作。例如:

·     通过GOLD执行测试例LIPCMonitor,来定时检测LIPC(系统内部通信通道)的连通性。

·     如果检测失败3次,则调用EAA策略,执行主备倒换动作,并发送级别为2的日志通知网络管理员。

 

3.5  一键诊断、GOLDEAA技术对比

一键诊断、GOLDEAA支持功能不同,使用场景也不一样,请根据组网需求使用。

表1 一键诊断、GOLDEAA技术对比

对比项

一键诊断

GOLD

EAA

测试例管理

部分业务功能的一键诊断需要执行测试例,通过GOLD模块执行

硬件测试例在其他进程执行

软件测试例按周期执行,周期可配置

支持测试例调度控制,以策略管理,包括策略最大运行时间、暂停所有策略执行

测试例来源

全部为内置测试例

全部为内置测试例

全部由用户配置

EAA支持与GOLD联动

故障自愈动作

硬件测试例中自行实现自愈动作

软件测试例可指定自愈动作,由GOLD框架执行

策略可指定action

测试例间多级调度

不支持

不支持

支持

测试例格式支持

Python/Tcl/代码

Python/Tcl/代码

CLI/Tcl/Python

定时执行测试例

支持

支持

支持

条件触发测试例

支持(测试例出厂已定义好触发条件)

支持(测试例出厂已定义好触发条件)

支持(由EAA监控策略中定义的事件触发)

查看测试例执行结果

通过命令行查看诊断结果

通过命令行查看测试例执行结果

通知动作

多种

动态配置测试例

支持

 

4 转发面故障检测关键技术

4.1  端口与链路状态监测

4.1.1  端口光功率异常检测

光模块接收光功率异常是导致链路质量劣化、业务时断时续的常见原因。本功能通过监控光功率,在检测到功率低于正常阈值时,自动触发端口保护机制。

开启功能后,设备提供两种端口处置与恢复模式:

·     自动恢复模式:当光功率异常时,端口将被自动关闭以停止报文收发;在经过用户预设的恢复时间后,系统将自动尝试恢复端口至其真实物理状态。

·     手动恢复模式:当光功率异常时,端口被关闭;待光功率恢复正常后,需管理员手动执行恢复命令。

4.1.2  接口错误与性能告警

本功能对接口层的关键性能与错误指标进行周期性采样与阈值监控,实现异常状态的动态告警与故障隔离。

·     监控指标:涵盖CRC错误、收/发错误报文、带宽利用率、收/PAUSE帧、SDH错误、缓冲区丢包等多个维度。

·     告警机制:当接口处于正常状态,且在指定统计周期内,某项指标连续超过预设的告警上限阈值时,接口将产生超限告警并进入告警状态。当指标回落至下限阈值以下时,则产生恢复告警。

·     故障处置:对于关键指标(如CRC错误),可配置联动动作。当错误持续超过阈值时,系统可自动关闭问题端口,防止错误扩散,并支持配置自动恢复或手动恢复。

4.1.3  单板丢包故障监测

本功能将监控粒度从端口提升至单板,用于监测单板级别的严重异常。

·     监控内容:主要监测单板在指定周期内的丢包数。

·     处置动作:当丢包数连续超过告警阈值时,可触发配置的严重处置动作,如关闭单板或重启单板,以应对硬件或驱动层面的潜在故障。

4.2  转发质量与性能深度监测

4.2.1  接口队列缓存监控

为深入分析转发性能瓶颈与微突发流量,本功能提供对指定接口队列缓存状态的毫秒级高频采样与智能上报。

·     数据采集:以毫秒级周期采集队列深度、流量速率、ECN标记等数据。

·     智能上报:采用变化幅度过滤策略,仅上报有效变化点数据,大幅减少冗余信息。同时,周期性监测队列缓存使用率,判断并上报微突发流量事件。

·     应用价值:上报的数据可通过gRPC接口被外部分析平台订阅,用于深度性能分析、容量规划与故障预判。

4.2.2  报文时延检测

转发时延是衡量网络服务质量(QoS)的关键指标。本功能持续检测从接口发出的报文在设备内部的转发时延,并进行精细化等级划分。

·     时延统计:系统根据预设的多级时延阈值,统计不同时延等级内的报文分布情况。

·     质量评估:通过时延分布图谱,管理员可以直观评估报文的转发质量,定位是否存在拥塞或调度异常。

4.2.3  接口丢包故障监测

持续的接口丢包会直接影响业务体验。本功能通过对接口丢包率的实时监测,实现丢包故障的快速发现与自动处置。

·     监测机制:周期性计算接口的丢包率。

·     故障处置:当丢包率超过预设门限时,系统即产生丢包故障事件。可配置该事件触发自动关闭接口的动作,从而强制将流量切换至备份路径,保障业务连续性。故障接口需管理员确认后手动恢复。

4.3  技术价值

·     实现链路级故障的快速检测与隔离

通过对光功率、CRC错误等物理层与数据链路层指标的持续监控,结合可配置的自动处置策略(如关闭端口),该技术能够在检测到明确故障时,有效隔离问题链路,为依靠上层冗余协议(如聚合链路、路由收敛)实现业务快速切换提供底层支撑,减少业务中断时间。

·     提供网络性能劣化的早期预警能力

基于对接口错误报文、带宽利用率、缓存丢弃等指标的阈值告警,该技术能够在对业务流量产生显著影响之前,识别出接口性能下降或异常的趋势。这为运维人员提供了干预窗口,有助于预防潜在的服务质量下降。

·     为网络质量分析与故障定位提供数据依据

接口队列缓存监控、报文时延检测等深度监测功能,能够输出细粒度的转发面性能数据。这些数据可用于事后分析网络拥塞点、评估流量调度效果,或在复杂故障场景下,为定位数据平面问题提供关键的内部观测指标。

 

新华三官网
联系我们