一种服务器性能信息获取方法、系统和基板控制管理器与流程

文档序号:11250771阅读:333来源:国知局
一种服务器性能信息获取方法、系统和基板控制管理器与流程

本发明涉及计算机技术领域,特别涉及一种服务器性能信息获取方法、系统和基板控制管理器。



背景技术:

近年来,随着服务器网络管理技术的飞速发展,服务器管理已经分化为带外管理(out-of-band)和带内管理(in-band)两种管理模式。带内管理,是指网络的管理控制信息与用户网络的承载业务信息通过同一个逻辑信道传送,当管理数据较多时,将会影响到整个网络的性能;而在带外管理模式中,网络的管理控制信息与用户网络的承载业务信息在不同的逻辑信道传送,网络的管理控制信息与用户网络的承载业务信息分离,有利于提高网络的管理控制信息的安全性。目前绝大多数的数据中心要求管理网和业务网分离,这是一种保证数据中心信息安全的有效手段。

目前带外管理的主要方式是通过服务器主板上的bmc(baseboardmanagementcontroller,基板管理控制器)实现网络的管理控制信息与用户网络的承载业务信息在不同的逻辑信道传送,但是bmc是主板上的一块独立的芯片,与操作系统之间无数据通路,从而导致无法直接获取服务器的性能信息。

通过上述描述可见,由于bmc无法直接获取服务器的性能数据,从而无法通过bmc带外获取服务器的性能信息。



技术实现要素:

本发明实施例提供了一种服务器性能信息获取方法、系统和基板控制管理器,能够通过bmc带外获取服务器的性能信息。

第一方面,本发明实施例提供了一种服务器性能信息获取方法,应用于基板管理控制器bmc,包括:

通过扩展智能平台管理接口ipmi协议创建至少一个性能传感器,还包括:

通过所述ipmi协议接收服务器的性能信息,其中,所述性能信息由外部的性能信息采集模块从所述服务器上采集获得;

将所述性能信息定义为所述至少一个性能传感器的当前值;

接收外部的客户端通过带外网络发送的获取请求;

根据所述获取请求,读取所述至少一个性能传感器的当前值,并通过所述带外网络将读取到的所述当前值发送给所述客户端。

进一步地,在所述通过扩展ipmi协议创建至少一个性能传感器之后,进一步包括:

为每一个所述性能传感器的当前值设置相对应的阈值;

在所述接收外部的客户端通过带外网络发送的获取请求之后,进一步包括:

分别判断每一个所述传感器的当前值是否超过相对应的阈值,如果是,向所述客户端发送提示信息。

进一步地,所述性能信息包括:所述服务器的cpu使用信息、内存使用信息、存储使用信息和网络使用信息中的任意一个或多个。

进一步地,所述将所述性能信息定义为所述至少一个性能传感器的当前值,包括:

当所述性能信息包括所述cpu使用信息时,将所述cpu使用信息定义为所述至少一个性能传感器中的cpu性能传感器的当前值;

当所述性能信息包括所述内存使用信息时,将所述内存使用信息定义为所述至少一个性能传感器中的内存性能传感器的当前值;

当所述性能信息包括所述存储使用信息时,将所述存储使用信息定义为所述至少一个性能传感器中的存储性能传感器的当前值;

当所述性能信息包括所述网络使用信息时,将所述网络使用信息定义为所述至少一个性能传感器中的网络性能传感器的当前值。

第二方面,本发明实施例提供了一种基板管理控制器,包括:

传感器创建模块、性能信息接收模块、定义模块、获取请求接收模块和响应模块;其中,

所述传感器创建模块,用于通过扩展智能平台管理接口ipmi协议创建至少一个性能传感器;

所述性能信息接收模块,用于通过所述ipmi协议接收服务器的性能信息,其中,所述性能信息由外部的性能信息采集模块从所述服务器上采集获得;

所述定义模块,用于将所述性能信息接收模块接收到的所述性能信息定义为所述传感器创建模块创建的所述至少一个性能传感器的当前值;

所述获取请求接收模块,用于接收外部的客户端通过带外网络发送的获取请求;

所述响应模块,用于根据所述获取请求接收模块接收到的所述获取请求,读取所述定义模块定义的所述至少一个性能传感器的当前值,并通过所述带外网络将读取到的所述当前值发送给所述客户端。

进一步地,该控制器进一步包括:阈值设置模块和处理模块;

所述阈值设置模块,用于为所述传感器创建模块创建的每一个性能传感器的当前值设置相对应的阈值;

