一种智能平台管理系统及故障处理方法与流程

文档序号:15143917发布日期:2018-08-10 20:13阅读:277来源:国知局

本发明涉及一种智能平台管理系统及故障处理方法,尤其是一种关于ipmi系统发生故障的新型接管式检测处理方法。



背景技术:

ipmi(智能平台管理接口)是一种开放标准的硬件管理接口规格,定义了嵌入式管理子系统进行通信的特定方式。ipmi信息通过基板管理控制器(boardmanagementcontroller,bmc)进行交流。使用低级硬件智能管理而不使用操作系统进行管理。

目前,机箱中的板卡上使用的ipmi的一种处理模型为多个基板管理控制器(bmc)汇总到一个总体控制器,也可以称之为机箱管理控制器(chassismanagementcontroller,cmc)上,然后由这个总控单元进行整理汇集,转发。机箱管理控制器本质上其实也是bmc,一般为独立的一种板卡或者独立于其他所需要控制的板卡的一种模块。这种方式于机箱内部采用i2c或spi总线通信,稳定可靠,主控单元向上位机通过串口或网络发送信息。

但若板卡上bmc出现故障或总控单元(cmc)出现故障,导致硬件健康信息采集的失败或者数据传输的失败,最严重就是硬件上电断电的失败,没有一套相对来说智能的处理解决方案,仅仅是依靠报警提示出现故障,对于发生故障后的处理处于被动接收的状态。



技术实现要素:

为了克服ipmi系统板卡bcm单元发生故障后被动处理的不足及可能存在人为处理的不及时导致的危险,本发明提供一种故障检测及接管解决方法,该方法能快速检测到基板bcm出现的故障并在bcm单元发生致命错误故障的时候自动进行系统的接管,从而避免被动处理故障的不及时性而导致的后果。

一种ipmi系统,包括机箱,机箱内安装多个基板及一个机箱管理控制器,每块基板包括一个基板管理控制器,所述多个基板管理控制器通过总线汇总连接到所述机箱管理控制器,其特征在于,控制上电的io口芯片为两套。

具体的,所述io口芯片一套为正常工作设计,一套为备用,正常情况下备用芯片上电io为输入状态。两套中采取门电路,电源使能若为低电平有效,使得只有一套为低输出有效,若两套都为输出低电平则输出高电平使得电源不使能。

一种应用于上述ipmi系统板卡故障检测及接管解决方法,包括以下步骤:

步骤1,在基板中加入电源管理控制冗余设计。

具体将控制上电的io口芯片设计为两套,一套为正常工作设计,一套为备用,正常情况下备用芯片上电io为输入状态。两套中采取门电路,电源使能若为低电平有效,使得只有一套为低输出有效,若两套都为输出低电平则输出高电平使得电源不使能。

步骤2,在机箱每个基板bcm中加入定时故障检测程序。

现有的bcm单元一般为单片机,单片机的优势在于功耗小,系统独立,但相对应的处理能力下降,而单片机中程序代码架构一般分为带操作系统的如freertos,以及不带操作系统的“裸机”程序(main函数中死循环方式)。在带有操作系统的bcm控制单元中,我们可以独立创建一个线程用来作为定时故障检测,而在“裸机”程序中我们可以在死循环中加入定时故障检测。

优选地,定时故障检测分为两部分,一部分为硬件检测,另一部分为心跳信息检测。

硬件检测,主要指检测关键硬件的应答状态,来判断对这个硬件或芯片的读、写是否有效,例如单片机通过spi等bus可以检测到对应phy芯片的寄存器状态,若寄存器值与设定或者默认值不同则认为出现错误,但错误并不是故障,此刻程序会进行判断硬件设备功能是否正常,此刻会通过机箱内部bus进行与总控单元进行通信,告知总控单元。

心跳信息检测指规定每隔一段时间,每一个基板bcm给主控bcm发送心跳信息,其中包含各功能模块是否正常的信息,同时主控bcm给基板bcm回复ack应答。

