CN114610551A - 一种基于fpga故障检测的双机热备系统的实现方法 - Google Patents

一种基于fpga故障检测的双机热备系统的实现方法 Download PDF

Info

Publication number
CN114610551A
CN114610551A CN202210216756.4A CN202210216756A CN114610551A CN 114610551 A CN114610551 A CN 114610551A CN 202210216756 A CN202210216756 A CN 202210216756A CN 114610551 A CN114610551 A CN 114610551A
Authority
CN
China
Prior art keywords
fpga
fault
software
slave
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210216756.4A
Other languages
English (en)
Inventor
王宇耕
闵新宇
赵伯阳
庄博阳
田帅伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202210216756.4A priority Critical patent/CN114610551A/zh
Publication of CN114610551A publication Critical patent/CN114610551A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种基于FPGA故障检测的双机热备系统的实现方法,属于故障检测领域。本发明基于FPGA故障检测的双机热备系统硬件环境由两个集成了FPGA模块和传感器芯片的主板组成,分别作为主机和从机;每个主板均运行故障检测驱动软件,系统监控软件、IP迁移控制软件。所述双机热备系统能够在毫秒级时间内发现系统运行故障或硬件故障并执行主从切换,适用于对故障检测实时性要求高的应用场景。本发明通过FPGA模块进行故障检测,提升了故障检测的实时性,不仅能够对操作系统运行状态和关键进程状态进行检测,还能够针对硬件故障进行检测。

Description