所述处理模块,用于分别判断每一个所述传感器的当前值是否超过由所述阈值设置模块设置的相对应的阈值,如果是,向所述客户端发送提示信息。

进一步地,所述定义模块包括:cpu定义子模块、内存定义子模块、存储定义子模块和网络定义子模块;其中,

所述cpu定义子模块,用于当所述性能信息包括所述cpu使用信息时,将所述cpu使用信息定义为所述至少一个性能传感器中的cpu性能传感器的当前值;

所述内存定义子模块,用于当所述性能信息包括所述内存使用信息时,将所述内存使用信息定义为所述至少一个性能传感器中的内存性能传感器的当前值;

所述存储定义子模块,用于当所述性能信息包括所述存储使用信息时,将所述存储使用信息定义为所述至少一个性能传感器中的存储性能传感器的当前值;

所述网络定义子模块,用于当所述性能信息包括所述网络使用信息时,将所述网络使用信息定义为所述至少一个性能传感器中的网络性能传感器的当前值。

第三方面,本发明实施例提供了一种服务器性能信息获取系统,包括:

服务器、性能信息采集模块、客户端和第二方面中任一所述的基板管理控制器;

所述性能信息采集模块,用于采集所述服务器的性能信息,并将采集到的所述性能信息发送给所述基板管理控制器;

所述客户端,用于通过带外网络向所述基板管理控制器发送获取请求,并通过所述带外网络接收所述基板管理控制器发送的所述基板管理控制器中至少一个性能传感器的当前值。

进一步地,该系统进一步包括:监控模块;

所述监控模块,用于实时监控所述性能信息采集模块,当监测到性能信息采集模块意外终止时,重新启动所述性能信息采集模块。

进一步地,所述性能信息采集模块,用于根据预先设定的采集周期,每经过一个所述采集周期,对所述服务器的性能信息进行一次采集,并将采集到的性能信息发送给所述基板管理控制器。

在本发明实施例中,通过扩展ipmi协议创建至少一个性能传感器,通过ipmi协议接收的服务器的性能信息并定义为至少一个性能传感器的当前值,接收外部的客户端发送的获取请求,并将读取到的至少一个性能传感器的当前值发送给客户端;由于在bmc的扩展ipmi协议中创建了至少一个性能传感器,解决了bmc无法直接获取服务器性能信息的问题,从而实现通过bmc带外获取服务器的性能信息。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的一种服务器性能信息获取方法的流程图;

图2是本发明一实施例提供的另一种服务器性能信息获取方法的流程图;

图3是本发明一实施例提供的一种基板管理控制器的示意图;

图4是本发明一实施例提供的另一种基板管理控制器的示意图;

图5是本发明一实施例提供的再一种基板管理控制器的示意图;

图6是本发明一实施例提供的一种服务器性能信息获取系统的分布图;

图7是本发明一实施例提供的另一种一种服务器性能信息获取系统的分布图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种服务器性能信息获取方法,应用于基板管理控制器bmc,包括:

步骤101:通过扩展智能平台管理接口ipmi协议创建至少一个性能传感器;

步骤102:通过所述ipmi协议接收服务器的性能信息,其中,所述性能信息由外部的性能信息采集模块从所述服务器上采集获得;

步骤103:将所述性能信息定义为所述至少一个性能传感器的当前值;

步骤104:接收外部的客户端通过带外网络发送的获取请求;

步骤105:根据所述获取请求,读取所述至少一个性能传感器的当前值,并通过所述带外网络将读取到的所述当前值发送给所述客户端。

在本发明实施例中,通过扩展ipmi协议创建至少一个性能传感器,通过ipmi协议接收的服务器的性能信息并定义为至少一个性能传感器的当前值,接收外部的客户端发送的获取请求,并将读取到的至少一个性能传感器的当前值发送给客户端;由于在bmc的扩展ipmi协议中创建了至少一个性能传感器,解决了bmc无法直接获取服务器性能信息的问题,从而实现通过bmc带外获取服务器的性能信息。

为了对将服务器的性能信息进行及时有效的监控,在本发明一实施例中,在所述通过扩展ipmi协议创建至少一个性能传感器之后,进一步包括:

为每一个所述性能传感器的当前值设置相对应的阈值;

在所述接收外部的客户端通过带外网络发送的获取请求之后,进一步包括:

分别判断每一个所述传感器的当前值是否超过相对应的阈值,如果是,向所述客户端发送提示信息。

