一种多控制器热插拔记录方法、装置及存储介质与流程

文档序号:32162763发布日期:2022-11-12 03:14阅读:138来源:国知局
一种多控制器热插拔记录方法、装置及存储介质与流程

1.本发明涉及热插拔记录修复技术领域,尤其涉及一种多控制器热插拔记录方法、装置及存储介质。


背景技术:

2.服务器中基板管理控制器作为板级硬件管理核心,往往承担着服务器硬件状态监控、故障记录等重要功能,基板管理控制器在运行过程中通常会提供服务器各个现场可更换单元的热插拔状态给服务器管理软件用于运维或者客服技术支持中的数据管理平台事件修复。
3.在存储服务器中多控制器冗余设计是较为普遍的设计,各个控制器配置独立的基板管理控制器,对各个控制器中现场可更换单元进行热插拔状态记录,各个控制器之间的关联属于互相冗余,提供数据灾备能力。但是,由于控制器本身的特殊性,热拔插某控制器整体后此控制器关联数据消失,控制器中的基板管理控制器无法做到对自身所在控制器的热插拔状态的监控记录。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供一种多控制器热插拔记录方法、装置及存储介质。
5.第一方面,本发明提供一种多控制器热插拔记录方法,包括:通过背板相互连接的多个控制器利用背板向其余控制器共享自身的热插拔状态,当目标控制器发生热插拔时,其余活跃的控制器对目标控制器的热插拔标识置位;活跃的控制器通知上层管理程序,触发上层管理程序的数据管理平台事件修复策略;
6.监测到目标控制器重新插接后,数据管理平台事件修复策略控制目标控制器访问其余活跃的控制器中保存的热插拔标识,并利用获取的热插拔标识的值分析目标控制器是否发生过热插拔动作;保存热插拔动作分析结果,并通过基板管理控制器将分析结果上报上层管理程序,触发管理平台修复策略使控制器取消目标控制器的热插拔标识置位后结束。
7.更进一步地,通过背板相互连接的多个控制器利用背板向其余控制器共享自身的在位状态;活跃的控制器检测到目标控制器在位状态由在位转变为不在位时,判断目标控制器发生热插拔;目标控制器的在位状态由不在位转变为在位时,数据管理平台事件修复策略控制目标控制器访问其余活跃的控制器中保存的热插拔标识。
8.更进一步地,对各个控制器的所述在位状态进行编码,使得控制器具有唯一的在位状态编码;目标控制器发生热插拔时,通过在位状态编码的变化判断目标控制器的身份。
9.更进一步地,活跃的控制器将目标控制器的热插拔事件通知上层管理程序时,上层管理程序记录相应的发出通知的活跃的控制器于控制器列表,数据管理平台事件修复策略控制目标控制器遍历访问控制器列表中活跃的控制器中保存的热插拔标识。
10.更进一步地,利用获取的热插拔标识的值分析目标控制器是否发生过热插拔动作包括:分析获取的热插拔标识的值是否一致,若热插拔标识的值不一致,则统计热插拔标识值的数量,以多数热插拔标识值所代表的结果作为分析结果;若热插拔标识的值一致,则以热插拔标识值所代表的结果作为分析结果。
11.更进一步地,重启控制器从其余活跃的控制器获取各个控制器的热插拔标识,按控制器分析获取的热插拔标识的值是否一致,若热插拔标识的值不一致,则统计热插拔标识值的数量,以多数热插拔标识值所代表的结果作为相应控制器的热插拔标识值进行同步;若热插拔标识的值一致,则以热插拔标识值作为相应控制器的热插拔标识值进行同步。
12.更进一步地,数据管理平台事件修复策略监测到目标控制器重新插接后进行计时,若计时时间超过设定的时间阈值后仍未收到基板管理控制器反馈的分析结果触发数据管理平台事件修复策略结束,则提示超时,记录超时日志并取消热插拔标识置位。
13.第二方面,本发明提供一种多控制器热插拔记录装置,包括:经背板连接的若干控制器,通过背板相互连接的多个控制器利用背板向其余控制器共享自身的热插拔状态,当目标控制器发生热插拔时,其余活跃的控制器对目标控制器的热插拔标识置位;活跃的控制器通知上层管理程序,触发上层管理程序的数据管理平台事件修复策略;监测到目标控制器重新插接后,数据管理平台事件修复策略控制目标控制器访问其余活跃的控制器中保存的热插拔标识,并利用获取的热插拔标识的值分析目标控制器是否发生过热插拔动作;将热插拔动作分析结果保存在目标控制器的处理单元的数据区,并通过基板管理控制器将分析结果上报上层管理程序,触发管理平台修复策略使控制器取消目标控制器的热插拔标识置位后结束。
14.更进一步地,所述控制器包括:cpu、pch南桥、基板管理控制器和处理单元,同一控制器上的基板管理控制器和处理单元连接,不同控制器上的处理单元通过背板上的总线互联,所述处理单元用于存储热插拔标识的状态寄存器,所述状态寄存器的位数不低于控制器的数量,状态寄存器的不同存储位对应不同的控制器用于记录不同控制器的热插拔标识,处理单元实现控制器的在位状态感知、与其余处理单元通信获取热插拔标识的值,并利用获取的热插拔标识的值分析目标控制器是否发生过热插拔动作;将热插拔动作分析结果保存在目标控制器的处理单元的数据区,并通过基板管理控制器将分析结果上报上层管理程序。
15.第三方面,本发明提供一种实现多控制器热插拔记录方法的存储介质,所述存储介质存储计算机程序,所述计算机程序被处理器执行时实现所述的多控制器热插拔记录方法。
16.本发明实施例提供的上述技术方案与现有技术相比具有如下优点:
17.本发明中多个控制器利用背板向其余控制器共享自身的热插拔状态,当目标控制器发生热插拔时,其余活跃的控制器对目标控制器的热插拔标识置位并触发数据管理平台事件修复策略;监测到目标控制器重新插接后,数据管理平台事件修复策略控制目标控制器获取其余活跃的控制器中保存的热插拔标识,并利用获取的热插拔标识的值分析目标控制器是否发生过热插拔动作;保存热插拔动作分析结果,并通过基板管理控制器将分析结果上报上层管理程序,触发管理平台修复策略使控制器取消目标控制器的热插拔标识置位后结束。实现在多控制器的结构下控制器自身热拔插动作记录的功能。设计采用分布式的
热插拔动作记录,通过多个控制器对发生热插拔控制器的热插拔进行监测,能避免漏记的问题,而且分析时采用多数控制器的热插拔标识为准,能避免热插拔发生和记录之间的异常控制器漏记造成热插拔分析不准的问题;通过超时控制避免无法实现热插拔记录的事件使数据管理平台事件修复策略卡死。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1为本发明实施例提供的一种多控制器热插拔记录方法的流程图;
21.图2为本发明实施例提供的监测到目标控制器重新插接后,数据管理平台事件修复策略控制目标控制器访问其余活跃的控制器中保存的热插拔标识,目标控制器利用获取的热插拔标识的值分析目标控制器是否发生过热插拔动作的流程图;
22.图3为本发明实施例提供的对重启控制器的处理单元中的热插拔标识进行同步的流程图;
23.图4为本发明实施例提供的一种多控制器热插拔记录装置的示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
26.实施例1
27.参阅图1所示,本发明提供一种多控制器热插拔记录方法,包括:
28.s100,通过背板相互连接的多个控制器利用背板向其余控制器共享自身的热插拔状态。具体实施过程中,所述控制器包括cpu、pch南桥、基板管理控制器和额外配置的处理单元,同一控制器中的处理单元连接基板管理控制器,,各个控制器的处理单元通过背板上的i2c链路相互连接进行数据访问共享,所述处理单元采用cpld。各个控制器向其余控制器共享自身的在位状态,即任一控制器能够感知其他控制器的在位状态变化。在位状态的检测由控制器内的处理单元完成。具体的,对各个控制器的在位状态进行编码,使得每个控制器具有唯一的在位状态编码,背板上任一控制器作为目标控制器发生热插拔时,处理单元通过在位状态编码的变化判断目标控制器发生热插拔,且根据在位状态编码确定目标控制
器的身份。活跃的控制器的处理单元检测到目标控制器在位状态由在位转变为不在位时,判断目标控制器发生热插拔。
29.s200,当目标控制器发生热插拔时,监测到目标控制器发生热插拔的活跃的控制器对目标控制器的热插拔标识置位。
30.具体实施过程中,所述处理单元配置用于存储热插拔标识的状态寄存器,所述状态寄存器的位数不低于控制器的数量,状态寄存器的不同存储位对应不同的控制器,用于记录不同控制器的热插拔标识的值。当目标控制器发生热插拔时,监测到目标控制器发生热插拔的活跃的控制器中的处理单元将目标控制器的热插拔标识置位。
31.s300,监测到目标控制器发生热插拔的活跃的控制器通知上层管理程序,触发上层管理程序的数据管理平台事件修复策略。作为一种可行的实施方式,活跃的控制器中处理单元检测到目标控制器的在位状态发生变化时,处理单元通知基板管理控制器,基板管理控制器向上层管理程序发出通知,触发上层管理程序的数据管理平台时间修复策略,利用基板管理控制器的通讯资源实现向上层管理程序发送通知。
32.s400,监测到目标控制器重新插接后,数据管理平台事件修复策略控制目标控制器访问其余活跃的控制器中保存的热插拔标识,目标控制器利用获取的热插拔标识的值分析目标控制器是否发生过热插拔动作。具体实施过程中,参阅图2所示,步骤s400包括:
33.s401,数据管理平台事件修复策略通过其余控制器监测目标控制器的在位状态。
34.s402,检测在位状态是否由不在位转变为在位,是则执行s403,
35.s403,数据管理平台事件修复策略通过基板管理控制器来控制目标控制器的处理单元访问获取其余活跃的控制器处理单元中保存的热插拔标识的值。
36.具体实施过程中,活跃的控制器将目标控制器的热插拔事件通知上层管理程序时,上层管理程序记录相应的发出通知的活跃的控制器于控制器列表;目标控制器重新插接时,数据管理平台事件修复策略控制目标控制器的处理单元通过i2c链路遍历访问控制器列表中活跃的控制器中保存的热插拔标识。
37.s404,分析获取的控制器的热插拔标识的值是否一致,若热插拔标识的值不一致,则执行s405,若热插拔标识的值一致,则执行s406。
38.s405,统计热插拔标识值的数量,以多数热插拔标识值所代表的结果作为分析结果。
39.s406,以热插拔标识值所代表的结果作为分析结果。
40.s500,将热插拔动作分析结果保存在目标控制器的处理单元的数据区,并通过基板管理控制器将分析结果上报上层管理程序,触发管理平台修复策略使控制器取消目标控制器的热插拔标识置位后结束。具体实施过程中,目标控制器的处理单元将热插拔动作分析结果保存在数据区,并发送给基板管理控制器,基板管理控制器将分析结果上报给上层管理程序,上层管理程序收到分析结果触发管理平台修复策略通过基板管理控制器使当前活跃的控制器取消目标控制器中热插拔标志置位,而后管理平台修复策略结束。
41.作为一种可行的实施方式,控制器重启后,对重启控制器的处理单元中的热插拔标识进行同步,参阅图3所示,包括:
42.s1,重启控制器的处理单元从其余活跃的控制器的处理单元获取各个控制器的热插拔标识。
43.s2,按控制器分析获取的热插拔标识的值是否一致,若热插拔标识的值不一致,则执行s3,若热插拔标识的值一致,则执行s4。
44.s3,统计并比较热插拔标识值的数量,以多数热插拔标识值所代表的结果作为相应控制器的热插拔标识值对重启控制器的处理单元进行同步。
45.s4,以热插拔标识值作为相应控制器的热插拔标识值对重启控制器的处理单元进行同步。
46.作为一种可行的实施方式,数据管理平台事件修复策略监测到目标控制器重新插接后进行计时,若计时时间超过设定的时间阈值后仍未收到基板管理控制器反馈的分析结果触发数据管理平台事件修复策略结束,则提示超时,记录超时日志并取消热插拔标识置位。
47.实施例2
48.参阅图4所示,本发明实施例提供一种多控制器热插拔记录装置,包括:经背板连接的若干控制器,通过背板相互连接的多个控制器利用背板向其余控制器共享自身的热插拔状态,当目标控制器发生热插拔时,其余活跃的控制器对目标控制器的热插拔标识置位;活跃的控制器通知上层管理程序,触发上层管理程序的数据管理平台事件修复策略;监测到目标控制器重新插接后,数据管理平台事件修复策略控制目标控制器访问其余活跃的控制器中保存的热插拔标识,并利用获取的热插拔标识的值分析目标控制器是否发生过热插拔动作;将热插拔动作分析结果保存在目标控制器的处理单元的数据区,并通过基板管理控制器将分析结果上报上层管理程序,触发管理平台修复策略使控制器取消目标控制器的热插拔标识置位后结束。
49.具体实施过程中,所述控制器包括:cpu、pch南桥、基板管理控制器和处理单元,同一控制器上的基板管理控制器和处理单元连接,不同控制器上的处理单元通过背板上的i2c总线互联,所述处理单元用于存储热插拔标识的状态寄存器,所述状态寄存器的位数不低于控制器的数量,状态寄存器的不同存储位对应不同的控制器用于记录不同控制器的热插拔标识,处理单元实现控制器的在位状态感知、与其余处理单元通信获取热插拔标识的值,并利用获取的热插拔标识的值分析目标控制器是否发生过热插拔动作;将热插拔动作分析结果保存在目标控制器的处理单元的数据区,并通过基板管理控制器将分析结果上报上层管理程序。
50.实施例3
51.本发明实施例提供一种实现多控制器热插拔记录方法的存储介质,所述存储介质存储计算机程序,所述计算机程序被处理器执行时所述的多控制器热插拔记录方法。
52.在本发明所提供的几个实施例中,应该理解到,所揭露的模块和单元,可以通过其它的方式实现。例如,以上所描述的结构实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
53.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
54.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
55.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1