一种多平台融合服务器带外管理系统的制作方法
未命名
10-08
阅读:87
评论:0

1.本发明属于服务器管理领域,具体涉及一种多平台融合服务器带外管理系统。
背景技术:
2.服务器的故障定位依赖于对服务器健康状态的实时监控,传统的健康管理系统采用带内管理的方式,业务和管理不独立,管理系统会占用业务系统的资源,而业务系统的故障又会影响管理系统,导致故障分析困难,因此需要引入带外管理的设计方法。
3.带外管理的核心理念是将主业务模块和管理模块在软硬件上都进行隔离,两者完全独立运行,互不影响。其中管理模块称为bmc。bmc(baseboard management controller)基板管理控制器,是服务器中每个单板管理的核心元素,负责各自板卡状态监测、告警日志、电源管理、远程控制等功能。各个板卡的bmc通过ipmb(intelligent platform management bus)智能平台管理总线(基于i2c的串行总线)在服务器中互联通信,通信协议遵循ipmi(intelligent platform management interface)智能平台管理接口标准。
技术实现要素:
4.(一)要解决的技术问题
5.本发明要解决的技术问题是如何提供一种多平台融合服务器带外管理系统,以解决业务与管理不独立,当业务系统出故障时管理系统也不可用从而导致故障无法定位的问题,以及多种平台bmc无法兼容互联的问题。
6.(二)技术方案
7.为了解决上述技术问题,本发明提出一种多平台融合服务器带外管理系统,该系统在单板硬件设计上使bmc与业务模块相互独立,保障bmc独立供电,并优先上电启动;
8.该系统的机箱内的单板包括:电源板、功能板和计算板,电源板和功能板选择gd32单片机作为从bmc,一个计算板选择ast2400芯片作为主bmc,其余计算板选择ast2400芯片作为从bmc;各个单板的bmc通过ipmb总线互联,主bmc通过串口或网口连接到管理计算机;
9.主bmc和从bmc的固件都实现通用功能;对于接口通信协议的要求,主bmc固件要实现ipmb、串口、网口接口的ipmi2.0标准协议,并且能够作为桥接设备将自身串口或网口收到的上位机协议报文根据i2c地址转发给对应的从bmc;从bmc则只需要实现ipmb接口的标准协议。
10.进一步地,主bmc通过串口连接到本地管理计算机。
11.进一步地,主bmc通过网口连接到远程管理计算机。
12.进一步地,计算主板选择ast2400芯片,引出i2c、vga、usb、lpc、enet接口,作为显卡使用,并进行ikvm远程桌面控制。
13.进一步地,gd32单片机引出i2c、serial接口。
14.进一步地,通用功能包括:温度电压监测、风扇控制和电源管理。
15.进一步地,从bmc固件架构采用多任务的模式。
16.进一步地,从bmc的工作流程包括下列步骤:
17.s21、初始化ipmb接口报文接收线程recvipmbpkt、ipmb接口报文处理线程ipmbifctask、信息处理核心线程msghndlr、ipmb接口请求报文队列ipmb_primary_ifc_q、ipmb接口应答报文队列ipmb_primary_res_q、信息处理队列msg_hndlr_q、出队列方法getmsg、入队列方法postmsg;
18.s22、ipmb接口报文接收线程recvipmbpkt在收到报文后会根据该接口的协议报头做简单的校验处理,如果报文正确,则会调用入队列方法postmsg将报文添加到ipmb接口请求报文队列ipmb_primary_ifc_q中;
19.s23、然后ipmb接口报文处理线程ipmbifctask会调用出队列方法getmsg从ipmb接口请求报文队列ipmb_primary_ifc_q中获得该报文,并调用入队列方法postmsg把报文添加到信息处理队列msg_hndlr_q中,之后ipmb接口报文处理线程ipmbifctask会阻塞在ipmb接口应答报文队列ipmb_primary_res_q上等待应答报文;
20.s24、信息处理核心线程msghndlr调用出队列方法getmsg从信息处理队列msg_hndlr_q中获得报文,根据ipmi协议对报文进行处理,并调用入队列方法postmsg将生成的应答报文添加到ipmb接口应答报文队列ipmb_primary_res_q中;
21.s25、最后由ipmb接口报文处理线程ipmbifctask将应答报文发送出去。
22.进一步地,主bmc固件架构采用多任务的模式,需要实现ipmb、串口、网口的ipmi协议,其中ipmb接口的工作流程与从bmc的具体流程相同。
23.进一步地,串口/网口具体工作流程包括下列步骤:
24.s31、初始化串口/网口接口报文接收线程recvserialpkt/recvnetpkt,串口/网口接口报文处理线程serialifctask/netifctask、信息处理核心线程msghndlr、串口/网口接口请求报文队列serial_ifc_q/net_ifc_q、串口/网口接口应答报文队列serial_res_q/net_res_q、信息处理队列msg_hndlr_q、出队列方法getmsg、入队列方法postmsg;
25.s32、串口/网口接口报文接收线程recvserialpkt/recvnetpkt在收到报文后会根据该接口的协议报头做简单的校验处理,如果报文正确,则会调用入队列方法postmsg将报文添加到对应的串口/网口接口请求报文队列serial_ifc_q/net_ifc_q中;
26.s33、然后串口/网口接口报文处理线程serialifctask/netifctask会调用出队列方法getmsg从对应的串口/网口接口请求报文队列serial_ifc_q/net_ifc_q中获取该报文,并调用入队列方法postmsg把报文添加到信息处理队列msg_hndlr_q中,之后串口/网口接口报文处理线程serialifctask/netifctask会阻塞在对应的串口/网口接口应答报文队列serial_res_q/net_res_q上等待应答报文;
27.s34、信息处理核心线程msghndlr调用出队列方法getmsg从信息处理队列msg_hndlr_q中获得报文,根据ipmi协议对报文进行处理,并调用入队列方法postmsg将生成的应答报文添加到对应的串口/网口接口应答报文队列serial_res_q/net_res_q中;
28.s35、最后由对应的串口/网口接口报文处理线程serialifctask/netifctask将应答报文发送出去。
29.(三)有益效果
30.本发明提出一种多平台融合服务器带外管理系统,为了解决上述问题,对于服务器中的每个单板使用带外管理的设计思想,将管理与业务分开,并保证独立供电,以及针对
其业务功能和管理需求选用适用自身的bmc平台。服务器最终将各单板上不同硬件平台的bmc兼容互联,并且以一主多从的形式,将所有从bmc的信息汇集到主bmc,管理者只需要通过主bmc即可查询到服务器中所有板卡的管理信息,拓扑清晰,能够迅速定位故障位置。
31.本发明能够实现真正的带外管理,管理系统能够独立运行监测业务系统的运行状态。并能够根据不同需求选择bmc模块,计算主板选择ast2400平台,其能够外出i2c、vga、usb、lpc、enet等接口,能够作为显卡使用,并进行ikvm远程桌面控制;其他功能板卡可选择gd32 mcu平台,其能够外出i2c、serial接口,设计简单,成本更低。
附图说明
32.图1为本发明的硬件拓扑架构;
33.图2为本发明的从bmc软件设计架构;
34.图3为本发明的主bmc软件设计架构。
具体实施方式
35.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
36.本发明属于服务器管理领域,具体涉及gd32 mcu平台、ast2400平台多平台融合的服务器带外健康管理和远程控制系统。
37.图1是本发明的硬件拓扑架构,单板硬件设计上使bmc与业务模块相互独立,保障bmc独立供电,并优先上电启动。机箱内的单板包括:电源板、功能板和计算板,电源板和功能板选择gd32单片机作为从bmc,一个计算板选择ast2400芯片作为主bmc,其余计算板选择ast2400芯片作为从bmc。各个单板的bmc通过ipmb总线互联。主bmc通过串口或网口连接到管理计算机。
38.进一步地,主bmc通过串口连接到本地管理计算机。
39.进一步地,主bmc通过网口连接到远程管理计算机。
40.进一步地,计算主板选择ast2400平台,其能够外出i2c、vga、usb、lpc、enet等接口,能够作为显卡使用,并进行ikvm远程桌面控制;其他功能板卡可选择gd32 mcu平台,其能够外出i2c、serial接口,设计简单,成本更低。
41.主bmc和从bmc的固件都要实现温度电压监测、风扇控制、电源管理等通用功能。对于接口通信协议的要求,主从bmc有所不同,主bmc固件要实现ipmb、串口、网口等接口ipmi2.0标准协议,并且能够作为桥接设备将自身串口或网口收到的上位机协议报文根据i2c地址转发给对应的从bmc,从bmc则只需要实现ipmb接口的标准协议。
42.图2是本发明的从bmc软件设计架构,从bmc固件架构采用多任务的模式。具体工作流程包括下列步骤:
43.s21、初始化ipmb接口报文接收线程recvipmbpkt、ipmb接口报文处理线程ipmbifctask、信息处理核心线程msghndlr、ipmb接口请求报文队列ipmb_primary_ifc_q、ipmb接口应答报文队列ipmb_primary_res_q、信息处理队列msg_hndlr_q、出队列方法getmsg、入队列方法postmsg。
44.s22、ipmb接口报文接收线程recvipmbpkt在收到报文后会根据该接口的协议报头
做简单的校验处理,如果报文正确,则会调用入队列方法postmsg将报文添加到ipmb接口请求报文队列ipmb_primary_ifc_q中。
45.s23、然后ipmb接口报文处理线程ipmbifctask会调用出队列方法getmsg从ipmb接口请求报文队列ipmb_primary_ifc_q中获得该报文,并调用入队列方法postmsg把报文添加到信息处理队列msg_hndlr_q中,之后ipmb接口报文处理线程ipmbifctask会阻塞在ipmb接口应答报文队列ipmb_primary_res_q上等待应答报文。
46.s24、信息处理核心线程msghndlr调用出队列方法getmsg从信息处理队列msg_hndlr_q中获得报文,根据ipmi协议对报文进行处理,并调用入队列方法postmsg将生成的应答报文添加到ipmb接口应答报文队列ipmb_primary_res_q中。
47.s25、最后由ipmb接口报文处理线程ipmbifctask将应答报文发送出去。
48.图3是本发明主bmc的软件设计架构,主bmc固件架构采用多任务的模式,需要实现ipmb、串口、网口的ipmi协议,其中ipmb接口的工作流程与从bmc的具体流程相同。
49.串口/网口具体工作流程包括下列步骤:
50.s31、初始化串口/网口接口报文接收线程recvserialpkt/recvnetpkt,串口/网口接口报文处理线程serialifctask/netifctask、信息处理核心线程msghndlr、串口/网口接口请求报文队列serial_ifc_q/net_ifc_q、串口/网口接口应答报文队列serial_res_q/net_res_q、信息处理队列msg_hndlr_q、出队列方法getmsg、入队列方法postmsg。
51.s32、串口/网口接口报文接收线程recvserialpkt/recvnetpkt在收到报文后会根据该接口的协议报头做简单的校验处理,如果报文正确,则会调用入队列方法postmsg将报文添加到对应的串口/网口接口请求报文队列serial_ifc_q/net_ifc_q中。
52.s33、然后串口/网口接口报文处理线程serialifctask/netifctask会调用出队列方法getmsg从对应的串口/网口接口请求报文队列serial_ifc_q/net_ifc_q中获取该报文,并调用入队列方法postmsg把报文添加到信息处理队列msg_hndlr_q中,之后串口/网口接口报文处理线程serialifctask/netifctask会阻塞在对应的串口/网口接口应答报文队列serial_res_q/net_res_q上等待应答报文。
53.s34、信息处理核心线程msghndlr调用出队列方法getmsg从信息处理队列msg_hndlr_q中获得报文,根据ipmi协议对报文进行处理,并调用入队列方法postmsg将生成的应答报文添加到对应的串口/网口接口应答报文队列serial_res_q/net_res_q中。
54.s35、最后由对应的串口/网口接口报文处理线程serialifctask/netifctask将应答报文发送出去。
55.为了解决上述问题,对于服务器中的每个单板使用带外管理的设计思想,将管理与业务分开,并针对其业务功能和管理需求选用适用自身的bmc平台。服务器最终将各单板上不同硬件平台的bmc兼容互联,并且以一主多从的形式,将所有从bmc的信息汇集到主bmc,管理者只需要通过主bmc即可查询到服务器中所有板卡的管理信息,拓扑清晰,能够迅速定位故障位置。
56.本发明能够实现真正的带外管理,管理系统能够独立运行监测业务系统的运行状态。并能够根据不同需求选择bmc模块,计算主板选择ast2400平台,其能够外出i2c、vga、usb、lpc、enet等接口,能够作为显卡使用,并进行ikvm远程桌面控制;其他功能板卡可选择gd32 mcu平台,其能够外出i2c、serial接口,设计简单,成本更低。
57.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
技术特征:
1.一种多平台融合服务器带外管理系统,其特征在于,该系统在单板硬件设计上使bmc与业务模块相互独立,保障bmc独立供电,并优先上电启动;该系统的机箱内的单板包括:电源板、功能板和计算板,电源板和功能板选择gd32单片机作为从bmc,一个计算板选择ast2400芯片作为主bmc,其余计算板选择ast2400芯片作为从bmc;各个单板的bmc通过ipmb总线互联,主bmc通过串口或网口连接到管理计算机;主bmc和从bmc的固件都实现通用功能;对于接口通信协议的要求,主bmc固件要实现ipmb、串口、网口接口的ipmi2.0标准协议,并且能够作为桥接设备将自身串口或网口收到的上位机协议报文根据i2c地址转发给对应的从bmc;从bmc则只需要实现ipmb接口的标准协议。2.如权利要求1所述的多平台融合服务器带外管理系统,其特征在于,主bmc通过串口连接到本地管理计算机。3.如权利要求1所述的多平台融合服务器带外管理系统,其特征在于,主bmc通过网口连接到远程管理计算机。4.如权利要求1所述的多平台融合服务器带外管理系统,其特征在于,计算主板选择ast2400芯片,引出i2c、vga、usb、lpc、enet接口,作为显卡使用,并进行ikvm远程桌面控制。5.如权利要求1所述的多平台融合服务器带外管理系统,其特征在于,gd32单片机引出i2c、serial接口。6.如权利要求1所述的多平台融合服务器带外管理系统,其特征在于,通用功能包括:温度电压监测、风扇控制和电源管理。7.如权利要求1-6任一项所述的多平台融合服务器带外管理系统,其特征在于,从bmc固件架构采用多任务的模式。8.如权利要求7所述的多平台融合服务器带外管理系统,其特征在于,从bmc的工作流程包括下列步骤:s21、初始化ipmb接口报文接收线程recvipmbpkt、ipmb接口报文处理线程ipmbifctask、信息处理核心线程msghndlr、ipmb接口请求报文队列ipmb_primary_ifc_q、ipmb接口应答报文队列ipmb_primary_res_q、信息处理队列msg_hndlr_q、出队列方法getmsg、入队列方法postmsg;s22、ipmb接口报文接收线程recvipmbpkt在收到报文后会根据该接口的协议报头做简单的校验处理,如果报文正确,则会调用入队列方法postmsg将报文添加到ipmb接口请求报文队列ipmb_primary_ifc_q中;s23、然后ipmb接口报文处理线程ipmbifctask会调用出队列方法getmsg从ipmb接口请求报文队列ipmb_primary_ifc_q中获得该报文,并调用入队列方法postmsg把报文添加到信息处理队列msg_hndlr_q中,之后ipmb接口报文处理线程ipmbifctask会阻塞在ipmb接口应答报文队列ipmb_primary_res_q上等待应答报文;s24、信息处理核心线程msghndlr调用出队列方法getmsg从信息处理队列msg_hndlr_q中获得报文,根据ipmi协议对报文进行处理,并调用入队列方法postmsg将生成的应答报文添加到ipmb接口应答报文队列ipmb_primary_res_q中;s25、最后由ipmb接口报文处理线程ipmbifctask将应答报文发送出去。9.如权利要求8所述的多平台融合服务器带外管理系统,其特征在于,主bmc固件架构
采用多任务的模式,需要实现ipmb、串口、网口的ipmi协议,其中ipmb接口的工作流程与从bmc的具体流程相同。10.如权利要求9所述的多平台融合服务器带外管理系统,其特征在于,串口/网口具体工作流程包括下列步骤:s31、初始化串口/网口接口报文接收线程recvserialpkt/recvnetpkt,串口/网口接口报文处理线程serialifctask/netifctask、信息处理核心线程msghndlr、串口/网口接口请求报文队列serial_ifc_q/net_ifc_q、串口/网口接口应答报文队列serial_res_q/net_res_q、信息处理队列msg_hndlr_q、出队列方法getmsg、入队列方法postmsg;s32、串口/网口接口报文接收线程recvserialpkt/recvnetpkt在收到报文后会根据该接口的协议报头做简单的校验处理,如果报文正确,则会调用入队列方法postmsg将报文添加到对应的串口/网口接口请求报文队列serial_ifc_q/net_ifc_q中;s33、然后串口/网口接口报文处理线程serialifctask/netifctask会调用出队列方法getmsg从对应的串口/网口接口请求报文队列serial_ifc_q/net_ifc_q中获取该报文,并调用入队列方法postmsg把报文添加到信息处理队列msg_hndlr_q中,之后串口/网口接口报文处理线程serialifctask/netifctask会阻塞在对应的串口/网口接口应答报文队列serial_res_q/net_res_q上等待应答报文;s34、信息处理核心线程msghndlr调用出队列方法getmsg从信息处理队列msg_hndlr_q中获得报文,根据ipmi协议对报文进行处理,并调用入队列方法postmsg将生成的应答报文添加到对应的串口/网口接口应答报文队列serial_res_q/net_res_q中;s35、最后由对应的串口/网口接口报文处理线程serialifctask/netifctask将应答报文发送出去。
技术总结
本发明涉及一种多平台融合服务器带外管理系统,属于服务器管理领域。本发明的单板硬件设计上使BMC与业务模块相互独立,保障BMC独立供电,并优先上电启动。机箱内的单板包括:电源板、功能板和计算板,电源板和功能板选择GD32单片机作为从BMC,一个计算板选择AST2400芯片作为主BMC,其余计算板选择AST2400芯片作为从BMC。各个单板的BMC通过IPMB总线互联。主BMC通过串口或网口连接到管理计算机。本发明服务器最终将各单板上不同硬件平台的BMC兼容互联,并且以一主多从的形式,将所有从BMC的信息汇集到主BMC,管理者只需要通过主BMC即可查询到服务器中所有板卡的管理信息,拓扑清晰,能够迅速定位故障位置。能够迅速定位故障位置。能够迅速定位故障位置。
技术研发人员:宁春生 聂建平 赵博颖 赵梓欣 赵爽
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:2023.06.28
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/