本发明实施例中,为每一个性能传感器的当前值设置相对应的阈值,并分别判断每一个传感器的当前值是否超过相对应的阈值,如果性能传感器的当前值超过所设置的阈值,立即向客户端发送该传感器处于超负荷运行状态的提示信息,便于客户端即使采取相对应的应对措施。

举例来说,在创建cpu性能传感器之后,为cpu性能传感器设置的阈值为95%的cpu使用率,而cpu性能传感器的当前值为96%的cpu使用率、在接收外部的客户端通过带外网络发送的获取cpu性能传感器的当前值的请求之后,根据将cpu性能传感器96%的cpu使用率的当前值与设置的95%的cpu使用率对比,判断cpu性能传感器的当前值为96%的cpu使用率超过设置的95%的内存占用率的阈值,并向客户端发送cpu性能使用率高的提醒。

为了使用户对服务器的性能信息进行全面或有针对性的了解,在本发明一实施例中,所述性能信息包括:所述服务器的cpu使用信息、内存使用信息、存储使用信息和网络使用信息中的任意一个或多个。

本发明实施例中,根据客户端的需求,确定性能信息具体包括的内容,其中,cpu使用信息能够表征服务器中cpu的占用率,内存使用信息能表征服务器中内存的占用率,存储使用信息能表征服务器中存储空间的使用率,网络使用信息能表征服务器中网络的占用率,客户端可以根据不同的需求,向服务器请求相对应的服务器性能信息。

举例来说,性能信息包括:96%的cpu使用率、30%的内存占用率、40%的存储空间占用率、30%的网络占用率。

为了将服务器的各个性能信息反馈给用户,在本发明一实施例中,所述将所述性能信息定义为所述至少一个性能传感器的当前值,包括:

当所述性能信息包括所述cpu使用信息时,将所述cpu使用信息定义为所述至少一个性能传感器中的cpu性能传感器的当前值;

当所述性能信息包括所述内存使用信息时,将所述内存使用信息定义为所述至少一个性能传感器中的内存性能传感器的当前值;

当所述性能信息包括所述存储使用信息时,将所述存储使用信息定义为所述至少一个性能传感器中的存储性能传感器的当前值;

当所述性能信息包括所述网络使用信息时,将所述网络使用信息定义为所述至少一个性能传感器中的网络性能传感器的当前值。

本发明实施例中,如果性能信息包括cpu使用信息,将cpu使用信息定义为cpu性能传感器的当前值,如果性能信息包括内存使用信息,将内存使用信息定义为内存性能传感器的当前值,如果性能信息包括存储实用信息,将存储使用信息定义为存储性能传感器的当前值,如果性能信息包括网络使用信息,将网络使用信息定义为网络性能传感器的当前值,便于当客户端发送请求信息时,能够及时将相应的性能信息反馈给客户端。

举例来说,当性能信息包括:96%的cpu使用率、30%的内存占用率、40%的存储空间占用率、30%的网络占用率时,将96%的cpu使用率定义为cpu性能传感器的当前值、30%的内存占用率定义为内存性能传感器的当前值、40%的存储空间占用率定义为存储性能传感器的当前值、40%的存储空间占用率定义为网络性能传感器的当前值。

如图2所示,对本发明实施例提供了一种服务器性能信息获取方法进行详细说明:

步骤201:通过扩展智能平台管理接口ipmi协议创建至少一个性能传感器。

在本发明实施例中,通过扩展ipmi协议,在bmc上创建cpu性能传感器、内存性能传感器、网络性能传感器和存储性能传感器中的任意一个或多个。

举例来说,通过扩展ipmi协议创建cpu性能传感器、内存性能传感器、网络性能传感器、存储性能传感器。

步骤202:为每一个性能传感器的当前值设置相对应的阈值。

在本发明实施例中,为cpu性能传感器、内存性能传感器、网络性能传感器、存储性能传感器的当前值设置相对应的阈值。

举例来说,为cpu性能传感器设置的阈值为95%的cpu使用率,为内存性能传感器设置的阈值为95%的内存占用率,为存储性能传感器设置的阈值为95%的存储空间占用率,为网络性能传感器设置的阈值为95%的网络占用率。

步骤203:通过ipmi协议接收服务器的性能信息。

在本发明实施例中,外部的性能信息采集模块从服务器上采集cpu使用信息、内存使用信息、存储使用信息和网络使用信息中的至少一个作为服务器的性能信息,通过ipmi协议将采集到的性能信息发送给bmc。bmc通过ipmi协议接收性能信息采集模块发送的性能信息。

