CN115617616A - 一种服务器fru的运行监测方法、装置、设备及存储介质 - Google Patents

一种服务器fru的运行监测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115617616A
CN115617616A CN202211368740.1A CN202211368740A CN115617616A CN 115617616 A CN115617616 A CN 115617616A CN 202211368740 A CN202211368740 A CN 202211368740A CN 115617616 A CN115617616 A CN 115617616A
Authority
CN
China
Prior art keywords
expander
fru
server
acquiring
channel
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.)
Pending
Application number
CN202211368740.1A
Other languages
English (en)
Inventor
朱云松
黄洪
张昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nettrix Information Industry Beijing Co Ltd
Original Assignee
Nettrix Information Industry Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nettrix Information Industry Beijing Co Ltd filed Critical Nettrix Information Industry Beijing Co Ltd
Priority to CN202211368740.1A priority Critical patent/CN115617616A/zh
Publication of CN115617616A publication Critical patent/CN115617616A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及计算机技术领域,公开了一种服务器FRU的运行监测方法、装置、设备及存储介质。该方法包括:获取服务器对应的I2C扩展器连接拓扑;根据I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各I2C扩展器对应的驱动程序,生成各I2C扩展器对应的各通道匹配的虚拟I2C总线;基于各I2C扩展器对应的各通道匹配的虚拟I2C总线,获取服务器对应的多个现场可更换单元FRU,以及各FRU对应的运行状态。本实施例的技术方案,通过动态检测I2C扩展器连接拓扑,并为每个I2C扩展器绑定对应的驱动程序,以建立各通道匹配的虚拟I2C总线,可以实现对动态变化的服务器FRU的有效运行监测,可以实现对FRU设备的直接管理,从而可以降低监测程序的开发复杂度。

Description