步骤3,进行错误类型判定,错误类型包括基板bcm错误和主控bcm错误。错误类型主要跟据硬件检测或者心跳信息检测中地址信息进行判断。进行硬件检测时,如检测出故障的关键硬件位于基板bcm则为基板bcm错误,如检测出故障的关键硬件位于主控bcm,则为主控bcm错误。

步骤4,进行故障类型判定,故障类型包括功能性故障和非功能性故障。判定故障类型的方法:通过spi等bus可以检测到对应phy芯片的寄存器状态,若寄存器值与设定或者默认值不同则认为出现错误,但错误并不是故障,此刻程序会进行判断硬件设备功能是否正常,并通过机箱内部bus进行与总控单元进行通信,告知总控单元。

步骤5,根据错误类型和故障类型处理故障,若故障类型为非功能性故障,则正常工作并向主控单元发出警告;若发生功能性故障,则根据步骤3中检测到不同的错误类型进行处理。所述非功能性故障包括日志,数据传输等;而功能性故障包括上电、断电、温度阈值报警等。

进一步地,发生功能性故障时,若发生主控bcm错误则发出警告并选取新主控bcm,若发生基板bcm故障,则判断是否为电源模块故障。若电源模块故障,则切换冗余模块,若冗余模块不正常则主控bcm控制底板掉电。若不是电源故障,则判断是否为可接管模块,若可接管则由其余bcm接管功能,若不可接管,判断是否为传感器功能故障,若为传感器功能故障则计算中排除该传感器信息,否则停止该功能并发出警告。

通信等中间设备故障:若出错误的为通信等中间设备,则出现错误的bcm与总控bcm进行相应错误设备功能的测试,例如若分管网络的一些芯片电路出现错误信息,则由出现错误的bcm发送网络包至总控bcm,总控bcm若能收到网络包,则进行校验和的计算,检查包是否完整。否则就判定此芯片出现故障,错误信息提交至主控bcm,然后切换传输方式如i2c、uart、spi等。

单板功能硬件故障:若为单板功能硬件例如flash、eeprom、传感器等,则对这些芯片进行读写测试。flash、eeprom芯片则由本身bcm测试写入和读取值是否相同,传感器可以读取传感信息这个值是否处于芯片允许理论值范围之内。

但其中最关键的控制电源的芯片电路则只测试是否有应答(ack),寄存器的值的测试,若有应答,读写值无问题,则说明此芯片电路仅状态参数出现错误,主控bcm记录此问题,在下次断电开机进行复位操作,测试功能。

若没有问题(除电源管理)则告知出现错误的bcm此错误可以忽略,系统不受影响。但电源管理不管出现任何错误都会记录,在下次开机进行检测,若下一次开机失败,则电源管理模块出现问题的基板上的bcm进行切换冗余管理模块进行控制。

如果出现功能性问题,若flash或eeprom等存储介质出现故障,则通知总控单元bcm进行报警,然后由bcm进行分配机箱内其余基板的bcm进行远程接管,即通过内部总线或网络将需要记录的内容发送至无故障的bcm中,由此bcm进行记录。若传感器等实时采集健康状态的芯片出现故障,则排除此故障传感器值的判定,此传感器为无效,任何与之有关的计算都将其排除。

若出现不正常的功能,可以由其他bcm接管,或排除故障模块的干扰等等,具体处理模式可以根据功能处理,传输功能故障可以切换通信方式,监测功能故障可以排除故障模块,控制功能故障可以设计冗余设计,记录功能故障可以由其余bcm接管。

若心跳信息一般可以通过内部总线通信,若内部总线出现故障,则通过网络发送,若都发生故障,则检索之前心跳信息中有无“失联“bcm的关于电源管理模块的错误信息,如果没有,则报警;如果有,则控制底板短短,报警。

bcm定时检测故障功能适用于不管是普通的基板bcm还是主控bcm,若主控bcm出现功能性故障,则通过机箱总线或网络发出主控bcm故障信息,此时其余bcm会进行一个“投票机制”选出接管此主控bcm功能的bcm。