举例来说,通过ipmi协议接收由外部的采集模块从服务器上采集的性能信息为96%的cpu使用率、30%的内存占用率、40%的存储空间占用率、30%的网络占用率。

步骤204:将性能信息定义至少一个性能传感器的当前值。

在本发明实施例中,在接收到服务器的性能信息之后,如果性能信息包括cpu使用信息,将cpu使用信息定义为步骤201中所创建的cpu性能传感器的当前值;如果性能信息包括内存使用信息,将内存使用信息定义为步骤201中所创建的内存性能传感器的当前值;如果性能信息包括存储使用信息,将存储使用信息定义为步骤201中所创建的存储性能传感器的当前值;如果性能信息包括网络使用信息,将网络使用信息定义为步骤201中所创建的网络性能传感器的当前值。

举例来说,当性能信息包括:96%的cpu使用率、30%的内存占用率、40%的存储空间占用率、30%的网络占用率时,将96%的cpu使用率定义为cpu性能传感器的当前值、30%的内存占用率定义为内存性能传感器的当前值、40%的存储空间占用率定义为存储性能传感器的当前值、40%的存储空间占用率定义为网络性能传感器的当前值。

步骤205:接收由外部的客户端通过带外网络发送的获取请求。

在本发明实施例中,接收客户端发送的获取服务器性能信息的请求,便于将服务器信息及时发送给客户端。

举例来说,接收由外部的客户端通过带外网络发送的获取cpu使用率、内存占用率、存储空间占用率和网络占用率的请求。

步骤206:分别判断每一个传感器的当前值是否超过相对应的阈值,如果是,执行步骤207,否则执行步骤208。

在本发明实施例中,针对每一个传感器,将该传感器的当前值与所对应的阈值进行比较,如果该传感器的当前值超过对应的阈值,相对应地执行步骤207,如果该传感器的当前值没有超过对应的阈值,相对应的执行步骤208。

举例来说,cpu性能传感器设置的阈值为95%的cpu使用率,当前值为96%的cpu使用率,当前值超过设置的阈值,针对cpu性能传感器执行步骤207。内存性能传感器设置的阈值为95%的内存占用率,当前值为30%的内存占用率,当前值未超过设置的阈值,针对内存性能传感器执行步骤208。

步骤207:向客户端发送提示信息。

在本发明实施例中,针对每一个性能传感器,在该性能传感器的当前值超过所设置的阈值后,通过带外网络向客户端发送提示信息,以及时通知用户服务器上相对应元件已处于超负荷运行状态,使得用户能过及时采取相对应的应对措施,防止服务器由于部分元件超负荷运行导致服务器宕机。

举例来说,判断cpu性能传感器的当前值超过所设置的阈值后,通过带外网络想客户端发送cpu性能传感器超负荷运行状态。

步骤208:根据获取请求,读取至少一个性能传感器的当前值,并通过带外网络将读取到的当前值发送给客户端。

在本发明实施例中,根据客户端的获取服务器性能信息的请求,将读取的传感器的当前值通过带外网络发送给客户端,便于客户端及时得知请求的信息。

举例来说,外部的客户端请求获取内存占用率,信息响应模块读取到内存性能传感器的当前值为30%的内存占用率,通过带外网络将30%的内存占用率发送给客户端。

如图3所示,本发明实施例提供了一种基板管理控制器,包括:

传感器创建模块301、性能信息接收模块302、定义模块303、获取请求接收模块304和响应模块305,其中,

传感器创建模块301,用于通过扩展智能平台管理接口ipmi协议创建至少一个性能传感器;

性能信息接收模块302,用于通过所述ipmi协议接收服务器的性能信息,其中,所述性能信息由外部的性能信息采集模块从所述服务器上采集获得;

定义模块303,用于将所述性能信息接收模块302接收到的所述性能信息定义为所述传感器创建模块301创建的所述至少一个性能传感器的当前值;

获取请求接收模块304,用于接收外部的客户端通过带外网络发送的获取请求;

响应模块305,用于根据所述获取请求接收模块304接收到的所述获取请求,读取所述定义模块303定义的所述至少一个性能传感器的当前值,并通过所述带外网络将读取到的所述当前值发送给所述客户端。

在本发明实施例中,通过传感器创建模块扩展ipmi协议创建至少一个性能传感器,利用性能信息接收模块通过ipmi协议接收的服务器的性能信息并通过定义模块定义为至少一个性能传感器的当前值,通过获取请求接收模块接收外部的客户端发送的获取请求,并将响应模块读取到的至少一个性能传感器的当前值发送给客户端;由于在bmc的扩展ipmi协议中创建了至少一个性能传感器,解决了bmc无法直接获取服务器性能数据的问题,从而实现通过bmc带外获取服务器的性能信息。