一种服务器FRU的运行监测方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务器FRU的运行监测方法、装置、设备及存储介质。
背景技术
随着互联网业务的不断发展,服务器的硬件配置也越发复杂。针对越发灵活的服务器部件搭配,可以通过对服务器上的现场可更换单元(Field Replace Unit,FRU)进行检测,以判断哪些部件在位,进而对在位部件的工作状态进行监测。考虑到集成电路总线(Inter-Integrated Circuit,I2C)连接的部件越来越多,为了避免出现地址冲突,可以将多个部件的可擦编程只读存储器连接到一个I2C扩展器上,多个I2C扩展器可以进一步级联连接。
目前,现有的服务器FRU的运行监测方法,通常通过控制基板管理控制器(Baseboard Management Controller,BMC)的主控芯片,基于预先设置的I2C扩展器级联配置文件,扫描I2C上带有FRU信息的可擦编程只读存储器,以获取服务器上FRU设备,进而通过对各I2C扩展器进行管理,以间接对各FRU设备进行运行监测。然而,在现有技术中,基于预先设置的I2C扩展器级联配置文件,仅支持固定的部件配置,无法适应动态变化的服务器部件配置,其次,通过I2C扩展器间接管理FRU设备,会增加监测程序的开发复杂度。
发明内容
本发明提供了一种服务器FRU的运行监测方法、装置、设备及存储介质,可以实现对动态变化的服务器FRU的有效运行监测,可以实现对FRU设备的直接管理,从而可以降低监测程序的开发复杂度。
根据本发明的一方面,提供了一种服务器FRU的运行监测方法,包括:
获取服务器对应的集成电路总线I2C扩展器连接拓扑;
根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各所述I2C扩展器对应的驱动程序,生成各所述I2C扩展器对应的各通道匹配的虚拟I2C总线;
基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取所述服务器对应的至少一个现场可更换单元FRU,以及各所述FRU对应的运行状态。
可选的,获取服务器对应的集成电路总线I2C扩展器连接拓扑,包括:
通过向预设地址范围内各地址发送I2C扩展器查询消息,获取所述服务器对应的至少一个一级I2C扩展器;
通过向各所述一级I2C扩展器发送通道切换指令,获取各所述一级I2C扩展器对应的至少一个一级通道;
判断各所述一级通道是否存在下级I2C扩展器,若否,则根据所述各一级I2C扩展器,建立所述服务器对应的I2C扩展器连接拓扑。
采用上述技术方案,可以实现对I2C扩展器的准确检测,从而可以提升获取的I2C扩展器连接拓扑的准确度。
可选的,在判断各所述一级通道是否存在下级I2C扩展器之后,还包括:
若是,则获取各所述一级I2C扩展器对应的各二级I2C扩展器,以及各所述二级I2C扩展器对应的各二级通道,并重新判断各所述二级通道是否存在下级I2C扩展器,直至检测到各当前级I2C扩展器不存在下级I2C扩展器,获取所述服务器对应的全部I2C扩展器;
根据所述服务器对应的全部I2C扩展器,建立所述服务器对应的I2C扩展器连接拓扑。
采用上述技术方案,可以降低I2C扩展器的漏检概率,可以确保对全部I2C扩展器的有效检测,可以进一步提升获取的I2C扩展器连接拓扑的准确度。
可选的,根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,包括:
根据所述I2C扩展器连接拓扑,获取各所述I2C扩展器对应的数据结构,并根据各所述I2C扩展器对应的数据结构,获取各所述I2C扩展器对应的驱动程序。
采用上述技术方案,可以为每个I2C扩展器动态绑定对应的驱动程序,以建立每个通道对应的虚拟I2C总线,可以实现对FRU的直接管理和监测,可以降低监测程序的开发复杂度。
可选的,所述数据结构,包括I2C扩展器对应的地址、I2C扩展器对应的通道数量、I2C扩展器连接到上级I2C扩展器的通道号和指向上级I2C扩展器对应的数据结构的指针中的至少一项。
采用上述技术方案,可以实现对I2C扩展器连接拓扑的准确描述,可以适应动态变化的服务器部件配置。
可选的,基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取所述服务器对应的至少一个现场可更换单元FRU,以及各所述FRU对应的运行状态,包括:
基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取各所述通道对应的从设备,以及各所述从设备对应的存储器匹配的存储数据;
若检测到当前从设备对应的存储器匹配的存储数据符合预设数据规则,则将所述当前从设备作为当前FRU,并基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的运行状态。
采用上述技术方案,可以实现对服务器上FRU的准确判断,从而可以实现对FRU的运行状态的准确监测。
可选的,基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的运行状态,包括:
基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的状态参数;
若检测到所述当前FRU对应的状态参数满足预设状态检测条件,则获取所述当前FRU对应的运行状态为正常状态。
采用上述技术方案,可以实现对FRU对应的运行状态的准确判断,从而可以实现对服务器运行状态的准确监测。
根据本发明的另一方面,提供了一种服务器FRU的运行监测装置,包括:
连接拓扑获取模块,用于获取服务器对应的集成电路总线I2C扩展器连接拓扑;
虚拟I2C总线生成模块,用于根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各所述I2C扩展器对应的驱动程序,生成各所述I2C扩展器对应的各通道匹配的虚拟I2C总线;
FRU获取模块,用于基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取所述服务器对应的至少一个现场可更换单元FRU,以及各所述FRU对应的运行状态。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的服务器FRU的运行监测方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的服务器FRU的运行监测方法。
本发明实施例的技术方案,通过获取服务器对应的集成电路总线I2C扩展器连接拓扑,并根据I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各I2C扩展器对应的驱动程序,生成各I2C扩展器对应的各通道匹配的虚拟I2C总线;之后,基于各I2C扩展器对应的各通道匹配的虚拟I2C总线,获取服务器对应的多个现场可更换单元FRU,以及各FRU对应的运行状态,通过动态检测I2C扩展器连接拓扑,并为每个I2C扩展器绑定对应的驱动程序,以建立各通道匹配的虚拟I2C总线,可以实现对动态变化的服务器FRU的有效运行监测,可以实现对FRU设备的直接管理,从而可以降低监测程序的开发复杂度。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种服务器FRU的运行监测方法的流程图;
图2A是根据本发明实施例二提供的一种服务器FRU的运行监测方法的流程图;
图2B是根据本发明实施例二提供的一种服务器FRU的运行监测方法的流程示意图;
图3是根据本发明实施例三提供的一种服务器FRU的运行监测装置的结构示意图;
图4是实现本发明实施例的服务器FRU的运行监测方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种服务器FRU的运行监测方法的流程图,本实施例可适用于在BMC启动阶段,对服务器各部件进行检测和运行监测的情况,该方法可以由服务器FRU的运行监测装置来执行,该服务器FRU的运行监测装置可以采用硬件和/或软件的形式实现,该服务器FRU的运行监测装置可配置于电子设备中,典型的,电子设备可以是计算机设备或者服务器。如图1所示,该方法包括:
S110、获取服务器对应的集成电路总线I2C扩展器连接拓扑。
其中,I2C扩展器,可以包括多个通道,每个通道可以与多个服务器部件(例如,Riser、硬盘背板和电源装置等),或者I2C扩展器连接。各服务器部件可以将自身的电可擦编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)芯片,通过某一通道连接到I2C扩展器,只有当对应的通道开启后,BMC才能与对应的EEPROM芯片通信。其中,EEPROM芯片可以是FRU信息的存储载体,使用I2C与其他芯片进行通信。在本实施例中,对服务器中I2C扩展器的数量和连接关系不作具体限定。
需要说明的是,I2C扩展器的地址均在一个固定的地址范围(0x70-0x78)之内。在本实施例中,可以基于I2C扩展器对应的地址范围,检测得到服务器当前包括的所有I2C扩展器,以及各扩展器之间的连接关系,并根据各扩展器之间的连接关系,建立I2C扩展器连接拓扑。
S120、根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各所述I2C扩展器对应的驱动程序,生成各所述I2C扩展器对应的各通道匹配的虚拟I2C总线。
在一个具体的例子中,可以根据I2C扩展器连接拓扑,为每一个I2C扩展器动态绑定对应的Linux驱动程序;其中,Linux驱动程序,用于在BMC系统中,为对应的I2C扩展器的每个通道创建对应的虚拟I2C总线。由此,对于各通道连接的服务器部件的EEPROM芯片,上层监测程序可以基于对应的虚拟I2C总线与其进行直接通信。
S130、基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取所述服务器对应的至少一个现场可更换单元FRU,以及各所述FRU对应的运行状态。
其中,现场可更换单元(Field Replace Unit,FRU),可以是服务器中可以灵活配置的部件,例如,硬盘背板、电源装置等。
具体的,可以基于各通道匹配的虚拟I2C总线,读取各通道连接的服务器部件的EEPROM芯片中的存储信息,之后,可以对存储信息进行校验,以判断是否符合FRU信息的数据格式。若检测到某个服务器部件对应的存储信息符合FRU信息的数据格式,则可以将该服务器部件确定为FRU设备,并可以基于存储信息获取该FRU设备的设备型号、产品名称等设备信息。
之后,可以基于与该FRU设备之间的虚拟I2C总线,获取该FRU设备对应的运行状态,以实现对FRU设备的运行监测。例如,可以基于虚拟I2C总线获取FRU设备的状态参数,例如,温度、电压等,当检测到各项状态参数均在预设的状态参数范围之内时,可以确定运行状态为正常状态;而若检测到存在状态参数超出预设的状态参数范围,则可以确定运行状态为异常状态。
本发明实施例的技术方案,通过获取服务器对应的集成电路总线I2C扩展器连接拓扑,并根据I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各I2C扩展器对应的驱动程序,生成各I2C扩展器对应的各通道匹配的虚拟I2C总线;之后,基于各I2C扩展器对应的各通道匹配的虚拟I2C总线,获取服务器对应的多个现场可更换单元FRU,以及各FRU对应的运行状态,通过动态检测I2C扩展器连接拓扑,并为每个I2C扩展器绑定对应的驱动程序,以建立各通道匹配的虚拟I2C总线,可以实现对动态变化的服务器FRU的有效运行监测,可以实现对FRU设备的直接管理,从而可以降低监测程序的开发复杂度。
在本实施例的一个可选的实施方式中,获取服务器对应的集成电路总线I2C扩展器连接拓扑,可以包括:
通过向预设地址范围内各地址发送I2C扩展器查询消息,获取所述服务器对应的至少一个一级I2C扩展器;
通过向各所述一级I2C扩展器发送通道切换指令,获取各所述一级I2C扩展器对应的至少一个一级通道;
判断各所述一级通道是否存在下级I2C扩展器,若否,则根据所述各一级I2C扩展器,建立所述服务器对应的I2C扩展器连接拓扑。
其中,预设地址范围,可以是I2C扩展器部署地址的范围,典型的,可以是0x70-0x78。在一个具体的例子中,可以向预设地址范围内各地址依次发送I2C扩展器查询消息,若对于当前地址,接收到反馈的确认消息(例如,ACK消息),则可以确定当前地址存在I2C扩展器。由此,可以获取服务器对应的多个一级I2C扩展器。其中,一级I2C扩展器,可以是I2C扩展器级联网络中位于最上层的I2C扩展器。
具体的,在获取到各一级I2C扩展器之后,针对每一个I2C扩展器,可以分别执行通道切换指令,并根据指令执行结果,获取对应的各一级通道和通道数量。进一步的,可以判断每个一级通道后是否存在下级I2C扩展器。在一种情况下,若确定每个一级通道后均不存在下级I2C扩展器,即当前服务器只包括一层I2C扩展器,则可以基于各一级I2C扩展器,直接创建服务器对应的I2C扩展器连接拓扑。
在本实施例中,基于预设地址范围和通道切换指令,可以实现对服务器中I2C扩展器的准确检测,从而可以提升获取的I2C扩展器连接拓扑的准确度。
在本实施例的另一个可选的实施方式中,在判断各所述一级通道是否存在下级I2C扩展器之后,还可以包括:
若是,则获取各所述一级I2C扩展器对应的各二级I2C扩展器,以及各所述二级I2C扩展器对应的各二级通道,并重新判断各所述二级通道是否存在下级I2C扩展器,直至检测到各当前级I2C扩展器不存在下级I2C扩展器,获取所述服务器对应的全部I2C扩展器;
根据所述服务器对应的全部I2C扩展器,建立所述服务器对应的I2C扩展器连接拓扑。
在另一种情况下,若确定各一级I2C扩展器存在下级I2C扩展器,则可以基于预设地址范围和通道切换指令,继续获取每个一级I2C扩展器对应的一个或者多个二级I2C扩展器,以及每个二级I2C扩展器对应的多个二级通道。之后,可以对每个二级通道再进行下级I2C扩展器的检测,并重复上述过程,直至检测到各当前级I2C扩展器不再存在下级I2C扩展器,即当前级I2C扩展器为最下层的I2C扩展器,以最终获取当前服务器的全部I2C扩展器,以及各I2C扩展器之间的连接关系。之后,可以基于各I2C扩展器,以及各I2C扩展器之间的连接关系,建立服务器对应的I2C扩展器连接拓扑。
在本实施例的另一个可选的实施方式中,根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,可以包括:
根据所述I2C扩展器连接拓扑,获取各所述I2C扩展器对应的数据结构,并根据各所述I2C扩展器对应的数据结构,获取各所述I2C扩展器对应的驱动程序。
其中,数据结构,可以包括I2C扩展器对应的地址、I2C扩展器对应的通道数量、I2C扩展器连接到上级I2C扩展器的通道号和指向上级I2C扩展器对应的数据结构的指针中的至少一项。指针,可以用于查询上级I2C扩展器的信息。可以理解的是,对于一级I2C扩展器,其对应的数据结构的内容,可以仅包括I2C扩展器对应的地址和I2C扩展器对应的通道数量。
在本实施例中,可以采用各I2C扩展器对应的数据结构,对各I2C扩展器之间的连接拓扑关系进行描述,并根据各I2C扩展器对应的数据结构,为每个I2C扩展器动态绑定对应的驱动程序。其中,驱动程序,可以是Linux驱动程序,用于为I2C扩展器的每一个通道,建立对应的虚拟I2C总线。
在本实施例中,通过为每个I2C扩展器动态绑定对应的驱动程序,可以避免监测程序通过I2C扩展器间接管理各FRU设备,可以实现对FRU设备的直接管理,从而可以降低监测程序的开发复杂度。
其次,在现有技术中,针对使用同样的I2C从设备地址和I2C总线号,但是I2C扩展器芯片型号不同(例如,PCA9543、PCA9546、PCA9548等)的两类部件,无法通过预先配置Linux内核设备树的方式实现同时支持。而本实施例中,通过对I2C扩展器连接拓扑进行实时检测,可以避免需要提前在内核设备树中规划好所使用的I2C扩展器芯片型号、I2C设备地址、I2C总线号和级联拓扑关系,故可以适配动态多变的配置需求。
实施例二
图2A为本发明实施例二提供的一种服务器FRU的运行监测方法的流程图,本实施例是对上述技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施方式结合。如图2A所示,该方法包括:
S210、通过向预设地址范围内各地址发送I2C扩展器查询消息,获取所述服务器对应的至少一个一级I2C扩展器。
S220、通过向各所述一级I2C扩展器发送通道切换指令,获取各所述一级I2C扩展器对应的至少一个一级通道。
S230、判断各所述一级通道是否存在下级I2C扩展器,若是,则获取各所述一级I2C扩展器对应的各二级I2C扩展器,以及各所述二级I2C扩展器对应的各二级通道,并重新判断各所述二级通道是否存在下级I2C扩展器,直至检测到各当前级I2C扩展器不存在下级I2C扩展器,获取所述服务器对应的全部I2C扩展器。
可选的,若确定各一级通道不存在下级I2C扩展器,则可以根据各一级I2C扩展器,直接建立服务器对应的I2C扩展器连接拓扑。
S240、根据所述服务器对应的全部I2C扩展器,建立所述服务器对应的I2C扩展器连接拓扑。
S250、根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各所述I2C扩展器对应的驱动程序,生成各所述I2C扩展器对应的各通道匹配的虚拟I2C总线。
可选的,在获取到I2C扩展器连接拓扑之后,还可以采用上层监测程序直接管理各I2C扩展器的通道开关,以实现对FRU设备的检测和运行监测。其次,针对多线程场景,可以为I2C扩展器操作执行加锁处理。
S260、基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取各所述通道对应的从设备,以及各所述从设备对应的存储器匹配的存储数据。
其中,从设备,可以是各通道连接的服务器部件;从设备对应的存储器匹配的存储数据,可以是服务器部件对应的EEPROM中存储的设备信息。在本实施例中,可以基于各通道匹配的虚拟I2C总线,与各从设备对应的存储器进行直接通信,从而可以读取存储器匹配的存储数据。
S270、若检测到当前从设备对应的存储器匹配的存储数据符合预设数据规则,则将所述当前从设备作为当前FRU,并基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的运行状态。
其中,预设数据规则,可以是预先设置的FRU信息对应的数据格式,例如,可以是指定设备名称、设备型号等。在一个具体的例子中,可以从存储数据中提取设备名称或者设备型号字段值,并将提取字段值与预设数据规则进行匹配,若确定成功匹配,则可以将当前从设备确定为当前FRU。在确定当前从设备为FRU设备之后,可以基于当前从设备对应的虚拟I2C总线,获取当前FRU对应的运行状态,以对当前FRU进行针对性的管理和监控。
此外,若检测到当前从设备对应的存储器匹配的存储数据不符合预设数据规则,则表示当前从设备不为FRU设备,即无法进行灵活配置。在本实施例中,针对非FRU设备,可以不进行运行监测。
本发明实施例的技术方案,在获取服务器对应的I2C扩展器连接拓扑之后,根据I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各I2C扩展器对应的驱动程序,生成各I2C扩展器对应的各通道匹配的虚拟I2C总线;之后,基于各I2C扩展器对应的各通道匹配的虚拟I2C总线,获取各通道对应的从设备,以及各从设备对应的存储器匹配的存储数据;若检测到当前从设备对应的存储器匹配的存储数据符合预设数据规则,则将当前从设备作为当前FRU,并基于当前从设备对应的通道匹配的虚拟I2C总线,获取当前FRU对应的运行状态;通过基于预设数据规则对存储数据进行检测,可以实现对服务器上FRU的准确判断,从而可以实现对FRU的运行状态的准确监测。
在本实施例的一个可选的实施方式中,基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的运行状态,可以包括:
基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的状态参数;
若检测到所述当前FRU对应的状态参数满足预设状态检测条件,则获取所述当前FRU对应的运行状态为正常状态。
其中,状态参数,可以包括温度、电压、电流等。预设状态检测条件,可以是原先设置的状态参数范围,当某一个FRU对应的状态参数位于该状态参数范围之内时,可以确定满足预设状态检测条件。
在本实施例中,可以基于虚拟I2C总线实时获取当前FRU对应的状态参数,并判断该状态参数是否满足预设状态检测条件;若是,则可以确定当前FRU为正常状态;而若状态参数不满足预设状态检测条件,则可以确定当前FRU为异常状态。
在本实施例的一个具体的实施方式中,服务器FRU的运行监测方法的流程可以如图2B所示。首先,对I2C扩展器进行探测,以获取各一级I2C扩展器,以及每个I2C扩展器的通道数量。之后,分别探测每个通道,并根据探测结果判断通道上是否存在下级I2C扩展器。若确定存在下级I2C扩展器,则返回继续探测I2C扩展器,直至检测到当前级I2C扩展器的各通道上不存在下级I2C扩展器。
若确定各通道上均不存在下级I2C扩展器,则创建I2C扩展器连接拓扑,并根据该I2C扩展器连接拓扑,为每个I2C扩展器绑定对应的Linux驱动程序,以生成各通道对应的虚拟I2C总线。最终,基于各虚拟I2C总线,探测获取服务器对应的各FRU设备,并对各FRU设备进行运行监测。
本发明实施例的技术方案,可以在BMC启动阶段,自动检测I2C总线上的所有I2C扩展器和FRU设备,可以提升对部件进行识别和监控的便捷性。相较于常规技术,无需预先设置特定的配置文件,仅通过程序运行时的动态检测,即可在复杂I2C拓扑中成功发现FRU设备,可以实现对服务器上FRU的准确和高效检测。其次,当存在部件类型变更导致的I2C拓扑变更,或者项目设计变更导致的主板I2C拓扑变更时,可以实现自动适配,无需进行任何代码修改,可以极大减少维护工作量。
实施例三
图3为本发明实施例三提供的一种服务器FRU的运行监测装置的结构示意图。如图3所示,该装置包括:连接拓扑获取模块310、虚拟I2C总线生成模块320和FRU获取模块330;其中,
连接拓扑获取模块310,用于获取服务器对应的集成电路总线I2C扩展器连接拓扑;
虚拟I2C总线生成模块320,用于根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各所述I2C扩展器对应的驱动程序,生成各所述I2C扩展器对应的各通道匹配的虚拟I2C总线;
FRU获取模块330,用于基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取所述服务器对应的至少一个现场可更换单元FRU,以及各所述FRU对应的运行状态。
本发明实施例的技术方案,通过获取服务器对应的集成电路总线I2C扩展器连接拓扑,并根据I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各I2C扩展器对应的驱动程序,生成各I2C扩展器对应的各通道匹配的虚拟I2C总线;之后,基于各I2C扩展器对应的各通道匹配的虚拟I2C总线,获取服务器对应的多个现场可更换单元FRU,以及各FRU对应的运行状态,通过动态检测I2C扩展器连接拓扑,并为每个I2C扩展器绑定对应的驱动程序,以建立各通道匹配的虚拟I2C总线,可以实现对动态变化的服务器FRU的有效运行监测,可以实现对FRU设备的直接管理,从而可以降低监测程序的开发复杂度。
可选的,连接拓扑获取模块310,包括:
一级I2C扩展器获取单元,用于通过向预设地址范围内各地址发送I2C扩展器查询消息,获取所述服务器对应的至少一个一级I2C扩展器;
一级通道获取单元,用于通过向各所述一级I2C扩展器发送通道切换指令,获取各所述一级I2C扩展器对应的至少一个一级通道;
连接拓扑建立单元,用于判断各所述一级通道是否存在下级I2C扩展器,若否,则根据所述各一级I2C扩展器,建立所述服务器对应的I2C扩展器连接拓扑。
可选的,连接拓扑获取模块310,还包括:
全部I2C扩展器获取单元,用于若是,则获取各所述一级I2C扩展器对应的各二级I2C扩展器,以及各所述二级I2C扩展器对应的各二级通道,并重新判断各所述二级通道是否存在下级I2C扩展器,直至检测到各当前级I2C扩展器不存在下级I2C扩展器,获取所述服务器对应的全部I2C扩展器;
连接拓扑建立单元,还用于根据所述服务器对应的全部I2C扩展器,建立所述服务器对应的I2C扩展器连接拓扑。
可选的,虚拟I2C总线生成模块320,具体用于根据所述I2C扩展器连接拓扑,获取各所述I2C扩展器对应的数据结构,并根据各所述I2C扩展器对应的数据结构,获取各所述I2C扩展器对应的驱动程序。
可选的,所述数据结构,包括I2C扩展器对应的地址、I2C扩展器对应的通道数量、I2C扩展器连接到上级I2C扩展器的通道号和指向上级I2C扩展器对应的数据结构的指针中的至少一项。
可选的,FRU获取模块330,包括:
存储数据获取单元,用于基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取各所述通道对应的从设备,以及各所述从设备对应的存储器匹配的存储数据;
运行状态获取单元,用于若检测到当前从设备对应的存储器匹配的存储数据符合预设数据规则,则将所述当前从设备作为当前FRU,并基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的运行状态。
可选的,运行状态获取单元,具体用于基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的状态参数;
若检测到所述当前FRU对应的状态参数满足预设状态检测条件,则获取所述当前FRU对应的运行状态为正常状态。
本发明实施例所提供的服务器FRU的运行监测装置可执行本发明任意实施例所提供的服务器FRU的运行监测方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4示出了可以用来实施本发明的实施例的电子设备40的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备40包括至少一个处理器41,以及与至少一个处理器41通信连接的存储器,如只读存储器(ROM)42、随机访问存储器(RAM)43等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器41可以根据存储在只读存储器(ROM)42中的计算机程序或者从存储单元48加载到随机访问存储器(RAM)43中的计算机程序,来执行各种适当的动作和处理。在RAM 43中,还可存储电子设备40操作所需的各种程序和数据。处理器41、ROM 42以及RAM 43通过总线44彼此相连。输入/输出(I/O)接口45也连接至总线44。
电子设备40中的多个部件连接至I/O接口45,包括:输入单元46,例如键盘、鼠标等;输出单元47,例如各种类型的显示器、扬声器等;存储单元48,例如磁盘、光盘等;以及通信单元49,例如网卡、调制解调器、无线通信收发机等。通信单元49允许电子设备40通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器41可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器41的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器41执行上文所描述的各个方法和处理,例如服务器FRU的运行监测方法。
在一些实施例中,服务器FRU的运行监测方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元48。在一些实施例中,计算机程序的部分或者全部可以经由ROM 42和/或通信单元49而被载入和/或安装到电子设备40上。当计算机程序加载到RAM 43并由处理器41执行时,可以执行上文描述的服务器FRU的运行监测方法的一个或多个步骤。备选地,在其他实施例中,处理器41可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行服务器FRU的运行监测方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种服务器FRU的运行监测方法,其特征在于,包括:
获取服务器对应的集成电路总线I2C扩展器连接拓扑;
根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各所述I2C扩展器对应的驱动程序,生成各所述I2C扩展器对应的各通道匹配的虚拟I2C总线;
基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取所述服务器对应的至少一个现场可更换单元FRU,以及各所述FRU对应的运行状态。
2.根据权利要求1所述的方法,其特征在于,获取服务器对应的集成电路总线I2C扩展器连接拓扑,包括:
通过向预设地址范围内各地址发送I2C扩展器查询消息,获取所述服务器对应的至少一个一级I2C扩展器;
通过向各所述一级I2C扩展器发送通道切换指令,获取各所述一级I2C扩展器对应的至少一个一级通道;
判断各所述一级通道是否存在下级I2C扩展器,若否,则根据所述各一级I2C扩展器,建立所述服务器对应的I2C扩展器连接拓扑。
3.根据权利要求2所述的方法,其特征在于,在判断各所述一级通道是否存在下级I2C扩展器之后,还包括:
若是,则获取各所述一级I2C扩展器对应的各二级I2C扩展器,以及各所述二级I2C扩展器对应的各二级通道,并重新判断各所述二级通道是否存在下级I2C扩展器,直至检测到各当前级I2C扩展器不存在下级I2C扩展器,获取所述服务器对应的全部I2C扩展器;
根据所述服务器对应的全部I2C扩展器,建立所述服务器对应的I2C扩展器连接拓扑。
4.根据权利要求1所述的方法,其特征在于,根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,包括:
根据所述I2C扩展器连接拓扑,获取各所述I2C扩展器对应的数据结构,并根据各所述I2C扩展器对应的数据结构,获取各所述I2C扩展器对应的驱动程序。
5.根据权利要求4所述的方法,其特征在于,所述数据结构,包括I2C扩展器对应的地址、I2C扩展器对应的通道数量、I2C扩展器连接到上级I2C扩展器的通道号和指向上级I2C扩展器对应的数据结构的指针中的至少一项。
6.根据权利要求1所述的方法,其特征在于,基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取所述服务器对应的至少一个现场可更换单元FRU,以及各所述FRU对应的运行状态,包括:
基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取各所述通道对应的从设备,以及各所述从设备对应的存储器匹配的存储数据;
若检测到当前从设备对应的存储器匹配的存储数据符合预设数据规则,则将所述当前从设备作为当前FRU,并基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的运行状态。
7.根据权利要求6所述的方法,其特征在于,基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的运行状态,包括:
基于所述当前从设备对应的通道匹配的虚拟I2C总线,获取所述当前FRU对应的状态参数;
若检测到所述当前FRU对应的状态参数满足预设状态检测条件,则获取所述当前FRU对应的运行状态为正常状态。
8.一种服务器FRU的运行监测装置,其特征在于,包括:
连接拓扑获取模块,用于获取服务器对应的集成电路总线I2C扩展器连接拓扑;
虚拟I2C总线生成模块,用于根据所述I2C扩展器连接拓扑,获取各I2C扩展器对应的驱动程序,并通过各所述I2C扩展器对应的驱动程序,生成各所述I2C扩展器对应的各通道匹配的虚拟I2C总线;
FRU获取模块,用于基于各所述I2C扩展器对应的各通道匹配的虚拟I2C总线,获取所述服务器对应的至少一个现场可更换单元FRU,以及各所述FRU对应的运行状态。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的服务器FRU的运行监测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的服务器FRU的运行监测方法。
CN202211368740.1A 2022-11-03 2022-11-03 一种服务器fru的运行监测方法、装置、设备及存储介质 Pending CN115617616A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211368740.1A CN115617616A (zh) 2022-11-03 2022-11-03 一种服务器fru的运行监测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211368740.1A CN115617616A (zh) 2022-11-03 2022-11-03 一种服务器fru的运行监测方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115617616A true CN115617616A (zh) 2023-01-17

