本发明涉及计算机,尤其涉及一种基于openbmc的fru信息处理方法、装置、设备及存储介质。
背景技术:
1、服务器中的bmc(baseboard management controller,基板管理控制器)和fru(field replaceable unit,现场可更换单元)在服务器管理和维护中扮演着重要角色。bmc是硬件服务器上的一个专用子系统,它允许管理员通过独立于主操作系统、cpu和主内存的远程管理工具来监视和管理服务器的硬件状态。这种接口通常用于远程监控和管理服务器,特别是在数据中心和大规模服务器部署环境中。bmc的主要功能包括远程控制、故障诊断、配置部署、固件升级等运维管理功能,它可以保障服务器安全可靠运行。此外,bmc还可以为整机柜、数据中心管理平台提供redfish、ipmi(intelligent platform managementinterface,智能平台管理接口)、snmp等api接口,实现海量服务器远程集中运维管理和批量部署,是数据中心高效管理的核心组件。随着超大规模互联网应用场景的增多,传统bmc的开发周期长、线上故障响应不及时、安全需求及功能固化等问题日益突出。因此,传统的bmc正逐渐向openbmc过渡,以适应更广泛的应用场景和更灵活的需求。
2、fru是一种设计用于现场替换的硬件组件,通常包括服务器中的关键部件,如主板、管理板、背板、psu等。这些组件在出现故障或需要升级时,可以在不关闭整个系统的情况下进行替换,从而提高了系统的可用性和维护效率。为了简化管理任务,ipmi引入了fru支持扩展。通过在每个服务器上集成一块包含硬件信息的存储器芯片(通常被称为fru或ipmi fru),来存储和提供硬件信息。fru信息包括生产商、型号、序列号、版本号等,这些信息可以帮助管理员更轻松地追踪服务器硬件的状态,并提供准确的信息以进行故障排除和维修。但在openbmc中,fru信息的读取是通过访问每个fru上的eeprom(electricallyerasable programmable read-only memory,电可擦写可编程只读存储器)来实现的。eeprom中存储了fru的详细信息,通过读取和解析eeprom中的数据,openbmc能够识别和管理各个fru。
3、bmc和fru在服务器管理和维护中都发挥着重要作用。bmc提供了远程监控和管理服务器的手段,而fru则简化了硬件组件的替换和管理过程。这两者的结合使得服务器系统更加易于管理和维护,提高了系统的可用性和可靠性。但由于服务器型号繁多且每种型号的fru有所不同,openbmc仅针对单一机型进行适配,这在多机型场景下显得不够灵活。
技术实现思路
1、本发明提供一种基于openbmc的fru信息处理方法、装置、设备及存储介质,用以解决现有技术中在多机型服务器的场景下,openbmc无法进行适配的缺陷,实现多机型服务器的场景下,openbmc实现适配,以得到fru信息的效果。
2、本发明提供一种基于openbmc的fru信息处理方法,包括如下步骤:
3、获取待处理服务器的机型信息,并根据所述机型信息在bmc的openbmc镜像中确定与所述机型信息对应的目标fru配置文件;所述openbmc镜像中具有不同机型的服务器的fru配置文件;
4、通过openbmc读取所述目标fru配置文件,并解析所述目标fru配置文件,得到所述待处理服务器的fru信息。
5、根据本发明提供的一种基于openbmc的fru信息处理方法,在所述获取待处理服务器的机型信息之前,所述方法还包括:
6、获取不同机型的服务器的fru信息,并根据所述fru信息创建对应机型的fru配置文件;分别创建各所述fru配置文件的配方文件;
7、在各个所述配方文件中添加对应的所述fru配置文件的依赖项和安装路径;
8、获取不同机型的服务器所对应的编译脚本,并将所述编译脚本集成到openbmc的构建过程中;
9、配置编译环境;其中,所述编译环境包括openbmc构建所需的依赖项,以及工程和各个所述编译脚本所对应的不同机型的环境变量;
10、在工程目录下运行编译镜像命令,以构建所述openbmc镜像;
11、将所述openbmc镜像部署到所述bmc中。
12、根据本发明提供的一种基于openbmc的fru信息处理方法,所述fru配置文件包括fru json文件、fru yaml文件和fru conf文件;
13、所述fru json文件中包括fru的id、名称,以及对应的服务名、路径、接口;
14、所述fru yaml文件包括fru的序列号、制造商、型号;
15、所述fru conf文件包括offset和fru的id;其中,所述fru conf文件的文件名中包括bus信息。
16、根据本发明提供的一种基于openbmc的fru信息处理方法,在所述获取不同机型的服务器所对应的编译脚本,并将所述编译脚本集成到openbmc的构建过程中之前,所述方法还包括:
17、通过python脚本和模板文件解析所述fru yaml文件,以提取所述fru yaml文件中的fru信息;
18、基于所述fru yaml文件中的fru信息,将所述fru yaml文件的文件格式转换为c++文件格式。
19、根据本发明提供的一种基于openbmc的fru信息处理方法,在所述将所述openbmc镜像部署到所述bmc中之后,所述方法还包括:
20、通过ipmi工具或web界面验证所述fru配置文件中的fru信息是否成功加载和显示。
21、根据本发明提供的一种基于openbmc的fru信息处理方法,所述获取不同机型的服务器的fru信息,包括:
22、基于实体管理器读取不同机型的服务器的配置文件,解析所述配置文件,以得到服务器的主板fru的dbus信息;
23、根据所述主板fru的dbus信息生成实体dbus,并根据所述实体dbus生成所述服务器对应的dbus,并从预设接口获取原始数据;
24、对所述原始数据进行解析,并将解析后的数据更新到dbus属性中,根据所述dbus属性获取对应的所述服务器的fru信息。
25、根据本发明提供的一种基于openbmc的fru信息处理方法,所述通过openbmc读取所述目标fru配置文件,包括:
26、在通过所述openbmc读取所述目标fru配置文件的过程中,检测所述服务器的硬件是否发生故障或检测所述目标fru配置文件中的数据格式是否正确;
27、若所述硬件发生故障或所述目标fru配置文件中的数据格式不正确,通过openbmc生成错误报告。
28、本发明还提供一种基于bmc的fru信息处理装置,包括如下模块:
29、获取模块,配置为获取待处理服务器的机型信息,并根据所述机型信息在bmc的openbmc镜像中确定与所述机型信息对应的目标fru配置文件;所述openbmc镜像中具有不同机型的服务器的fru配置文件;
30、读取模块,配置为通过openbmc读取所述目标fru配置文件,并解析所述目标fru配置文件,得到所述待处理服务器的fru信息。
31、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于openbmc的fru信息处理方法。
32、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于openbmc的fru信息处理方法。
33、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于openbmc的fru信息处理方法。
34、本发明提供的基于openbmc的fru信息处理方法、装置、设备及存储介质,预先在openbmc镜像中配置不同机型的服务器的fru配置文件,在需要确定待处理服务器的fru信息时,先确定待处理服务器的机型信息,根据确定的机型信息在openbmc镜像中确定该机型信息对应的目标fru配置文件,再读取该目标fru配置文件,解析该目标fru配置文件,以获取其中的fru信息。本发明提出了一种使用openbmc适配多种服务器的fru的方案,应用于多机型服务器场景,能够在同一工程中配置多个机型服务器的fru配置文件,从而实现了同一个openbmc镜像即可获取不同机型的服务器的fru信息的功能,使得在开发和部署过程中更加简便和高效,降低了不同厂商间对硬件管理的复杂性,提高了服务器的可维护性和管理效率,为用户提供了更多的选择和灵活性,可以根据需要构建符合自己需求的服务器管理解决方案,同时为不同机型之间使用同一个镜像提供了可能。
1.一种基于openbmc的fru信息处理方法,其特征在于,包括:
2.根据权利要求1所述的基于openbmc的fru信息处理方法,其特征在于,在所述获取待处理服务器的机型信息之前,所述方法还包括:
3.根据权利要求2所述的基于openbmc的fru信息处理方法,其特征在于,所述fru配置文件包括fru json文件、fru yaml文件和fru conf文件;
4.根据权利要求3所述的基于openbmc的fru信息处理方法,其特征在于,在所述获取不同机型的服务器所对应的编译脚本,并将所述编译脚本集成到openbmc的构建过程中之前,所述方法还包括:
5.根据权利要求2所述的基于openbmc的fru信息处理方法,其特征在于,在所述将所述openbmc镜像部署到所述bmc中之后,所述方法还包括:
6.根据权利要求2所述的基于openbmc的fru信息处理方法,其特征在于,所述获取不同机型的服务器的fru信息,包括:
7.根据权利要求1至6中任一项所述的基于openbmc的fru信息处理方法,其特征在于,所述通过openbmc读取所述目标fru配置文件,包括:
8.一种基于bmc的fru信息处理装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于openbmc的fru信息处理方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于openbmc的fru信息处理方法。