一种基于FPGA故障检测的双机热备系统的实现方法
技术领域
本发明属于故障检测领域,涉及一种基于FPGA故障检测的双机热备系统的实现方法,具体地涉及双机热备系统的硬件组成、故障检测方式、高可用的实现。
背景技术
以往的双机热备技术大多采用高可用软件实现双机热备。高可用软件以网络心跳报文作为故障检测手段,主机以固定的时间周期向从机发送心跳报文,从机在连续三个心跳周期内无法收到主机的心跳报文后判定主机存在故障,并进行主从切换。基于网络心跳报文的故障检测方法时间较长,通常为秒级,对于某些对主从切换的实时性有要求的设备来说,该方法难以满足较高的实时性指标。除此之外,高可用软件缺少感知硬件故障的有效手段,尤其无法针对设备上电初期出现的硬件故障进行检测。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于FPGA故障检测的双机热备系统的实现方法,以解决以往的双机热备技术难以满足较高的实时性指标、无法针对设备上电初期出现的硬件故障进行检测等方面的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于FPGA故障检测的双机热备系统的实现方法,所述双机热备系统的硬件环境由两个集成了FPGA模块和传感器芯片的主板组成,两个主板分别作为主机和从机;每个主板的FPGA分别通过IIC和PCIe与传感器芯片和CPU通信,两个主板的FPGA通过底板串口通信;每个主板的CPU上均运行故障检测驱动软件、系统监控软件和IP迁移控制软件,系统监控软件和IP迁移控制软件通过故障检测驱动软件与FPGA通信;其中,所述FPGA模块实现故障检测、心跳检测和故障上报功能,故障检测分为硬件故障检测、软件故障检测和FPGA故障检测。
进一步地,所述传感器为数字式电压、电流、温度监控器,实现了主板关键硬件状态的采集,关键硬件状态作为主板故障判别的依据,关键硬件状态包括RTC电压、DDR电压、CPU电压、输入电压、桥片温度和CPU温度;采集后的数据通过IIC发送给FPGA模块。
进一步地,所述硬件故障检测包括上电时序检测和硬件关键状态检测,FPGA通过读取电源芯片的“电源正常”PG信号实现上电时序的检测,硬件关键状态的检测是FPGA控制传感器采集主板的关键硬件状态,将采集后的数值与额定值进行比较,若超出额定范围,则判定硬件故障。
进一步地,所述软件故障检测包括操作系统运行状态检测,操作系统状态检测通过中断机制实现,通过驱动软件的运行状态间接反映操作系统是否死机,FPGA每3ms向CPU发送中断信号,若中断能够被驱动软件及时清除,则认为操作系统运行正常,若在9ms时间内不能清除中断,判定操作系统运行故障。
进一步地,所述软件故障检测包括系统资源使用状况检测,系统资源使用状况的检测依赖于系统监控软件,系统监控软件会监测操作系统关键进程、CPU和内存的使用率,每300ms向FPGA模块发送关键进程状态,每1s向FPGA发送CPU和内存使用率情况,最终由FPGA判断是否存在关键进程异常、CPU或内存使用率异常;若主机的FPGA运行正常,则主板软硬件故障产生后,主机的FPGA模块可以检测出故障内容,并向从机FPGA模块发送故障报文,从机接收到故障报文后判定主机出现故障;若主机FPGA运行异常,则从机的FPGA可以通过FPGA间的心跳检测判断出主机FPGA故障。
进一步地,FPGA间的心跳检测实现方法为:主机与从机的FPGA每1ms通过串口互发心跳报文,若主机FPGA运行异常,则无法按时发出心跳报文,从机连续3ms均无法收到心跳报文后判定主机FPGA故障;从机FPGA模块发现主机故障后,会通过专用寄存器暂存故障信息,并立即产生中断信号,该中断经驱动软件处理,最终传递给IP迁移控制软件。
进一步地,所述驱动软件实现了中断处理和应用软件读写FPGA模块的能力,中断的处理内容分为操作系统运行状态中断处理和故障上报中断处理,驱动软件会对中断来源进行判断,若是FPGA产生的3ms中断信号,即用来判断操作系统运行状态的中断信号,则立即清除中断,若是故障上报中断,则通过异步通知机制,发送故障上报消息到应用层,交由应用层的IP迁移控制软件继续处理。
进一步地,所述驱动软件将FPGA模块映射为PCI设备,使IP迁移控制软件和系统监控软件能够通过POSIX标准接口对FPGA的数据寄存器进行读写操作,进而实现将系统关键进程状态、CPU、内存使用率发送给FPGA和从FPGA中读取故障信息的功能。
进一步地,所述系统监控软件实现了操作系统资源的监控,该软件以守护进程的形式在操作系统启动后自动运行,周期性检测系统关键进程以及CPU和内存使用率情况,将监测的结果,通过驱动软件接口,发送至FPGA。
进一步地,所述IP迁移控制软件在系统开机之后自动运行,配置对外通信IP,IP迁移控制软件能够接收FPGA驱动发送的故障上报消息,在接收到故障上报消息后,通过驱动软件读取FPGA寄存器,判断故障内容,控制对外通信IP从主机迁移至从机;对外通信IP是唯一的,当主机可以工作时,主机上的IP迁移控制软件将对外通信IP绑定在主机网卡上;当主机发生故障后,从机的IP迁移控制软件将对外通信IP绑定在从机网卡上;主、从机运行相同的服务类应用程序,与局域网其他客户端设备通信方式为“请求-响应”,若故障发生时刻客户端设备没有产生请求,由于主从切换前后对外通信IP地址不变,从机接替主机后,客户端设备产生新的请求会发送给从机,由从机响应;若主机在响应请求过程中发生故障,则该次请求无法正常响应,客户端设备在判断响应超时后再次发出请求,此次请求会由从机处理。
(三)有益效果
本发明提出一种基于FPGA故障检测的双机热备系统的实现方法,本发明的双机热备系统能够在毫秒级时间内发现系统运行故障或硬件故障并执行主从切换,适用于对故障检测实时性要求高的应用场景。本发明通过FPGA模块进行故障检测,提升了故障检测的实时性,不仅能够对操作系统运行状态和关键进程状态进行检测,还能够针对硬件故障进行检测。
附图说明
图1为本发明的系统架构图;
图2为本发明实施例;
图3为主机故障检测执行流程图;
图4为从机在发现主机故障后的执行流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供一种基于FPGA故障检测的双机热备系统的实现方法。基于FPGA故障检测的双机热备系统硬件环境由两个集成了FPGA模块和传感器芯片的主板组成,分别作为主机和从机;每个主板均运行故障检测驱动软件、系统监控软件和IP迁移控制软件。所述双机热备系统能够在毫秒级时间内发现系统运行故障或硬件故障并执行主从切换,适用于对故障检测实时性要求高的应用场景。
本发明针对现有技术存在的不足和问题,提供一种基于FPGA故障检测的双机热备系统实现方法,通过FPGA模块进行故障检测,提升了故障检测的实时性,不仅能够对操作系统运行状态和关键进程状态进行检测,还能够针对硬件故障进行检测。
所述双机热备系统,硬件环境由两个集成了FPGA模块和传感器芯片的主板组成,两个主板分别作为主机和从机。每个主板的FPGA分别通过IIC和PCIe与传感器芯片和CPU通信,两个主板的FPGA通过底板串口通信;每个主板的CPU上均运行故障检测驱动软件、系统监控软件和IP迁移控制软件,系统监控软件和IP迁移控制软件通过故障检测驱动软件与FPGA通信。
所述FPGA模块,实现了故障检测、心跳检测和故障上报功能。
故障检测分为硬件故障检测、软件故障检测、FPGA故障检测。
硬件故障检测包括上电时序检测和硬件关键状态检测,FPGA通过读取电源芯片的“电源正常”PG信号可实现上电时序的检测,硬件关键状态的检测是FPGA控制传感器采集主板的关键硬件状态,如电压、电流和温度,将采集后的数值与额定值进行比较,若超出额定范围,则判定硬件故障;
软件故障检测分为操作系统运行状态检测和系统资源使用状况检测。操作系统状态检测通过中断机制实现,通过驱动软件的运行状态间接反映操作系统是否死机,FPGA每3ms向CPU发送中断信号,若中断能够被驱动软件及时清除,则认为操作系统运行正常,若在9ms时间内不能清除中断,判定操作系统运行故障。系统资源使用状况的检测依赖于系统监控软件,系统监控软件会监测操作系统关键进程、CPU和内存的使用率,每300ms向FPGA模块发送关键进程状态,每1s向FPGA发送CPU和内存使用率情况,最终由FPGA判断是否存在关键进程异常、CPU或内存使用率异常;若主机的FPGA运行正常,则主板软硬件故障产生后,主机的FPGA模块可以检测出故障内容,并向从机FPGA模块发送故障报文,从机接收到故障报文后判定主机出现故障;若主机FPGA运行异常,则从机的FPGA可以通过FPGA间的心跳检测判断出主机FPGA故障。
FPGA间的心跳检测实现方法为,主机与从机的FPGA每1ms通过串口互发心跳报文,若主机FPGA运行异常,则无法按时发出心跳报文,从机连续3ms均无法收到心跳报文后判定主机FPGA故障。从机FPGA模块发现主机故障后,会通过专用寄存器暂存故障信息,并立即产生中断信号,该中断经驱动软件处理,最终传递给IP迁移控制软件。
所述传感器为一种数字式电压、电流、温度监控器,实现了主板关键硬件状态的采集,关键硬件状态作为主板故障判别的依据,关键硬件状态包括RTC电压、DDR电压、CPU电压、输入电压、桥片温度和CPU温度。采集后的数据通过IIC发送给FPGA模块。
所述驱动软件,实现了中断处理和应用软件读写FPGA模块的能力。中断的处理内容分为操作系统运行状态中断处理和故障上报中断处理,驱动软件会对中断来源进行判断,若是FPGA产生的3ms中断信号,即用来判断操作系统运行状态的中断信号,则立即清除中断,若是故障上报中断,则通过异步通知机制,发送故障上报消息到应用层,交由应用层的IP迁移控制软件继续处理。驱动软件将FPGA模块映射为PCI设备,使IP迁移控制软件和系统监控软件能够通过POSIX标准接口对FPGA的数据寄存器进行读写操作,进而实现将系统关键进程状态、CPU、内存使用率发送给FPGA和从FPGA中读取故障信息的功能。
所述系统监控软件,实现了操作系统资源的监控,该软件以守护进程的形式在操作系统启动后自动运行,周期性检测系统关键进程以及CPU和内存使用率情况,将监测的结果,通过驱动软件接口,发送至FPGA。
所述IP迁移控制软件,在系统开机之后自动运行,配置对外通信IP。IP迁移控制软件能够接收FPGA驱动发送的故障上报消息,在接收到故障上报消息后,通过驱动软件读取FPGA寄存器,判断故障内容,控制对外通信IP从主机迁移至从机。对外通信IP是唯一的,当主机可以工作时,主机上的IP迁移控制软件将对外通信IP绑定在主机网卡上;当主机发生故障后,从机的IP迁移控制软件将对外通信IP绑定在从机网卡上。主、从机运行相同的服务类应用程序,与局域网其他客户端设备通信方式为“请求-响应”,若故障发生时刻客户端设备没有产生请求,由于主从切换前后对外通信IP地址不变,从机接替主机后,客户端设备产生新的请求会发送给从机,由从机响应;若主机在响应请求过程中发生故障,则该次请求无法正常响应,客户端设备在判断响应超时后再次发出请求,此次请求会由从机处理。由于故障检测和IP迁移绑定的时间为毫秒级,客户端的超时时间亦可缩短为同一量级,从而减少故障恢复的时间。
以下通过一套已经部署的实施例对本发明进行详细描述,对本发明做进一步的说明,但不作为对本发明的限定。
如图2所示,为本发明实施例示意图。
具体地,在本实施例中,机箱内的两块主板组成主从关系,两块主板上的FPGA模块通过底板串口互联,两块主板均能通过机箱接入交换机,与局域网内其他设备进行网络通信。
机箱加电后,FPGA模块首先会对加电时序及关键硬件状态进行检测,若时序异常或关键硬件状态异常,则主机无法顺利启动,此时主机FPGA模块立即通过心跳报文向通知从机FPGA模块主机故障。从机正常启动后,IP迁移控制软件首先会读取FPGA中存有故障信息的寄存器数据,在获知主机未能启动后,立即将对外通信IP绑定至从机。
若主机上电正常,主机的IP迁移控制软件将对外通信IP绑定至主机。在主机正常运行过程中,主机上的应用通过对外通信IP与局域网内的其他设备通信,从机会启动与主机相同的应用,但由于对外通信绑定在主机网卡上,无法通信,处于待机状态。FPGA模块协同驱动软件、系统监测软件一同对主板软硬件故障进行监测,最终由FPGA判断是否有故障产生。故障类型分为硬件故障、系统运行故障、资源使用异常、系统关键进程故障、FPGA故障。故障判别条件如下:
1.硬件关键状态超出额定范围,判定主板硬件故障;
2.未能在9ms内及时清除FPGA的3ms中断,判定系统运行故障;
3.FPGA对系统监控软件采集的CPU和内存使用率与正常阈值进行比较,当连续10s均超过正常阈值,判定资源使用异常;
4.FPGA判断系统监控软件采集的关键进程状态,若关键进程异常,则判定系统关键进程故障。
5.当从机的FPGA模块在3ms内均无法收到主机FPGA模块的心跳报文,则判定主机FPGA故障。
其中除了资源使用异常需要长时间累积进行判断外,其他故障现象均为毫秒级检测。
若故障类型为非FPGA故障,则主机的FPGA模块在发现故障产生后,产生一次故障上报中断,同时发送故障心跳报文,故障上报中断经由主机的驱动软件处理后产生故障上报消息,通知到主机的IP迁移控制软件,为防止IP冲突,主机的IP迁移控制软件在接收到故障上报消息后完成对外通信IP与主机网卡的解绑;从机的FPGA模块通过故障报文发现主机故障后,产生一次故障上报中断,从机的IP迁移控制软件执行对外通信IP与从机网卡的绑定,并发送ARP广播报文,更新局域网内各设备的ARP缓存表。
若故障类型为主机FPGA模块故障,从机在连续3ms的时间内均无法收到主机产生的1ms一次的心跳报文后,判定主机故障,从机的IP迁移控制软件执行对外通信IP与从机网卡的绑定,并发送ARP广播报文,更新局域网内各设备的ARP缓存表,局域网内客户端设备产生新的请求报文会发送到从机网卡上;同时,主机的IP迁移控制软件在接收到从机ARP广播报文后,立即解除主机网卡与对外通信IP的绑定,不会接收客户端的请求报文。
由于主、从机运行相同的应用程序,IP迁移前后IP地址不变,因此从机可以接替主机工作与局域网内其他设备进行通信。
本发明的双机热备系统能够在毫秒级时间内发现系统运行故障或硬件故障并执行主从切换,适用于对故障检测实时性要求高的应用场景。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述双机热备系统的硬件环境由两个集成了FPGA模块和传感器芯片的主板组成,两个主板分别作为主机和从机;每个主板的FPGA分别通过IIC和PCIe与传感器芯片和CPU通信,两个主板的FPGA通过底板串口通信;每个主板的CPU上均运行故障检测驱动软件、系统监控软件和IP迁移控制软件,系统监控软件和IP迁移控制软件通过故障检测驱动软件与FPGA通信;其中,所述FPGA模块实现故障检测、心跳检测和故障上报功能,故障检测分为硬件故障检测、软件故障检测和FPGA故障检测。
2.如权利要求1所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述传感器为数字式电压、电流、温度监控器,实现了主板关键硬件状态的采集,关键硬件状态作为主板故障判别的依据,关键硬件状态包括RTC电压、DDR电压、CPU电压、输入电压、桥片温度和CPU温度;采集后的数据通过IIC发送给FPGA模块。
3.如权利要求1或2所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述硬件故障检测包括上电时序检测和硬件关键状态检测,FPGA通过读取电源芯片的“电源正常”PG信号实现上电时序的检测,硬件关键状态的检测是FPGA控制传感器采集主板的关键硬件状态,将采集后的数值与额定值进行比较,若超出额定范围,则判定硬件故障。
4.如权利要求1或2所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述软件故障检测包括操作系统运行状态检测,操作系统状态检测通过中断机制实现,通过驱动软件的运行状态间接反映操作系统是否死机,FPGA每3ms向CPU发送中断信号,若中断能够被驱动软件及时清除,则认为操作系统运行正常,若在9ms时间内不能清除中断,判定操作系统运行故障。
5.如权利要求1或2所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述软件故障检测包括系统资源使用状况检测,系统资源使用状况的检测依赖于系统监控软件,系统监控软件会监测操作系统关键进程、CPU和内存的使用率,每300ms向FPGA模块发送关键进程状态,每1s向FPGA发送CPU和内存使用率情况,最终由FPGA判断是否存在关键进程异常、CPU或内存使用率异常;若主机的FPGA运行正常,则主板软硬件故障产生后,主机的FPGA模块可以检测出故障内容,并向从机FPGA模块发送故障报文,从机接收到故障报文后判定主机出现故障;若主机FPGA运行异常,则从机的FPGA可以通过FPGA间的心跳检测判断出主机FPGA故障。
6.如权利要求5所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,FPGA间的心跳检测实现方法为:主机与从机的FPGA每1ms通过串口互发心跳报文,若主机FPGA运行异常,则无法按时发出心跳报文,从机连续3ms均无法收到心跳报文后判定主机FPGA故障;从机FPGA模块发现主机故障后,会通过专用寄存器暂存故障信息,并立即产生中断信号,该中断经驱动软件处理,最终传递给IP迁移控制软件。
7.如权利要求1或2所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述驱动软件实现了中断处理和应用软件读写FPGA模块的能力,中断的处理内容分为操作系统运行状态中断处理和故障上报中断处理,驱动软件会对中断来源进行判断,若是FPGA产生的3ms中断信号,即用来判断操作系统运行状态的中断信号,则立即清除中断,若是故障上报中断,则通过异步通知机制,发送故障上报消息到应用层,交由应用层的IP迁移控制软件继续处理。
8.如权利要求7所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述驱动软件将FPGA模块映射为PCI设备,使IP迁移控制软件和系统监控软件能够通过POSIX标准接口对FPGA的数据寄存器进行读写操作,进而实现将系统关键进程状态、CPU、内存使用率发送给FPGA和从FPGA中读取故障信息的功能。
9.如权利要求1或2所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述系统监控软件实现了操作系统资源的监控,该软件以守护进程的形式在操作系统启动后自动运行,周期性检测系统关键进程以及CPU和内存使用率情况,将监测的结果,通过驱动软件接口,发送至FPGA。
10.如权利要求1或2所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述IP迁移控制软件在系统开机之后自动运行,配置对外通信IP,IP迁移控制软件能够接收FPGA驱动发送的故障上报消息,在接收到故障上报消息后,通过驱动软件读取FPGA寄存器,判断故障内容,控制对外通信IP从主机迁移至从机;对外通信IP是唯一的,当主机可以工作时,主机上的IP迁移控制软件将对外通信IP绑定在主机网卡上;当主机发生故障后,从机的IP迁移控制软件将对外通信IP绑定在从机网卡上;主、从机运行相同的服务类应用程序,与局域网其他客户端设备通信方式为“请求-响应”,若故障发生时刻客户端设备没有产生请求,由于主从切换前后对外通信IP地址不变,从机接替主机后,客户端设备产生新的请求会发送给从机,由从机响应;若主机在响应请求过程中发生故障,则该次请求无法正常响应,客户端设备在判断响应超时后再次发出请求,此次请求会由从机处理。
CN202210216756.4A 2022-03-07 2022-03-07 一种基于fpga故障检测的双机热备系统的实现方法 Pending CN114610551A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210216756.4A CN114610551A (zh) 2022-03-07 2022-03-07 一种基于fpga故障检测的双机热备系统的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210216756.4A CN114610551A (zh) 2022-03-07 2022-03-07 一种基于fpga故障检测的双机热备系统的实现方法