基于图3所示的一种基板管理控制器,本发明一实施例中,如图4所示,该控制器进一步包括:

阈值设置模块401和处理模块402,其中,

阈值设置模块401,用于为所述传感器创建模块301创建的每一个性能传感器的当前值设置相对应的阈值;

处理模块402,用于分别判断每一个所述传感器的当前值是否超过由所述阈值设置模块401设置的相对应的阈值,如果是,向所述客户端发送提示信息。

基于图4所示的一种基板管理控制器,本发明一实施例中,如图5所示,该控制器中的定义模块303包括:

cpu定义子模块3031、内存定义子模块3032、存储定义子模块3033、网络定义子模块3034;其中,

cpu定义子模块3031,用于当所述性能信息包括所述cpu使用信息时,将所述cpu使用信息定义为所述至少一个性能传感器中的cpu性能传感器的当前值;

内存定义子模块3032,用于当所述性能信息包括所述内存使用信息时,将所述内存使用信息定义为所述至少一个性能传感器中的内存性能传感器的当前值;

存储定义子模块3033,用于当所述性能信息包括所述存储使用信息时,将所述存储使用信息定义为所述至少一个性能传感器中的存储性能传感器的当前值;

网络定义子模块3034,用于当所述性能信息包括所述存储使用信息时,将所述存储使用信息定义为所述至少一个性能传感器中的存储性能传感器的当前值;

如图6所示,本发明实施例提供了一种服务器性能信息获取系统,包括:

服务器601、性能信息采集模块602、客户端603和任一所述的基板管理控制器604;

性能信息采集模块602,用于采集所述服务器601的性能信息,并将采集到的所述性能信息发送给所述基板管理控制器604;

所述客户端603,用于通过带外网络向所述基板管理控制器604发送获取请求,并通过所述带外网络接收所述基板管理控制器604发送的所述基板管理控制器604中至少一个性能传感器的当前值。

基于图6所示的一种服务器性能信息获取系统,本发明一实施例中,如图7所示,该系统进一步包括:监控模块701;

所述监控模块701,用于实时监控所述性能信息采集模块602,当监测到性能信息采集模块602意外终止时,重新启动所述性能信息采集模块602。

本发明一实施例中,所述性能信息采集模块602,用于根据预先设定的采集周期,每经过一个所述采集周期,对所述服务器的性能信息进行一次采集,并将采集到的性能信息发送给所述基板管理控制器604。

本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,通过扩展ipmi协议创建至少一个性能传感器,通过ipmi协议接收的服务器的性能信息并定义为至少一个性能传感器的当前值,接收外部的客户端发送的获取请求,并将读取到的至少一个性能传感器的当前值发送给客户端;由于在bmc的扩展ipmi协议中创建了至少一个性能传感器,解决了bmc无法直接获取服务器性能信息的问题,从而实现通过bmc带外获取服务器的性能信息。

2、本发明实施例中,为每一个性能传感器的当前值设置相对应的阈值,并分别判断每一个传感器的当前值是否超过相对应的阈值,如果性能传感器的当前值超过所设置的阈值,立即向客户端发送该传感器处于超负荷运行状态的提示信息,便于客户端即使采取相对应的应对措施。

3、本发明实施例中,由外部的性能信息采集模块从服务器上采集的cpu使用信息、内存使用信息、存储使用信息和网络使用信息中的任意一个或多个,便于为至少一个传感器定义当前值。

4、本发明实施例中,根据客户端的需求,确定性能信息具体包括的内容,其中,cpu使用信息能够表征服务器中cpu的占用率,内存使用信息能表征服务器中内存的占用率,存储使用信息能表征服务器中存储空间的使用率,网络使用信息能表征服务器中网络的占用率,客户端可以根据不同的需求,向服务器请求相对应的服务器性能信息。

5、本发明实施例中,如果性能信息包括cpu使用信息,将cpu使用信息定义为cpu性能传感器的当前值,如果性能信息包括内存使用信息,将内存使用信息定义为内存性能传感器的当前值,如果性能信息包括存储实用信息,将存储使用信息定义为存储性能传感器的当前值,如果性能信息包括网络使用信息,将网络使用信息定义为网络性能传感器的当前值,便于当客户端发送请求信息时,能够及时将相应的性能信息反馈给客户端。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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