Family

ID=84875580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211368740.1A Pending CN115617616A (zh) 2022-11-03 2022-11-03 一种服务器fru的运行监测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115617616A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160210259A1 (en) * 2015-01-15 2016-07-21 Red Hat Israel, Ltd. Virtual pci expander device
CN110781115A (zh) * 2019-10-31 2020-02-11 苏州浪潮智能科技有限公司 一种现场可更换单元的修改方法、装置和存储介质
CN113127308A (zh) * 2021-04-26 2021-07-16 山东英信计算机技术有限公司 一种基于bmc的设备监控方法、装置、系统及存储介质
CN114116352A (zh) * 2021-11-29 2022-03-01 苏州浪潮智能科技有限公司 一种板卡fru信息测试方法、系统、装置及可读存储介质
CN114328045A (zh) * 2021-11-30 2022-04-12 浪潮电子信息产业股份有限公司 一种bmc的i2c调试方法、系统、装置及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160210259A1 (en) * 2015-01-15 2016-07-21 Red Hat Israel, Ltd. Virtual pci expander device
CN110781115A (zh) * 2019-10-31 2020-02-11 苏州浪潮智能科技有限公司 一种现场可更换单元的修改方法、装置和存储介质
CN113127308A (zh) * 2021-04-26 2021-07-16 山东英信计算机技术有限公司 一种基于bmc的设备监控方法、装置、系统及存储介质
CN114116352A (zh) * 2021-11-29 2022-03-01 苏州浪潮智能科技有限公司 一种板卡fru信息测试方法、系统、装置及可读存储介质
CN114328045A (zh) * 2021-11-30 2022-04-12 浪潮电子信息产业股份有限公司 一种bmc的i2c调试方法、系统、装置及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN114389969B (zh) 客户端的测试方法、装置、电子设备和存储介质
CN112860811A (zh) 数据血缘关系的确定方法、装置、电子设备和存储介质
CN116545905A (zh) 一种服务健康检测方法、装置、电子设备及存储介质
CN116627432A (zh) 一种前端应用自动化部署方法、装置、设备及介质
CN115390992A (zh) 一种虚拟机创建方法、装置、设备和存储介质
CN115933591A (zh) 一种控制器诊断方法、装置、设备和存储介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN113986135B (zh) 处理请求的方法、装置、设备以及存储介质
CN115860877A (zh) 一种产品营销方法、装置、设备及介质
CN115599438A (zh) 应用程序的发布包的构建方法、装置、设备及介质
CN115543423A (zh) 一种标杆生成方法、装置、设备及存储介质
CN115617616A (zh) 一种服务器fru的运行监测方法、装置、设备及存储介质
CN115408034A (zh) 车载控制器升级方法、装置、电子设备及存储介质
CN115309730A (zh) 数据审核方法、装置、电子设备及存储介质
CN113691403A (zh) 拓扑节点配置方法、相关装置及计算机程序产品
CN113609145B (zh) 数据库处理方法、装置、电子设备、存储介质及产品
CN115967638A (zh) 一种设备仿真模拟系统、方法、设备及存储介质
CN114706578A (zh) 一种数据处理方法、装置、设备以及介质
CN114546478A (zh) 代码和数据库版本的更新的方法、装置、设备及介质
CN115951921A (zh) 业务处理方法、装置及存储介质
CN117032746A (zh) 数据更新方法、装置、电子设备及存储介质
CN118838901A (zh) 数据库实例状态更新方法、装置、设备及存储介质
CN115658341A (zh) 一种Freeswitch读写数据的方法、装置、设备及介质
CN115470193A (zh) 一种雷达数据模拟方法、装置、设备及介质
CN114756398A (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