“投票机制”基于板卡bcm的负载均衡进行动态判断,此时所有板卡进入“主控bcm故障”这一个模式,由每个bcm进行自我负载的检测,即单片机测试自己运行速度的检测,具有操作系统的可以通过判断所有线程所有代码的多次执行时间得出平均值,而“裸机”程序可以判断死循环内多次的执行时间得出平均值,此刻所有bcm进行通信,由固定的最小槽位的板卡bcm进行仲裁,得出负载最小的基板bcm接管主控bcm的功能。

本发明的有益效果是,可以在ipmi系统中某一或几个bcm发生故障时快速进行自我智能的判断,选择解决方式,最大限度保护机箱板卡的安全性,除此之外主控bcm的故障通过负载均衡的判断选择最优的基板bcm进行接管,保证机箱ipmi系统的功能完整性。

附图说明

为了使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

图1机箱ipmi架构图

图2故障处理流程图

具体实施方式

一种ipmi系统,包括机箱,机箱内安装多个基板及一个机箱管理控制器,每块基板包括一个基板管理控制器,所述多个基板管理控制器通过总线汇总连接到所述机箱管理控制器,其特征在于,控制上电的io口芯片为两套。

如上所述一种ipmi系统,其特征在于,所述io口芯片一套为正常工作设置,一套为备用,正常情况下备用芯片上电io为输入状态,两套中采取门电路,电源使能若为低电平有效,使得只有一套为低输出有效,若两套都为输出低电平则输出高电平使得电源不使能。

一种对上述ipmi系统进行故障检测及故障处理的方法,具体包括以下步骤:

步骤1,在基板中加入电源管理控制冗余设计;

步骤2,在机箱每个基板bcm中加入定时故障检测程序;

步骤3,进行错误类型判定,所述错误类型包括基板bcm错误和主控bcm错误;

步骤4,进行故障类型判定,所述故障类型包括功能性故障和非功能性故障;

步骤5,根据错误类型和故障类型处理故障,若故障类型为非功能性故障,则正常工作并向主控单元发出警告;若发生功能性故障,则根据步骤3中检测的错误类型进行处理。

一种如上述方法进行故障检测及故障处理的方法,其特征在于,所述步骤3中错误类型主要跟据硬件检测或者心跳信息检测中地址信息进行判断,进行硬件检测时,如检测出故障的关键硬件位于基板bcm则为基板bcm错误,如检测出故障的关键硬件位于主控bcm,则为主控bcm错误。

一种如上述方法进行故障检测及故障处理的方法,其特征在于,所述步骤4中判定故障类型的方法为:通过spi等bus检测到对应phy芯片的寄存器状态,若寄存器值与设定或者默认值不同则认为出现错误。

一种如上述方法进行故障检测及故障处理的方法,其特征在于,所述步骤5中若故障类型为非功能性故障,则正常工作并向主控单元发出警告;若发生功能性故障,则根据步骤3中检测到不同的错误类型进行处理,所述非功能性故障包括日志,数据传输等;而功能性故障包括上电、断电、温度阈值报警等。

一种如上述方法进行故障检测及故障处理的方法,其特征在于,所述步骤5中若判断发生功能性故障时,若发生主控bcm错误则发出警告并选取新主控bcm,若发生基板bcm故障,则判断是否为电源模块故障,若电源模块故障,则切换冗余模块,若冗余模块不正常则主控bcm控制底板掉电,若不是电源故障,则判断是否为可接管模块,若可接管则由其余bcm接管功能,若不可接管,判断是否为传感器功能故障,若为传感器功能故障则计算中排除该传感器信息,否则停止该功能并发出警告。

一种如上述方法进行故障检测及故障处理的方法,其特征在于,所述步骤5中若主控bcm出现功能性故障,则通过机箱总线或网络发出主控bcm故障信息,此时其余bcm通过投票机制选出接管此主控bcm功能的bcm,具体包括:基于板卡bcm的负载均衡进行动态判断,此时所有板卡进入“主控bcm故障”这一个模式,由每个bcm进行自我负载的检测,具有操作系统的通过判断所有线程所有代码的多次执行时间得出平均值,而“裸机”程序通过判断死循环内多次的执行时间得出平均值,此刻所有bcm进行通信,由固定的最小槽位的板卡bcm进行仲裁,得出负载最小的基板bcm接管主控bcm的功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1