Publications (1)

Publication Number Publication Date
CN114610551A true CN114610551A (zh) 2022-06-10

Family

ID=81861789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210216756.4A Pending CN114610551A (zh) 2022-03-07 2022-03-07 一种基于fpga故障检测的双机热备系统的实现方法

Country Status (1)

Country Link
CN (1) CN114610551A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115629916A (zh) * 2022-12-23 2023-01-20 湖南博匠信息科技有限公司 一种基于Zynq的业务程序故障恢复方法
CN117311136A (zh) * 2023-11-28 2023-12-29 中国船舶集团有限公司第七一九研究所 基于互联心跳监测机制的双机运行方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115629916A (zh) * 2022-12-23 2023-01-20 湖南博匠信息科技有限公司 一种基于Zynq的业务程序故障恢复方法
CN117311136A (zh) * 2023-11-28 2023-12-29 中国船舶集团有限公司第七一九研究所 基于互联心跳监测机制的双机运行方法及装置
CN117311136B (zh) * 2023-11-28 2024-03-01 中国船舶集团有限公司第七一九研究所 基于互联心跳监测机制的双机运行方法及装置

Similar Documents

Publication Publication Date Title
US7337243B2 (en) Redundant system management controllers
CN114610551A (zh) 一种基于fpga故障检测的双机热备系统的实现方法
US6311296B1 (en) Bus management card for use in a system for bus monitoring
CN105589776B (zh) 一种故障定位方法及服务器
CN101207408B (zh) 一种用于主备倒换的综合故障检测装置和方法
CN101197651B (zh) 板间通信的方法、设备、主控板和接口板
CN111917846A (zh) 一种Kafka集群切换方法、装置、系统、电子设备及可读存储介质
CN102761439B (zh) Pon接入系统中基于看门狗的异常检测记录装置及方法
US6138250A (en) System for reading system log
EP1076853B1 (en) Controlling a bus with multiple system hosts
TWI529624B (zh) Method and system of fault tolerance for multiple servers
WO2008085344A2 (en) Method and apparatus for hardware assisted takeover
CN105302661A (zh) 一种实现虚拟化管理平台高可用的系统和方法
CN105095125A (zh) 基于仲裁磁盘的高可用双控存储系统及其运行方法
CN107729190B (zh) 一种io路径故障转移处理方法和系统
CN110213065B (zh) 一种路径切换的方法及装置
CN111767244A (zh) 基于国产龙芯平台的双冗余计算机设备
CN109683818B (zh) 一种数据存储方法、设备及存储介质
JPH086910A (ja) クラスタ型計算機システム
WO2023178975A1 (zh) 机箱管理系统及机箱管理方法
CN113342261A (zh) 伺服器与应用于伺服器的控制方法
CN105824571A (zh) 一种实现数据无缝迁移的方法及装置
CN212541329U (zh) 基于国产龙芯平台的双冗余计算机设备
US8095828B1 (en) Using a data storage system for cluster I/O failure determination
CN111858187A (zh) 一种电子设备及业务切换方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination