CN114691408A - 一种基板管理控制器故障检测装置 - Google Patents
一种基板管理控制器故障检测装置 Download PDFInfo
- Publication number
- CN114691408A CN114691408A CN202210403890.5A CN202210403890A CN114691408A CN 114691408 A CN114691408 A CN 114691408A CN 202210403890 A CN202210403890 A CN 202210403890A CN 114691408 A CN114691408 A CN 114691408A
- Authority
- CN
- China
- Prior art keywords
- signal
- logic device
- management controller
- programmable logic
- normal
- 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.)
- Granted
Links
- 239000000758 substrate Substances 0.000 title claims abstract description 70
- 238000001514 detection method Methods 0.000 title claims abstract description 15
- 230000002159 abnormal effect Effects 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 28
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007488 abnormal function Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Programmable Controllers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基板管理控制器故障检测装置,包括:基板管理控制器、复杂可编程逻辑器件、服务器主板上的多个功能模块,基板管理控制器分别与复杂可编程逻辑器件、功能模块连接;基板管理控制器配置为定义状态正常信号和心跳信号,并将状态正常信号和心跳信号发送给复杂可编程逻辑器件;复杂可编程逻辑器件配置为基于接收到的状态正常信号和心跳信号判断基板管理控制器的工作状态是否正常,并响应于基板管理控制器的工作状态不正常,向管理系统发出报警信号。本发明的方案,通过复杂可编程逻辑器件实时监测基板管理控制器输出的状态正常信号和心跳信号,能够及时发现基板管理控制器的工作异常,使运维人员能够快速确认故障位置、分析故障原因。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种基板管理控制器故障检测装置。
背景技术
伴随云计算应用的发展,信息化逐渐覆盖到社会的各个领域。服务器在各行各业的应用比重越来越大。服务器能够维持持续稳定运行,需要各个部分协同来提供强而有力的保障,其中基板管理控制器(Baseboard Management Controller,BMC)连接着主板上各个功能模块,实时监控各功能模块的运行状态,在服务器管理中应用十分广泛。
BMC是一个基板管理平台,它不依赖于管理系统上的其他硬件(如CPU(CentralProcessing Unit,中央处理器)、内存),也不依赖于BIOS(Basic Input Output System,基本输出输入系统)、OS(Operating System,操作系统简称OS)。BMC通过监视管理系统的温度、电压、风扇、电源等等,并做相应的调节工作,以保证管理系统处于健康的状态。BMC正常工作时,OS下的系统管理软件和BMC协同工作,管理整个管理系统的正常运行;在BMC运行出现异常或故障时,BMC会分析问题现象及原因,并按照事先预定的方案进行维护修复。但是如果出现的故障超出了预期的范围,BMC自身按照预期方案无法解决问题,问题将会在管理系统运行中一直存在。如果发生的问题需要处理的优先级较高,BMC会优先处理该问题,但是由于问题超出预期,无法立刻解决,BMC将无法处理优先级处于这个问题之下的其他正常事件。严重情况下,BMC会一直处于处理该问题的状态下,无法处理其他事件,从而影响管理系统运行过程中的其他工作。
发明内容
有鉴于此,本发明提出了一种基板管理控制器故障检测装置,能够在基板管理控制器发生故障时及时反馈,使运维人员能够快速确认故障位置、分析故障原因,并且通过复杂可编程逻辑器件接管对管理系统中所有功能模块的控制以最大限度的保障管理系统除基板管理控制器以外的其他功能不受影响,保障管理系统的正常运行。
基于上述目的,本发明实施例的一方面提供了一种基板管理控制器故障检测装置,具体包括:
基板管理控制器、复杂可编程逻辑器件、服务器主板上的多个功能模块,所述基板管理控制器分别与所述复杂可编程逻辑器件、所述功能模块连接;
所述基板管理控制器配置为定义状态正常信号和心跳信号,并将所述状态正常信号和所述心跳信号发送给所述复杂可编程逻辑器件;
所述复杂可编程逻辑器件配置为基于接收到的所述状态正常信号和所述心跳信号判断所述基板管理控制器的工作状态是否正常,并响应于所述基板管理控制器的工作状态不正常,向管理系统发出报警信号。
在一些实施方式中,装置还包括:
中央处理器、多个控制逻辑器件,所述中央处理器分别与所述基板管理控制器、复杂可编程逻辑器件和所述控制逻辑器件连接,所述控制逻辑器件还分别与所述功能模块、所述复杂可编程逻辑器件和所述基板管理控制器连接,其中,所述控制逻辑器件与所述功能模块一一对应连接;
所述复杂可编程逻辑器件配置为通过控制所述控制逻辑器件来选择由中央处理器或所述基板管理控制器控制所述功能模块,并响应于所述基板管理控制器的工作状态不正常,通过控制所述控制逻辑器件来选择由所述中央处理器控制所述功能模块。
在一些实施方式中,所述功能模块包括电源模块、存储模块、风扇模块;
所述控制逻辑器件包括数据选择器;
所述基板管理控制器分别与所述中央处理器、复杂可编程逻辑器件和数据选择器连接,所述复杂可编程逻辑器件还分别与所述数据选择器和所述中央处理器连接,所述电源模块、存储模块、风扇模块分别与对应的数据选择器连接;
所述复杂可编程逻辑器件配置为响应于所述基板管理控制器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
在一些实施方式中,所述基板管理控制器配置为在正常工作时,输出到所述复杂可编程逻辑器件的状态正常信号为高电平并且输出到所述复杂可编程逻辑器件的心跳信号为固定脉冲频率的方波信号。
在一些实施方式中,基于接收到的所述状态正常信号和所述心跳信号判断所述基板管理控制器的工作状态是否正常,包括:
监测接收到的状态正常信号和心跳信号;
判断接收到的所述状态正常信号是否为高电平;
若是所述状态正常信号为高电平,则判断所述心跳信号的信号频率是否与预设频率相同;
若是所述心跳信号的信号频率与预设频率相同,则确定所述基板管理控制器的工作状态正常。
在一些实施方式中,所述复杂可编程逻辑器件进一步配置为:
若是所述心跳信号的信号频率与预设频率不相同,则在第一预设时间内判断接收到的心跳信号的信号频率是否恢复正常;
若是在第一预设时间内接收到的心跳信号的信号频率恢复正常,则确定所述基板管理控制器的工作状态正常;
若是在第一预设时间内接收到的心跳信号的信号频率未恢复正常,则确定所述基板管理控制器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
在一些实施方式中,所述复杂可编程逻辑器件在执行判断接收到的所述状态正常信号是否为高电平步骤之后,进一步配置为:
若是所述状态正常信号不为高电平,则在第二预设时间内判断接收到的状态正常信号是否恢复为高电平;
若是在第二预设时间内接收到的状态正常信号没有恢复为高电平,则确定所述基板管理控制器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
在一些实施方式中,所述复杂可编程逻辑器件在执行若是所述状态正常信号不为高电平,则在第二预设时间内判断接收到的状态正常信号是否恢复为高电平步骤之后,进一步配置为:
若是在第二预设时间内接收到的状态正常信号恢复为高电平,则返回若是所述状态正常信号为高电平,则判断所述心跳信号的信号频率是否与预设频率相同的步骤以在第二预设时间内接收到的状态正常信号为高电平的条件下,判断心跳信号的信号频率是否与预设频率相同。
在一些实施方式中,所述中央处理装置配置为响应于需要进行重启或关机,向所述复杂可编程逻辑器件发送请求信号;
所述复杂可编程逻辑器件配置为将所述请求信号透传给所述基板管理控制器;
所述基板管理控制器配置为响应于接收到所述请求信号,对其控制的相关功能模块进行处理,并在处理完毕后,向所述复杂可编程逻辑器件发送反馈信号;
所述复杂可编程逻辑器件配置为将所述反馈信号透传给所述中央处理器;
所述中央处理装置配置为响应于接收到所述反馈信号,进行重启或关机。
在一些实施方式中,所述复杂可编程逻辑器件还配置为:
在将所述请求信号透传给所述基板管理控制器后,进行计时;
响应于计时时间超过第三预设时间还未接收到所述反馈信号,则确定所述基板管理器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
本发明至少具有以下有益技术效果:一方面,基板管理控制器通过发送状态正常信号和心跳信号给复杂可编程逻辑器件,复杂可编程逻辑器件通过监测状态正常信号和心跳信号来判断基板管理控制器的工作状态是否正常,并响应于基板管理控制器的工作状态不正常,向管理系统发出报警信号以通知运维人员尽快处理,实现了在基板管理控制器发生故障时能够快速向上级反馈,使运维人员能够快速确认故障位置、分析故障原因,以便于基板管理控制器的工作状态能够尽快得到恢复;另一方面,复杂可编程逻辑器件根据监测到的状态正常信号和心跳信号是否正常,来确定是否切换基板管理控制器对所有功能模块的控制状态,在基板管理控制器工作状态不正常时,将与基板管理控制器连接的所有功能模块与基板管理控制器隔离,并接管对所有功能模块的控制,并且将对重要功能模块的控制转交给中央处理器,最大限度的保障管理系统除基板管理控制器以外的其他功能不受影响,保障管理系统的正常运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的基板管理控制器故障检测装置的一实施例的结构示意图;
图2为本发明提供的基板管理控制器故障检测装置的又一实施例的结构示意图;
图3为本发明提供的复杂可编程逻辑器件判断基板管理控制器的工作状态的一实施例的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
目前诊断BMC故障使用的较多的方法为在发现BMC发生故障无法正常工作后,维护人员查找收集BMC发生故障时的各种日志,与BMC正常工作时产生的日志对比分析,从而诊断故障位置及原因。
现有方案在BMC发生故障时,管理系统无法继续运行,且维护人员必须将整个管理系统强制关机重新上电后,才能读取到BMC上次运行过程中产生的日志信息。BMC发生故障时的系统运行状态被破坏,维护人员只能通过记忆及BMC日志分析定位问题原因。在遇到概率性故障问题时,为了复现故障过程及现象,需要多次开关机以复现问题,浪费了大量时间。并且在BMC系统发生故障时,服务器主板上CPU及其他功能模块无法实时获取BMC故障的信息,其正常工作状态也会被暂停,若CPU正在执行重要工作时,会被BMC故障问题打断而无法工作,严重影响系统运行。
基于上述目的,本发明实施例的第一个方面,提出了一种基板管理控制器故障检测装置的实施例。如图1所示,故障检测装置包括:
基板管理控制器100、复杂可编程逻辑器件110、服务器主板上的多个功能模块120,基板管理控制器100分别与复杂可编程逻辑器件110、功能模块120连接;
基板管理控制器100配置为定义状态正常信号和心跳信号,并将状态正常信号和心跳信号发送给复杂可编程逻辑器件110;
复杂可编程逻辑器件110配置为基于接收到的状态正常信号和心跳信号判断基板管理控制器100的工作状态是否正常,并响应于基板管理控制器100的工作状态不正常,向管理系统发出报警信号。
具体的,功能模块包括:电压检测模块、温度检测模块、电源模块、风扇模块、存储模块、时钟模块等等。
基板管理控制器监控中央处理器和各个功能模块的运行状态,并根据各个功能模块的运行状态做相应的调节工作以保证管理系统能够正常运行。
基板管理控制器通过GPIO(General-purpose input/output,通用型之输入输出)信号与复杂可编程逻辑器件连接,基板管理控制器在与复杂可编程逻辑器件通信的GPIO信号中预先定义好状态正常信号和心跳信号,并在工作时将状态正常信号和心跳信号发送给复杂可编程逻辑器件,基板管理控制器在正常工作时,驱动状态正常信号为高电平且心跳信号为固定频率的方波信号以便于复杂可编程逻辑器件判断状态正常信号和心跳信号的好坏。
复杂可编程逻辑器件基于接收到的状态正常信号的电平状态和心跳信号的频率状态来判断基板管理控制器的工作状态是否正常,并响应于基板管理控制器的工作状态不正常,向管理系统发出报警信号以通知运维人员尽快处理。报警信号的形式可以有多种,例如将报警信息发送到客户端或者直接控制管理系统上连接的故障灯的闪烁频率等多种方式。
本实施例,基板管理控制器通过发送状态正常信号和心跳信号给复杂可编程逻辑器件,复杂可编程逻辑器件通过监测状态正常信号和心跳信号来判断基板管理控制器的工作状态是否正常,并响应于基板管理控制器的工作状态不正常,向管理系统发出报警信号以通知运维人员尽快处理,实现了在基板管理控制器发生故障时能够快速向上级反馈,使运维人员能够快速确认故障位置、分析故障原因,以便于基板管理控制器的工作状态能够尽快得到恢复。
在一些实施方式中,如图1所示,装置还包括:
中央处理器130、多个控制逻辑器件140,中央处理器130分别与基板管理控制器100、复杂可编程逻辑器件110和控制逻辑器件140连接,控制逻辑器件140还分别与功能模块120、复杂可编程逻辑器件110和基板管理控制器100连接,其中,控制逻辑器件140与功能模块120一一对应连接;
复杂可编程逻辑器件110配置为通过控制控制逻辑器件140来选择由中央处理器130或所述基板管理控制器100控制功能模块120,并响应于基板管理控制器100的工作状态不正常,通过控制控制逻辑器件140来选择由中央处理器130控制功能模块120。
具体的,中央处理器通过I2C(Inter-Integrated Circuit,是一种两线式串行总线)总线与控制逻辑器件以便控制与控制逻辑器件连接的功能模块,例如,电源模块、存储模块和风扇模块等功能模块,通过I2C总线与基板管理控制器连接以便与基板管理控制器进行信息交互,通过GPIO总线和复杂可编程逻辑器件连接以便向复杂可编程逻辑器件发送或从复杂可编程器件接收GPIO信号,GPIO信号指的是状态信号或控制信号等,一般为高低电平信号。
控制逻辑器件包括数据选择器、缓冲器、逻辑开关等具备逻辑控制功能的电子器件。不同的功能模块连接的控制逻辑器件与功能模块的功能相关,一些功能模块连接数据选择器,例如,电源模块、存储模块和风扇模块等管理系统中比较重要的功能模块,以便基板管理控制器故障时可以切换到中央处理器对其进行控制,还有一些功能模块,例如逻辑功能模块(即通过GPIO信号控制的功能模块),这些逻辑功能模块根据具体的功能,可以与复杂可编程逻辑器件直连,也可以通过对应的控制逻辑器件与复杂可编程逻辑器件连接,以使基板管理控制器发出的所有GPIO信号都经复杂可编程逻辑器件进行检测,以便基板管理控制器故障时可以由复杂可编程逻辑器件接管对逻辑功能模块的控制。
复杂可编程逻辑器件根据监测到的状态正常信号和心跳信号是否正常,来确定是否切换基板管理控制器对所有功能模块的控制状态,在基板管理控制器工作状态正常时一直监测基板管理控制器输出的状态正常信号和心跳信号以及时发现故障,在基板管理控制器工作状态不正常(异常或故障)时,将与基板管理控制器连接的所有功能模块与基板管理控制器隔离,并接管对所有功能模块的控制,并在接管对所有功能模块的控制后,通过控制逻辑器件,例如数据选择器,将对重要功能模块的控制转交给中央处理器,保证管理系统除基板管理器以外的功能不受影响。
在一些实施方式中,功能模块包括电源模块、存储模块、风扇模块;控制逻辑器件包括数据选择器。
如图2所示,装置包括:基板管理控制器、中央处理器、复杂可编程逻辑器件、数据选择器(MUX)和电源模块、存储模块、风扇模块;基板管理控制器分别与中央处理器、复杂可编程逻辑器件和数据选择器连接,复杂可编程逻辑器件还分别与数据选择器和中央处理器连接,电源模块、存储模块、风扇模块分别与对应的数据选择器连接。
更加具体的,数据选择器为2选1数据选择器,一个输入端连接中央处理器,另一个输入端连接基板管理控制器,使能端连接复杂可编程逻辑器件,输出端连接电源模块或存储模块或风扇模块,通过上述连接结构,使复杂可编程逻辑器件在确定基板管理控制器的工作状态不正常时,通过改变输入到数据选择器的使能端的控制信号(SEL)的电平状态来断开基板管理控制器对电源模块、存储模块、风扇模块的控制,切换到由中央处理器对电源模块、存储模块、风扇模块进行控制。
更进一步的,对于基板管理控制器控制的逻辑功能模块(图2中未示出),例如电压检测模块、温度检测模块、时钟模块等,将其连接到复杂可编程逻辑器件,使复杂可编程逻辑器件在确定基板管理控制器的工作状态不正常时,能够接管对逻辑功能模块的控制。
本实施例中,基板管理控制器通过发送状态正常信号和心跳信号给复杂可编程逻辑器件,复杂可编程逻辑器件通过监测状态正常信号和心跳信号来判断基板管理控制器的工作状态是否正常,并响应于基板管理控制器的工作状态不正常,接管对逻辑功能模块的控制以使逻辑功能模块能够正常工作,同时通过控制输入到数据选择器的使能端的信号的电平状态来断开基板管理控制器对电源模块、存储模块、风扇模块的控制,切换到由中央处理器对电源模块、存储模块、风扇模块进行控制以使电源模块、存储模块、风扇模块能够正常工作,通过上述方案最大限度的保障管理系统除基板管理控制器以外的其他功能不受影响,保障管理系统的正常运行。
在一些实施方式中,所述基板管理控制器配置为在正常工作时,输出到所述复杂可编程逻辑器件的状态正常信号为高电平并且输出到所述复杂可编程逻辑器件的心跳信号为固定脉冲频率的方波信号。
在一些实施方式中,基于接收到的所述状态正常信号和所述心跳信号判断所述基板管理控制器的工作状态是否正常,包括:
监测接收到的状态正常信号和心跳信号;
判断接收到的所述状态正常信号是否为高电平;
若是所述状态正常信号为高电平,则判断所述心跳信号的信号频率是否与预设频率相同;
若是所述心跳信号的信号频率与预设频率相同,则确定所述基板管理控制器的工作状态正常。
如图3所示,为复杂可编程逻辑器件判断基板管理控制器的工作状态的流程示意图。
复杂可编程逻辑器件((Complex Programmable Logic Device,简称CPLD)监测接收到的状态正常信号(BMC Ready信号)和心跳信号(BMC Heartbeat信号);
判断接收到的BMC Ready信号是否为高电平;
若BMC Ready信号为高电平,则判断接收到的BMC Heartbeat信号的信号频率是否为预设频率以排除基板管理控制器(BMC)因故障,无法转变BMC Ready信号状态的可能性,更加具体的,判断接收到的BMC Heartbeat信号的信号频率是否为预设频率时,可以先对接收到的BMC Heartbeat信号进行计数以计算信号频率,然后判断计算出来的信号频率是否与预设频率一致。
若信号频率与预先频率相同,例如,BMC Heartbeat信号为方波信号,脉冲频率为10Hz,若接收到的BMC Heartbeat信号的信号频率经过计算也为10Hz,则认为BMC工作正常,可以继续控制管理系统。
本实施例,通过上述方案实现了CPLD对BMC工作状态的监测,一旦BMC出现故障可以及时发现。
在一些实施方式中,所述复杂可编程逻辑器件进一步配置为:
若是所述心跳信号的信号频率与预设频率不相同,则在第一预设时间内判断接收到的心跳信号的信号频率是否恢复正常;
若是在第一预设时间内接收到的心跳信号的信号频率恢复正常,则确定所述基板管理控制器的工作状态正常;
若是在第一预设时间内接收到的心跳信号的信号频率未恢复正常,则确定所述基板管理控制器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
具体的,结合图3和上一个实施例对本实施例进行说明。
若接收到的BMC Heartbeat信号的信号频率与预设频率不同,则CPLD内部开始计时第一预设时间,本实施例中第一预设时间为30s,但实际上第一预设时间的设置不限于此,可以为40s、50s、60s等自定义的任意时间,30s内一直判断接收到的BMC Heartbeat信号的信号频率是否恢复正常,即接收到的BMC Heartbeat信号的信号频率与预设频率是否相同;
若30s内接收到的BMC Heartbeat信号的信号频率恢复正常,即由于预设频率不相同转变为与预设频率相同,则确定BMC运行正常,CPLD继续监测接收到的状态正常信号(BMCReady)和心跳信号(BMC Heartbeat)。
若30s内接收到的BMC Heartbeat信号的信号频率一直与预设频率不相同,则认为BMC在运行过程中出现了故障,CPLD将接管对整个管理系统的控制,并将系统中较为重要的存储、电源、风扇模块的控制权限转交给CPU,由CPU控制这些模块,以保障系统除BMC外的相关功能不受影响。
通过上述方案实现了CPLD对BMC工作状态的监测,一旦BMC出现故障可以及时发现,并且在BMC出现故障后能够及时接管对管理系统的控制以保证管理系统除了BMC以外的相关功能能够继续运行。
在一些实施方式中,所述复杂可编程逻辑器件在执行判断接收到的所述状态正常信号是否为高电平步骤之后,进一步配置为:
若是所述状态正常信号不为高电平,则在第二预设时间内判断接收到的状态正常信号是否恢复为高电平;
若是在第二预设时间内接收到的状态正常信号没有恢复为高电平,则确定所述基板管理控制器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。具体的,结合图3对本实施例进行说明。
若BMC Ready信号为低电平,CPLD内部开始计时第二预设时间,例如100s,120s,130s等,本实施第二预设时间以120s进行举例但不限于此;在120s内持续判断接收到的BMCReady信号是否恢复为高电平以排除BMC正处于重启的可能性;
若在120s内接收到的BMC Ready信号一直为低电平,未恢复为高电平,CPLD则认为BMC出现开机异常,不能由BMC控制管理系统,CPLD接管对整个管理系统的控制,并将系统中较为重要的存储、电源、风扇模块的控制权限转交给CPU,由CPU控制这些模块,以保障系统除BMC外的相关功能不受影响,同时将系统故障灯以固定频率,例如,5Hz,闪烁以发出BMC开机失败报警信号。
通过上述方案实现了CPLD对BMC工作状态的监测,一旦BMC出现故障可以及时发现,并且在BMC出现故障后能够及时接管对管理系统的控制以保证管理系统除了BMC以外的相关功能能够继续运行。
在一些实施方式中,所述复杂可编程逻辑器件在执行若是所述状态正常信号不为高电平,则在第二预设时间内判断接收到的状态正常信号是否恢复为高电平步骤之后,进一步配置为:
若是在第二预设时间内接收到的状态正常信号恢复为高电平,则返回若是所述状态正常信号为高电平,则判断所述心跳信号的信号频率是否与预设频率相同的步骤以在第二预设时间内接收到的状态正常信号为高电平的条件下,判断心跳信号的信号频率是否与预设频率相同。
具体的,结合图3对本实施例进行说明。
若BMC Ready信号为低电平,CPLD内部开始计时第二预设时间,例如100s,120s,130s等,本实施第二预设时间以120s进行举例但不限于此;在120s内持续判断接收到的BMCReady信号是否恢复为高电平以排除BMC正处于重启的可能性;
若在120s内接收到的BMC Ready信号恢复正常,即由低电平转为高电平,则认为BMC完成重启,状态正常,进入心跳信号(BMC Heartbeat)的信号频率的判断,即返回接收到的BMC Heartbeat信号的信号频率是否为预设频率的步骤以排除BMC因故障,无法转变BMCReady信号状态的可能性并最终确定BMC的工作状态;
若BMC Heartbeat信号的信号频率与预设频率相同,则确定BMC工作状态正常;
若是BMC Heartbeat信号的信号频率与预设频率不相同,则CPLD内部开始计时第一预设时间,例如计时30s,在30s内持续判断接收到的BMC Heartbeat信号的信号频率与预设频率是否相同;
若30s内的BMC Heartbeat信号的信号频率恢复正常,即由与预设频率不相同转变为与预设频率相同,则确定BMC运行正常,CPLD继续监测接收到的状态正常信号(BMCReady)和心跳信号(BMC Heartbeat);
若30s内的BMC Heartbeat信号的信号频率一直与预设频率不相同,则认为BMC在运行过程中出现了故障,将系统故障灯以固定频率闪烁,例如,10Hz,以发出BMC工作异常报警信号,并且CPLD接管对整个管理系统的控制,并将系统中较为重要的存储、电源、风扇模块的控制权限转交给CPU,由CPU控制这些模块,以保障系统除BMC外的相关功能不受影响。
需要说明的是,BMC工作异常和BMC开机异常故障灯的闪烁频率不一致,以区分BMC不同的异常状态。
通过上述方案实现了CPLD对BMC工作状态的监测,一旦BMC出现故障可以及时发现,并且在BMC出现故障后能够及时接管对管理系统的控制以保证管理系统除了BMC以外的相关功能能够继续运行。
在一些实施方式中,所述中央处理装置配置为响应于需要进行重启或关机,向所述复杂可编程逻辑器件发送请求信号;
所述复杂可编程逻辑器件配置为将所述请求信号透传给所述基板管理控制器;
所述基板管理控制器配置为响应于接收到所述请求信号,对其控制的相关功能模块进行处理,并在处理完毕后,向所述复杂可编程逻辑器件发送反馈信号;
所述复杂可编程逻辑器件配置为将所述反馈信号透传给所述中央处理器;
所述中央处理装置配置为响应于接收到所述反馈信号,进行重启或关机。
在一些实施方式中,所述复杂可编程逻辑器件还配置为:
在将所述请求信号透传给所述基板管理控制器后,进行计时;
响应于计时时间超过第三预设时间还未接收到所述反馈信号,则确定所述基板管理器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
CPLD除了在管理系统正常工作时对BMC主动发出的信号进行监测外,还会对一些特殊情况下BMC的反馈信号信号进行监测。
当CPU需要进行重启或关机时,CPU会对BMC发出请求信号,正常情况下,BMC接收到请求信号,记录下运行过程中CPU重启或关机的动作,控制相关功能模块进行重启或关机前的数据备份等准备工作,然后再发出相应的反馈信号,通知CPU可以进行重启或关机。若CPU没有接收到相应的反馈信号,无法进行重启或关机,则可能会导致系统功能出现异常。本实施例中,BMC发出的所有GPIO信号都会经过CPLD监控,CPU发出的重启或关机信号也会经过CPLD进行监测,避免因BMC功能异常,无法及时反馈的问题,BMC发出的GPIO信号包括:状态正常信号、心跳信号、反馈信号等等。
具体的,CPLD接收到CPU发给BMC的重启或关机请求信号后,将CPU的重启或关机信号透传给BMC,CPLD内部进行计时第三预设时间,例如,60s,本实施第三预设时间以120s进行举例但不限于此,可以自由设定,等待BMC发出的反馈信号。若在60s内,BMC发出了相应的反馈信号,CPLD将反馈信号透传给CPU,继续进行检测。若60s过后,BMC仍未发出对应的反馈信号,CPLD则判定BMC运行异常,CPLD主动将重启或关机的反馈信号发送给CPU,同时接管对管理系统的控制。
当CPLD检测到BMC系统异常时,CPLD接管对管理系统控制,将BMC连接的相关功能模块与BMC系统隔离,并对于管理系统中较为重要的存储、电源、风扇模块的控制权限转交给CPU,由CPU控制这些模块,以保障管理系统除BMC外的相关功能不受影响。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种基板管理控制器故障检测装置,其特征在于,包括:
基板管理控制器、复杂可编程逻辑器件、服务器主板上的多个功能模块,所述基板管理控制器分别与所述复杂可编程逻辑器件、所述功能模块连接;
所述基板管理控制器配置为定义状态正常信号和心跳信号,并将所述状态正常信号和所述心跳信号发送给所述复杂可编程逻辑器件;
所述复杂可编程逻辑器件配置为基于接收到的所述状态正常信号和所述心跳信号判断所述基板管理控制器的工作状态是否正常,并响应于所述基板管理控制器的工作状态不正常,向管理系统发出报警信号。
2.根据权利要求1所述的装置,其特征在于,还包括:
中央处理器、多个控制逻辑器件,所述中央处理器分别与所述基板管理控制器、复杂可编程逻辑器件和所述控制逻辑器件连接,所述控制逻辑器件还分别与所述功能模块、所述复杂可编程逻辑器件和所述基板管理控制器连接,其中,所述控制逻辑器件与所述功能模块一一对应连接;
所述复杂可编程逻辑器件配置为通过控制所述控制逻辑器件来选择由中央处理器或所述基板管理控制器控制所述功能模块,并响应于所述基板管理控制器的工作状态不正常,通过控制所述控制逻辑器件来选择由所述中央处理器控制所述功能模块。
3.根据权利要求2所述的装置,其特征在于,所述功能模块包括电源模块、存储模块、风扇模块;
所述控制逻辑器件包括数据选择器;
所述基板管理控制器分别与所述中央处理器、复杂可编程逻辑器件和数据选择器连接,所述复杂可编程逻辑器件还分别与所述数据选择器和所述中央处理器连接,所述电源模块、存储模块、风扇模块分别与对应的数据选择器连接;
所述复杂可编程逻辑器件配置为响应于所述基板管理控制器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
4.根据权利要求3所述的装置,其特征在于,所述基板管理控制器配置为在正常工作时,输出到所述复杂可编程逻辑器件的状态正常信号为高电平并且输出到所述复杂可编程逻辑器件的心跳信号为固定脉冲频率的方波信号。
5.根据权利要求4所述的装置,其特征在于,基于接收到的所述状态正常信号和所述心跳信号判断所述基板管理控制器的工作状态是否正常,包括:
监测接收到的状态正常信号和心跳信号;
判断接收到的所述状态正常信号是否为高电平;
若是所述状态正常信号为高电平,则判断所述心跳信号的信号频率是否与预设频率相同;
若是所述心跳信号的信号频率与预设频率相同,则确定所述基板管理控制器的工作状态正常。
6.根据权利要求5所述的装置,其特征在于,所述复杂可编程逻辑器件进一步配置为:
若是所述心跳信号的信号频率与预设频率不相同,则在第一预设时间内判断接收到的心跳信号的信号频率是否恢复正常;
若是在第一预设时间内接收到的心跳信号的信号频率恢复正常,则确定所述基板管理控制器的工作状态正常;
若是在第一预设时间内接收到的心跳信号的信号频率未恢复正常,则确定所述基板管理控制器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
7.根据权利要求5所述的装置,其特征在于,所述复杂可编程逻辑器件在执行判断接收到的所述状态正常信号是否为高电平步骤之后,进一步配置为:
若是所述状态正常信号不为高电平,则在第二预设时间内判断接收到的状态正常信号是否恢复为高电平;
若是在第二预设时间内接收到的状态正常信号没有恢复为高电平,则确定所述基板管理控制器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
8.根据权利要求7所述的装置,其特征在于,所述复杂可编程逻辑器件在执行若是所述状态正常信号不为高电平,则在第二预设时间内判断接收到的状态正常信号是否恢复为高电平步骤之后,进一步配置为:
若是在第二预设时间内接收到的状态正常信号恢复为高电平,则返回若是所述状态正常信号为高电平,则判断所述心跳信号的信号频率是否与预设频率相同的步骤以在第二预设时间内接收到的状态正常信号为高电平的条件下,判断心跳信号的信号频率是否与预设频率相同。
9.根据权利要求3所述的装置,其特征在于,所述中央处理装置配置为响应于需要进行重启或关机,向所述复杂可编程逻辑器件发送请求信号;
所述复杂可编程逻辑器件配置为将所述请求信号透传给所述基板管理控制器;
所述基板管理控制器配置为响应于接收到所述请求信号,对其控制的相关功能模块进行处理,并在处理完毕后,向所述复杂可编程逻辑器件发送反馈信号;
所述复杂可编程逻辑器件配置为将所述反馈信号透传给所述中央处理器;
所述中央处理装置配置为响应于接收到所述反馈信号,进行重启或关机。
10.根据权利要求9所述的装置,其特征在于,所述复杂可编程逻辑器件还配置为:
在将所述请求信号透传给所述基板管理控制器后,进行计时;
响应于计时时间超过第三预设时间还未接收到所述反馈信号,则确定所述基板管理器的工作状态不正常,通过控制所述数据选择器来选择由所述中央处理器接管对所述电源模块、存储模块、风扇模块的控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210403890.5A CN114691408B (zh) | 2022-04-18 | 2022-04-18 | 一种基板管理控制器故障检测装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210403890.5A CN114691408B (zh) | 2022-04-18 | 2022-04-18 | 一种基板管理控制器故障检测装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114691408A true CN114691408A (zh) | 2022-07-01 |
CN114691408B CN114691408B (zh) | 2024-07-02 |
Family
ID=82142556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210403890.5A Active CN114691408B (zh) | 2022-04-18 | 2022-04-18 | 一种基板管理控制器故障检测装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114691408B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737471A (zh) * | 2023-08-04 | 2023-09-12 | 金舟远航(北京)信息产业有限公司 | Bios自动切换方法、装置、电子设备及存储介质 |
CN116820827A (zh) * | 2023-08-28 | 2023-09-29 | 苏州浪潮智能科技有限公司 | 一种节点服务器的基板管理控制器的控制方法及其系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145428A (zh) * | 2017-05-26 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种服务器及服务器监控方法 |
CN108038019A (zh) * | 2017-12-25 | 2018-05-15 | 曙光信息产业(北京)有限公司 | 一种基板管理控制器的故障自动恢复方法及系统 |
CN109656739A (zh) * | 2018-12-10 | 2019-04-19 | 英业达科技有限公司 | 服务方法、系统、主板及计算机可读存储介质 |
-
2022
- 2022-04-18 CN CN202210403890.5A patent/CN114691408B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145428A (zh) * | 2017-05-26 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种服务器及服务器监控方法 |
CN108038019A (zh) * | 2017-12-25 | 2018-05-15 | 曙光信息产业(北京)有限公司 | 一种基板管理控制器的故障自动恢复方法及系统 |
CN109656739A (zh) * | 2018-12-10 | 2019-04-19 | 英业达科技有限公司 | 服务方法、系统、主板及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737471A (zh) * | 2023-08-04 | 2023-09-12 | 金舟远航(北京)信息产业有限公司 | Bios自动切换方法、装置、电子设备及存储介质 |
CN116737471B (zh) * | 2023-08-04 | 2023-11-21 | 金舟远航(北京)信息产业有限公司 | Bios自动切换方法、装置、电子设备及存储介质 |
CN116820827A (zh) * | 2023-08-28 | 2023-09-29 | 苏州浪潮智能科技有限公司 | 一种节点服务器的基板管理控制器的控制方法及其系统 |
CN116820827B (zh) * | 2023-08-28 | 2024-01-23 | 苏州浪潮智能科技有限公司 | 一种节点服务器的基板管理控制器的控制方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114691408B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022198972A1 (zh) | 一种服务器启动过程中的故障定位方法、系统及装置 | |
CN114691408A (zh) | 一种基板管理控制器故障检测装置 | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
JP2001325124A (ja) | 計算機、システム管理支援装置及び管理方法 | |
JP2003150280A (ja) | バックアップ管理システムおよび方法 | |
CN114090184B (zh) | 一种虚拟化集群高可用性的实现方法和设备 | |
CN107528705B (zh) | 故障处理方法及装置 | |
JP2000250664A (ja) | 電源装置、電源制御装置および電源システムのスケジュール運転監視制御方法 | |
WO2015135100A1 (zh) | 一种实现处理器切换的方法、计算机和切换装置 | |
CN111880992B (zh) | 一种存储设备中控制器状态的监测及维护方法 | |
CN105912414A (zh) | 一种服务器管理的方法及系统 | |
CN111309132B (zh) | 一种服务器多档位电源冗余的方法 | |
CN112131048A (zh) | 一种服务器指示灯的控制方法和装置 | |
CN106411643B (zh) | Bmc检测方法以及装置 | |
CN111984471A (zh) | 一种机柜电源bmc冗余管理系统及方法 | |
CN116610430A (zh) | 一种实现处理器带电运维的方法及服务器系统 | |
CN116340058A (zh) | 主备切换方法及装置 | |
CN114528163A (zh) | 一种服务器故障硬盘自动定位系统、方法及装置 | |
US20060047981A1 (en) | Power supply control method, power supply control unit and information processing apparatus | |
CN113590203A (zh) | 基板管理控制器失效处理方法及系统、存储介质及单片机 | |
CN114326990B (zh) | 风扇异常处理方法、装置、电子设备及存储介质 | |
JP2004094455A (ja) | コンピュータ装置 | |
CN211148841U (zh) | 一种DC Cycle测试装置 | |
CN116893833A (zh) | 远程升级复杂可编程逻辑器件操作系统、方法及介质 | |
CN117742472A (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 | ||
GR01 | Patent grant |