资源占用率获取方法、提供方法、系统及服务器的制造方法

文档序号:7986370阅读:176来源:国知局
资源占用率获取方法、提供方法、系统及服务器的制造方法
【专利摘要】本发明实施例提供一种资源占用率获取方法、提供方法、系统及服务器。方法包括:管理服务器向被管理服务器的板载管理中心BMC发送功耗采集指令,以使被管理服务器的BMC采集被管理服务器的CPU功耗;管理服务器接收被管理服务器的BMC返回的被管理服务器的CPU功耗;管理服务器根据被管理服务器的CPU功耗,获得被管理服务器的CPU占用率。采用本发明技术方案可以减少获取服务器CPU占用率所消耗的CPU资源,提高服务器的业务性能。
【专利说明】资源占用率获取方法、提供方法、系统及服务器
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种资源占用率获取方法、提供方法、系统及服务器。
【背景技术】
[0002]在虚拟化应用中,一般由多台服务器组成一个集群,在每台服务器上运行多个虚拟机(Virtual Machine,简称为VM),并且VM可以在集群内的不同服务器之间进行迁移。
[0003]现有技术中,集群中的服务器分为管理服务器和被管理服务器。被管理服务器上运行中央处理器(Center Processing Unit,简称为CPU)资源检测脚本,管理服务器周期性的触发被管理服务器上的CPU资源检测脚本,由该脚本直接获得被管理服务器的CPU占用率并将获得的CPU占用率通过带内通道传送给管理服务器;然后管理服务器根据集群内全部被管理服务器的CPU占用率计算资源失衡率,当发生负载失衡时启动VM迁移动作,将负载重的服务器上的部分VM迁移到负载较轻的服务器上,达到负载均衡的目的。带内通道是带内管理使用的通道,带内管理是指需要通过被管理服务器上运行的应用软件进行的设备管理。带内管理需要被管理服务器加载操作系统。
[0004]由此可见,在上述方法中,被管理服务器需要加载操作系统并周期性的运行CPU资源检测脚本,该脚本的运行将占用CPU资源,导致在CPU上运行的正常业务可使用的资源减少,业务性能下降。

【发明内容】

[0005]本发明实施例提供一种资源占用率获取方法、提供方法、系统及服务器,用以减少获取服务器CPU占用率所消耗的CPU资源,提高服务器的业务性能。
[0006]第一方面提供一种资源占用率获取方法,包括:
[0007]管理服务器向被管理服务器的板载管理中心BMC发送功耗采集指令,以使所述被管理服务器的BMC采集所述被管理服务器的CPU功耗;
[0008]所述管理服务器接收所述被管理服务器的BMC返回的所述被管理服务器的CPU功耗;
[0009]所述管理服务器根据所述被管理服务器的CPU功耗,获得所述被管理服务器的CPU占用率。
[0010]在第一方面的第一种可能的实现方式中,所述管理服务器向被管理服务器的板载管理中心BMC发送功耗采集指令,以使所述被管理服务器的BMC采集所述被管理服务器的CPU功耗包括:所述管理服务器周期性的向所述被管理服务器的BMC发送所述功耗采集指令,以使所述被管理服务器的BMC周期性的采集所述被管理服务器的CPU功耗。
[0011]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述管理服务器周期性的向所述被管理服务器的BMC发送所述功耗采集指令,以使所述被管理服务器的BMC周期性的采集所述被管理服务器的CPU功耗之前包括:所述管理服务器根据当前周期之前至少一个周期内获得的所述被管理服务器的CPU占用率,确定在当前周期是否向所述被管理服务器的BMC发送所述功耗采集指令;如果确定在当前周期向所述被管理服务器的BMC发送所述功耗采集指令,则所述管理服务器在当前周期执行向所述被管理服务器的BMC发送功耗采集指令,以使所述被管理服务器的BMC采集所述被管理服务器的CPU功耗的操作。
[0012]结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:如果确定在当前周期不向所述被管理服务器的BMC发送所述功耗采集指令,所述管理服务器在当前周期向所述被管理服务器的CPU发送占用率采集指令,以使所述被管理服务器的CPU采集并返回所述被管理服务器的CPU占用率。
[0013]结合第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述管理服务器根据当前周期之前至少一个周期内获得的所述被管理服务器的CPU占用率,确定在当前周期是否向所述被管理服务器的BMC发送所述功耗采集指令包括:所述管理服务器根据当前周期的前一个周期内获得的所述被管理服务器的CPU占用率计算资源失衡率;所述管理服务器判断所述资源失衡率是否大于预设的资源失衡率阈值;如果判断结果为所述资源失衡率大于所述资源失衡率阈值,所述管理服务器确定在当前周期不向所述被管理服务器的BMC发送所述功耗采集指令;如果判断结果为所述资源失衡率小于或等于所述资源失衡率阈值,所述管理服务器确定在当前周期向所述被管理服务器的BMC发送所述功耗采集指令。
[0014]第二方面提供一种资源占用率提供方法,包括:
[0015]被管理服务器的板载管理中心BMC接收管理服务器发送的功耗采集指令;
[0016]所述被管理服务器的BMC根据所述功耗采集指令,采集所述被管理服务器的CPU功耗;
[0017]所述被管理服务器的BMC将所述被管理服务器的CPU功耗发送给所述管理服务器,以使所述管理服务器根据所述被管理服务器的CPU功耗获得所述被管理服务器的CPU占用率。
[0018]第三方面提供一种服务器,包括:
[0019]发送模块,用于向向被管理服务器的板载管理中心BMC发送功耗采集指令,以使所述被管理服务器的BMC采集所述被管理服务器的CPU功耗;
[0020]接收模块,用于接收所述被管理服务器的BMC返回的所述被管理服务器的CPU功耗;
[0021]获得模块,用于根据所述被管理服务器的CPU功耗,获得所述被管理服务器的CPU占用率。
[0022]在第三方面的第一种可能的实现方式中,所述发送模块具体用于周期性的向所述被管理服务器的BMC发送所述功耗采集指令,以使所述被管理服务器的BMC周期性的采集所述被管理服务器的CPU功耗。
[0023]结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述服务器还包括:判断模块,用于在所述发送模块向所述被管理服务器的BMC发送所述功耗采集指令之前,根据当前周期之前至少一个周期内获得的所述被管理服务器的CPU占用率,确定在当前周期是否向所述被管理服务器的BMC发送所述功耗采集指令,并在确定在当前周期向所述被管理服务器的BMC发送所述功耗采集指令时,触发所述发送模块向所述被管理服务器的BMC发送所述功耗采集指令。
[0024]结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述发送模块还用于在所述判断模块确定在当前周期不向所述被管理服务器的BMC发送所述功耗采集指令时,在当前周期向所述被管理服务器的CPU发送占用率采集指令,以使所述被管理服务器的CPU采集并返回所述被管理服务器的CPU占用率。
[0025]结合第三方面的第二种可能的实现方式或第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述判断模块具体用于根据当前周期的前一个周期内获得的所述被管理服务器的CPU占用率计算资源失衡率,判断所述资源失衡率是否大于预设的资源失衡率阈值,并在所述资源失衡率大于所述资源失衡率阈值时,确定在当前周期不向所述被管理服务器的BMC发送所述功耗采集指令,在所述资源失衡率小于或等于所述资源失衡率阈值时,确定在当前周期向所述被管理服务器的BMC发送所述功耗采集指令。
[0026]第四方面提供一种服务器,包括:板载管理中心BMC ;
[0027]所述BMC包括:
[0028]接收模块,用于接收管理服务器发送的功耗采集指令;
[0029]采集模块,用于根据所述功耗采集指令,采集所述服务器的CPU功耗;
[0030]发送模块,用于将所述服务器的CPU功耗发送给所述管理服务器,以使所述管理服务器根据所述服务器的CPU功耗获得所述服务器的CPU占用率。
[0031]第五方面提供一种资源占用率获取系统,包括第三方面提供的任一服务器和第四方面提供的任一服务器。
[0032]本发明实施例提供的资源占用率获取方法、提供方法、系统及服务器,管理服务器向被管理服务的BMC发送功耗采集指令,由被管理服务器的BMC对被管理服务器的CPU功耗进行采集并返回,实现了对被管理服务器的带外管理,通过带外通道采集被管理服务器的CPU功耗进而获得被管理服务器的CPU占用率,被管理服务器不需要加载操作系统且不需要周期性的运行CPU资源检测脚本,节约了运行CPU资源检测脚本占用的CPU资源,使得在CPU上运行的正常业务可使用更多的CPU资源,有利于提高被管理服务器的业务性能。
【专利附图】

【附图说明】
[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为本发明实施例提供的一种资源占用率获取方法的流程图;
[0035]图2为本发明实施例提供的一种管理服务器对被管理服务器进行管理的系统结构示意图;
[0036]图3为本发明实施例提供的管理服务器与被管理服务器连接的结构示意图;
[0037]图4为本发明实施例提供的另一种资源占用率提供方法的流程图;
[0038]图5为本发明实施例提供的一种管理服务器的结构示意图;[0039]图6为本发明实施例提供的另一种管理服务器的结构示意图;
[0040]图7为本发明实施例提供的一种被管理服务器的结构示意图;
[0041]图8为本发明实施例提供的另一被管理服务器的结构示意图。
【具体实施方式】
[0042]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]图1为本发明实施例提供的一种资源占用率获取方法的流程图。如图1所示,本实施例的方法包括:
[0044]步骤101、管理服务器向被管理服务器的板载管理中心(Board MangerCenter,简称为BMC)发送功耗采集指令,以使被管理服务器的BMC采集被管理服务的CPU功耗。
[0045]步骤102、管理服务器接收被管理服务器的BMC返回的被管理服务器的CPU功耗。
[0046]步骤103、管理服务器根据被管理服务器的CPU功耗,获得被管理服务器的CPU占用率。
[0047]在计算机虚拟化应用中,多台服务器构成一个集群,每个集群设置一台管理服务器,其他服务器为被管理服务器。在本实施例中,管理服务器和被管理服务器之间存在带外通道(Out Band)。带外通道是带外管理使用的通道或端口。带外管理是指对服务器硬件器件,例如CPU、电源、传感器等进行硬件特性管理。通常,带外管理的动作由服务器上的BMC模块完成。带外管理不需要服务器的CPU加载操作系统。带外管理通常采用智能平台管理接口( Intelligent Platform Management Interface,简称为 IPMI)协议。与带外管理对应的是带内管理,带内管理的动作主要是由服务器的CPU完成。
[0048]在业务运行中,被管理服务器上搭载的VM会运行不同业务,其对被管理服务器的物理资源占用率会随时间变化而变化。管理服务器会对不同被管理服务器上的VM对物理资源的占用率进行实时监控。管理服务器通过管理服务器的网卡NIC、交换机、被管理服务器的网卡NIC搭建信息通路,对不同被管理服务器上的VM对物理资源的占用率进行采集。这里的物理资源占用率主要是指CPU资源的占用率。
[0049]为了解决现有技术中被管理服务器的CPU执行CPU资源检测脚本获得被管理服务器的CPU占用率存在的占用CPU资源等问题,本实施例管理服务器向被管理服务器的BMC发送功耗采集指令,使得被管理服务器的BMC根据该功耗采集指令采集被管理服务器的CPU的功耗。相应的,被管理服务器的BMC采集到被管理服务器的CPU功耗之后,将被管理服务器的CPU功耗返回给管理服务器。其中,被管理服务器的BMC负责接收管理服务器的功耗采集指令、对被管理服务器的CPU功耗进行采集并返回给管理服务器,相当于被管理服务器采用带外管理方式进行处理,这样被管理服务器不再像现有技术那样由其CPU执行(PU资源检测脚本来获得被管理服务器的CPU占用率,节约了 CPU资源。管理服务器接收到被管理服务器的CPU功耗之后,根据被管理服务器的CPU功耗获得被管理服务器的CPU占用率。
[0050]在此说明,管理服务器具体可以通过MPI工具(MPItool)向被管理服务器的BMC发送功耗采集指令,以使被管理服务器的BMC采集并返回被管理服务器的CPU功耗。对于管理服务器来说,无论是其BMC还是CPU都运行有MPI协议,所以均可以通过MPItool向被管理服务器的BMC发送功耗采集指令,以使被管理服务器的BMC采集并返回被管理服务器的CPU功耗。也就是说,本实施例中,管理服务器可以通过其带内通道或带外通道向被管理服务器的BMC发送功耗采集指令,以使被管理服务器的BMC采集并返回被管理服务器的CPU功耗。
[0051]其中,被管理服务器的CPU功耗是指被管理服务器的CPU所消耗的功率,而被管理服务器的CPU占用率是指被管理服务器的CPU的使用率。
[0052]可选的,当管理服务器获取到被管理服务器的CPU占用率后,可以根据获取的被管理服务器的CPU占用率计算整个集群的资源失衡率,根据资源失衡率和预设的资源失衡率阈值判断是否发生VM负载失衡,如果发生VM负载失衡,则向有关被管理服务器发送迁移指令,将负载较重服务器上的部分VM迁移到负载较轻服务器上,从而实现负载均衡。
[0053]在本实施例中,管理服务器向被管理服务的BMC发送功耗采集指令,由被管理服务器的BMC对被管理服务器的CPU功耗进行采集并返回,实现了对被管理服务器的带外管理,通过带外通道采集被管理服务器的CPU功耗进而获得被管理服务器的CPU占用率,被管理服务器的CPU不需要加载操作系统且不需要周期性的运行CPU资源检测脚本,节约了运行CPU资源检测脚本占用的CPU资源,使得在CPU上运行的正常业务可使用更多的CPU资源,有利于提高被管理服务器的业务性能。另外,在本实施例中,被管理服务器的BMC采集到的被管理服务器的CPU功耗是通过被管理服务器的带外通道返回给管理服务器,不再通过带内通道,有利于节约被管理服务器的带内网络带宽,有利于为被管理服务器上带内运行的其他管理业务提供更多的带内网络带宽,有利于减小其他管理业务的时延。
[0054]图2为本发明实施例提供的一种管理服务器对被管理服务器进行管理的系统结构示意图。如图2所示,管理服务器通过交换机与被管理服务器连接。管理服务器上运行有多个VM,存在一个虚拟化管理层,负责多个VM的实现,每个VM上运行有多个管理业务;管理服务器还包括CPU、存储器、NIC等硬件器件。被管理服务器上运行有多个VM,也存在一个虚拟化管理层,负责被管理设备上多个VM的实现,并且每个VM上运行有多个客户端业务;被管理服务器也包括CPU、存储器、NIC等硬件器件。
[0055]在一可选实施方式中,被管理服务器的内部实现结构如图3所示,被管理服务器包括带外通道和带内通道;对于带外通道,被管理服务器上具有带外接口和连接于带外接口与CPU之间的BMC,其中,CPU与BMC之间可以采用SM-LINK协议进行通信;对于带内通道,被管理服务器上具有带内接口。
[0056]基于上述,管理服务器向被管理服务器的BMC发送功耗采集指令;对被管理服务器来说,被管理服务器的BMC接收到功耗采集指令后,通过SM-LINK协议对被管理服务器的CPU进行功耗采集,获得被管理服务器的CPU功耗,然后将被管理服务器的CPU功耗发送给管理服务器。
[0057]在实际应用中,管理服务器通常需要周期性的去采集被管理服务器的CPU功耗,从而周期性的获得被管理服务器的CPU占用率,进而周期性的进行负载均衡处理。基于此,从另一方面来说,步骤101的实施过程包括:管理服务器周期性的向被管理服务器的BMC发送功耗采集指令,以使被管理服务器的BMC周期性的采集被管理服务器的CPU功耗。[0058]其中,管理服务器通过被管理服务器的带内通道采集到的直接就是被管理服务器的CPU占用率,其精度较高;而管理服务器通过被管理服务器的带外通道采集到的是被管理服务器的CPU功耗,之后再由管理服务器根据该CPU功耗计算获得被管理服务器的CPU占用率,精度相对较低一些。考虑到集群在大部分时间处于负载均衡状态,而只有在少部分时间内处于负载失衡状态,而集群处于负载均衡状态时对获得的被管理服务器的CPU占用率的精度要求相对较低,集群处于负载失衡时对获得的被管理服务器的CPU占用率的精度要求相对较高。基于此,本实施例中的管理服务器可以在集群处理负载失衡的情况下采用被管理服务器的带内通道直接采集被管理服务器的CPU占用率,而在集群处于负载均衡情况下采用被管理服务器的带外通道采集被管理服务器的CPU功耗,然后根据采集到的CPU功耗获得被管理服务器的CPU占用率。
[0059]具体的,在管理服务器周期性获取被管理服务器的CPU占用率的情况下,管理服务器可以在周期性的向被管理服务器的BMC发送功耗采集指令之前,根据当前周期之前至少一个周期内获得的被管理服务器的CPU占用率,确定当前周期是否向被管理服务器的BMC发送功耗采集指令。如果确定当前周期向被管理服务器的BMC发送功耗采集指令(即确定在当前周期内采用被管理服务器的带外通道采集被管理服务器的CPU功耗),则管理服务器在当前周期向被管理服务器的BMC发送功耗采集指令,以使被管理服务器的BMC根据该功耗采集指令采集被管理服务器的CPU功耗。
[0060]可选的,如果确定当前周期不向被管理服务器的BMC发送功耗采集指令(即确定在当前周期内不采用被管理服务器的带外通道采集被管理服务器的CPU功耗),则管理服务器在当前周期向被管理服务器的CPU发送占用率采集指令(即在当前周期内采用被管理服务器的带内通道直接采集被管理服务器的CPU占用率),以使被管理服务器的CPU采集并返回被管理服务器的CPU占用率。具体的,管理服务器向被管理服务器的CPU发送占用率采集指令,则被管理服务器的CPU接收到占用率采集指令后,根据该占用率采集指令运行CPU资源采集脚本,获得CPU占用率,然后发送给管理服务器。
[0061]由于被管理服务器的CPU占用率仅代表该被管理服务器上全部VM的整体资源占用情况,而不能反馈每个VM的资源占用情况,这可能影响对VM进行动态迁移的准确度。可选的,本实施例中,被管理设备上存储的CPU资源检测脚本可以由对应每个VM的资源检测脚本构成,这样被管理服务器的CPU根据管理服务器的占用率采集指令,就可以运行每个VM的资源检测脚本,从而获得每个VM的资源占用情况,有利于提高进行VM迁移的准确度。而从整体上来看,这个过程只有在集群处于负载失衡的情况下才会执行,所以相对现有技术来说还是具有节约CPU资源的优势。
[0062]优选的,管理服务器可以根据当前周期的前一个周期内获得的被管理服务器的CPU占用率,确定在当前周期是否向被管理服务器的BMC发送功耗采集指令。
[0063]具体的,管理服务器可以根据当前周期的前一个周期内获得的被管理服务器的CPU占用率计算资源失衡率。然后,管理服务器判断该资源失衡率是否大于预设的资源失衡率阈值。如果判断结果为大于,说明当前集群处于负载失衡状态,可能需要进行负载均衡处理,因此,需要精度相对较高的被管理服务器的CPU占用率,则管理服务器确定在当前周期不向被管理服务器的BMC发送功耗采集指令,也就意味着,管理服务器在当前周期向被管理服务器的CPU发送占用率采集指令。如果判断结果为小于或等于,说明集群在当前周期处于负载均衡状态,对获取的被管理服务器的CPU占用率的精度要求相对较低,则管理服务器确定在当前周期向被管理服务器的BMC发送功耗采集指令。
[0064]在此说明,在上述过程中,管理服务器根据当前周期的前一个周期内获得的被管理服务器的CPU占用率计算资源失衡率的过程可参见现有技术,在此不再赘述。
[0065]在此说明,在上述过程中,当前周期的前一个周期内获得的被管理服务器的CPU占用率可能是由被管理服务器的CPU直接根据占用率采集指令返回的,也可能是由管理服务器根据被管理服务器的BMC返回的CPU功耗计算获得的。也就是说,在当前周期的前一个周期,管理服务器发送给被管理服务器的可能是占用率采集指令,也可能是功耗采集指令。
[0066]基于上述,步骤103的一种可选实施方式包括:管理服务器查询预设的CPU功耗与CPU占用率映射关系,获得被管理服务器的CPU功耗对应的CPU占用率,即为被管理服务器的CPU占用率。可选的,可以通过被管理服务器运行业务模型并施加被管理服务器的CPU压力,同时测量相应的CPU功耗,从而获得CPU功耗与CPU占用率之间的映射关系,将该映射关系预置在管理服务器内。基于此,管理服务器在接收到被管理服务器的CPU功耗后,通过查询预置的CPU功耗与CPU占用率映射关系,即可获得被管理服务器的CPU占用率,采用这种方法获得的CPU占用率的精确度较高。
[0067]步骤103的另一种可选实施方式包括:管理服务器将接收到的被管理服务器的CPU功耗与被管理服务器的CPU额定功耗相除,获得被管理服务器的CPU占用率。可选的,可以预先将被管理服务器的CPU额定功耗预置在管理服务器内,管理服务器在接收到被管理服务器的CPU功耗(实际上是一种实时功耗)后,将接收到的被管理服务器的CPU功耗与被管理服务器的CPU额定功耗进行相除,该相除的结果即为被管理服务器的CPU占用率。采用这种方法无需获取CPU功耗与CPU占用率之间的映射关系,且直接将获得的被管理服务器的实时CPU功耗与被管理服务器的CPU额定功耗相除获得CPU占用率相对简单,精度虽然较低但足以满足大部分应用的需求。
[0068]综上可见,本实施例通过对采集时间和采集方式进行分类,在对CPU占用率精度要求较低的时间段内,采用可以节省CPU资源的通过被管理设备的带外通道进行采集的方式,节省系统资源;在对CPU占用率精度要求较高的时间段内,采用被管理设备的带内通道进行采集的方式用于保证对CPU占用率精度的要求,为进行VM迁移提供保障。由于在大多数时间内集群处于负载均衡状态,对CPU占用率的精度要求较低,因此本实施例在大多数时间内可以有效节省系统资源,提升系统的业务处理性能;而在少数时间内,对CPU占用率的精度要求较高,此时采用的传统的带内采集方式可保证CPU占用率的精确度,而由此引起的资源消耗,由于时间较短,所以不会造成长时间的用户感知下降。
[0069]图4为本发明实施例提供的另一种资源占用率提供方法的流程图。如图4所示,本实施例的方法包括:
[0070]步骤401、被管理服务器的BMC接收管理服务器发送的功耗采集指令。
[0071]步骤402、被管理服务器的BMC根据该功耗采集指令,采集被管理服务器自身的CPU功耗。
[0072]步骤403、被管理服务器的BMC将被管理服务器的CPU功耗发送给管理服务器,以使管理服务器根据被管理服务器的CPU功耗获得被管理服务器的CPU占用率。
[0073]本实施例是从被管理服务器的角度进行的描述,与上述实施例提供的从管理服务器角度描述的资源占用率获取方法相适应。关于管理服务器根据被管理服务器的CPU功耗获得被管理服务器的CPU占用率的描述可参见上述实施例,在此不再赘述。
[0074]在一可选实施方式中,管理服务器会周期性的向被管理服务器的BMC发送功耗采集指令。基于此,被管理服务器的BMC周期性的接收管理服务器发送的功耗采集指令。
[0075]可选的,在集群处于负载失衡状态的情况下,管理服务器还会向被管理服务器的(PU发送占用率采集指令。相应的,被管理服务器的CPU还会接收管理服务器发送的占用率采集指令,并根据该占用率采集指令采集被管理服务器的CPU占用率。该过程可参见上述实施例,在此不再赘述。
[0076]在本实施例中,被管理服务器与管理服务器相配合,被管理服务器的BMC接收管理服务器发送的功耗采集指令,并由被管理服务器的BMC对被管理服务器的CPU功耗进行采集并返回,使得管理服务器可以对被管理服务器进行带外管理,通过带外通道采集被管理服务器的CPU功耗进而获得被管理服务器的CPU占用率,基于此,被管理服务器的CPU不需要加载操作系统且不需要周期性的运行CPU资源检测脚本,节约了运行CPU资源检测脚本占用的CPU资源,使得在CPU上运行的正常业务可使用更多的CPU资源,有利于提高被管理服务器的业务性能。另外,在本实施例中,被管理服务器的BMC采集到的被管理服务器的CPU功耗通过被管理服务器的带外通道返回给管理服务器,不再通过被管理服务器的带内通道,有利于节约被管理服务器的带内网络带宽,有利于为被管理服务器上带内运行的其他管理业务提供更多的带内网络带宽,有利于减小其他管理业务的时延。
[0077]图5为本发明实施例提供的一种服务器的结构示意图。本实施例的服务器可作为上述方法实施例中的管理服务器,如图5所示,本实施例的服务器包括:发送模块51、接收模块52和获得模块53。
[0078]发送模块51,用于向被管理服务器的BMC发送功耗采集指令,以使被管理服务器的BMC采集被管理服务器的CPU功耗。
[0079]接收模块52,与发送模块51连接,用于在发送模块51向被管理服务器的BMC发送功耗采集指令之后,接收被管理服务器的BMC返回的被管理服务器的CPU功耗。
[0080]获得模块53,与接收模块52连接,用于根据接收模块52接收到的被管理服务器的CPU功耗,获得被管理服务器的CPU占用率。
[0081]在一可选实施方式中,本实施例的服务器还包括BMC。发送模块51具体可用于控制本实施例服务器的BMC通过带外通道向被管理服务器的BMC发送功耗采集指令,以使被管理服务器的BMC采集被管理服务器的CPU功耗。
[0082]在一可选实施方式中,发送模块51具体可用于周期性的向被管理服务器的BMC发送功耗采集指令,以使被管理服务器的BMC周期性的采集被管理服务器的CPU功耗。
[0083]基于上述发送模块51周期性的向被管理服务器的BMC发送功耗采集指令的实施方式,本实施例服务器还包括:判断模块54。
[0084]判断模块54,与发送模块51连接,用于在发送模块51向被管理服务器的BMC发送功耗采集指令之前,根据当前周期之前至少一个周期内获得的被管理服务器的CPU占用率,确定在当前周期是否向被管理服务器的BMC发送功耗采集指令,并在确定在当前周期向被管理服务器的BMC发送功耗采集指令时,触发发送模块51向被管理服务器的BMC发送功耗采集指令。[0085]进一步,本实施例的发送模块51还用于在判断模块54确定在当前周期不向被管理服务器的BMC发送功耗采集指令时,在当前周期向被管理服务器的CPU发送占用率采集指令,以使被管理服务器的CPU采集并返回被管理服务器的CPU占用率。
[0086]可选的,判断模块54具体可用于根据当前周期的前一个周期内获得的被管理服务器的CPU占用率计算资源失衡率,判断资源失衡率是否大于预设的资源失衡率阈值,并在资源失衡率大于资源失衡率阈值时,确定在当前周期不向被管理服务器的BMC发送功耗采集指令,在资源失衡率小于或等于资源失衡率阈值时,确定在当前周期向被管理服务器的BMC发送功耗采集指令。
[0087]可选的,获得模块53具体可用于查询预设的CPU功耗与CPU占用率映射关系,获得被管理服务器的CPU功耗对应的CPU占用率。或者,
[0088]获得模块53具体可用于将被管理服务器的CPU功耗与被管理服务器的CPU额定功耗相除,获得被管理服务器的CPU占用率。
[0089]在此说明,上述发送模块51、接收模块52和获得模块53可以集成在本实施例服务器的CPU中实现。
[0090]本实施例提供的服务器的各功能模块可用于执行上述资源占用率获取方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
[0091]本实施例提供的服务器作为管理服务器,向被管理服务的BMC发送功耗采集指令,由被管理服务器的BMC对被管理服务器的CPU功耗进行采集并返回,实现了对被管理服务器的带外管理,通过带外通道采集被管理服务器的CPU功耗进而获得被管理服务器的CPU占用率,被管理服务器的CPU不需要加载操作系统且不需要周期性的运行CPU资源检测脚本,节约了运行CPU资源检测脚本占用的CPU资源,使得在CPU上运行的正常业务可使用更多的CPU资源,有利于提高被管理服务器的业务性能。另外,在本实施例中,被管理服务器的BMC采集到的被管理服务器的CPU功耗是通过被管理服务器的带外通道返回给管理服务器,不再通过带内通道,有利于节约被管理服务器的带内网络带宽,有利于为被管理服务器上带内运行的其他管理业务提供更多的带内网络带宽,有利于减小其他管理业务的时延。
[0092]图6为本发明实施例提供的另一种服务器的结构示意图。本实施例的服务器可作为上述方法实施例中的管理服务器,如图6所示,本实施例的服务器包括:处理器61、存储器62、通信接口 63和总线64。处理器61、存储器62和通信接口 63通过总线64相互连接并实现相互间的通信。总线64可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为 EISA)总线等。总线 64可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表不仅有一根总线或一种类型的总线。其中:
[0093]存储器62,用于存放程序。具体地,所述程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0094]存储器62可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0095]通信接口 63,用于向被管理服务器的BMC发送功耗采集指令,以使被管理服务器的BMC采集被管理服务器的CPU功耗,以及接收被管理服务器的BMC返回的被管理服务器的CPU功耗。
[0096]处理器61,用于执行所述程序,以用于根据通信接口 63接收的被管理服务器的CPU功耗,获得被管理服务器的CPU占用率。
[0097]处理器61可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0098]通信接口 63,用于在处理器61的控制下收发本实施例的服务器与被管理服务器之间的其他数据。
[0099]本实施例提供的服务器可用于执行上述资源占用率获取方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
[0100]本实施例提供的服务器作为管理服务器,向被管理服务的BMC发送功耗采集指令,由被管理服务器的BMC对被管理服务器的CPU功耗进行采集并返回,实现了对被管理服务器的带外管理,通过带外通道采集被管理服务器的CPU功耗进而获得被管理服务器的CPU占用率,被管理服务器的CPU不需要加载操作系统且不需要周期性的运行CPU资源检测脚本,节约了运行CPU资源检测脚本占用的CPU资源,使得在CPU上运行的正常业务可使用更多的CPU资源,有利于提高被管理服务器的业务性能。另外,在本实施例中,被管理服务器的BMC采集到的被管理服务器的CPU功耗是通过被管理服务器的带外通道返回给管理服务器,不再通过带内通道,有利于节约被管理服务器的带内网络带宽,有利于为被管理服务器上带内运行的其他管理业务提供更多的带内网络带宽,有利于减小其他管理业务的时延。
[0101]图7为本发明实施例提供的一种服务器的结构示意图。本实施例的服务器可作为上述方法实施例中的被管理服务器实现,如图7所示,本实施例的服务器包括:BMC ;所述BMC包括:接收模块71、采集模块72和发送模块73。
[0102]接收模块71,用于接收管理服务器发送的功耗采集指令。
[0103]采集模块72,与接收模块71连接,用于根据接收模块71接收到的功耗采集指令,采集本实施例服务器的CPU功耗。
[0104]发送模块73,与采集模块72连接,用于将采集模块72采集到的本实施例服务器的CPU功耗发送给管理服务器,以使管理服务器根据本实施例服务器的CPU功耗获得本实施例服务器的CPU占用率。
[0105]在一可选实施方式中,接收模块71具体可用于器周期性的接收管理服务器发送的功耗采集指令。
[0106]本实施例提供的服务器的各功能模块可用于执行上述资源占用率提供方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
[0107]本实施例提供的服务器作为被管理服务器,与上述实施例提供的作为管理服务器的服务器相配合,通过其BMC接收管理服务器发送的功耗采集指令,并通过其BMC对被管理服务器的CPU功耗进行采集并返回,使得管理服务器可以对被管理服务器进行带外管理,通过带外通道采集被管理服务器的CPU功耗进而获得被管理服务器的CPU占用率,基于此,本实施例被管理服务器的CPU不需要加载操作系统且不需要周期性的运行CPU资源检测脚本,节约了运行CPU资源检测脚本占用的CPU资源,使得在CPU上运行的正常业务可使用更多的CPU资源,有利于提高被管理服务器的业务性能。另外,本实施例的被管理服务器的BMC采集到的被管理服务器的CPU功耗通过被管理服务器的带外通道返回给管理服务器,不再通过被管理服务器的带内通道,有利于节约被管理服务器的带内网络带宽,有利于为被管理服务器上带内运行的其他管理业务提供更多的带内网络带宽,有利于减小其他管理业务的时延。
[0108]图8为本发明实施例提供的另一服务器的结构示意图。本实施例的服务器可作为上述方法实施例中的被管理服务器实现,如图8所示,本实施例的服务器包括:BMC ;所述BMC包括:处理器81、存储器82、通信接口 83和总线84。处理器81、存储器82和通信接口83通过总线84相互连接并实现相互间的通信。总线84可以是ISA总线、PCI总线或EISA总线等。总线84可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
[0109]存储器82,用于存放程序。具体地,所述程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0110]存储器82可能包含高速RAM存储器,也可能还包括非易失性存储器(non-vo latile memory ),例如至少一个磁盘存储器。
[0111]通信接口 83,用于接收管理服务器发送的功耗采集指令,并将处理器81采集到的本实施例服务器的CPU功耗发送给管理服务器,以使管理服务器根据本实施例服务器的CPU功耗获得本实施例服务器的CPU占用率。
[0112]处理器81,用于执行所述程序,以用于根据通信接口 83接收到的功耗采集指令,采集本实施例服务器的CPU功耗,并将采集到的本实施例服务器的CPU功耗提供给通信接Π 83。
[0113]处理器81可能是一个CPU,或者是特定ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
[0114]本实施例提供的服务器可用于执行上述资源占用率提供方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
[0115]本实施例提供的服务器作为被管理服务器,与上述实施例提供的可作为管理服务器的服务器相配合,通过其BMC接收管理服务器发送的功耗采集指令,并通过其BMC对被管理服务器的CPU功耗进行采集并返回,使得管理服务器可以对被管理服务器进行带外管理,通过带外通道采集被管理服务器的CPU功耗进而获得被管理服务器的CPU占用率,基于此,本实施例被管理服务器的CPU不需要加载操作系统且不需要周期性的运行CPU资源检测脚本,节约了运行CPU资源检测脚本占用的CPU资源,使得在CPU上运行的正常业务可使用更多的CPU资源,有利于提高被管理服务器的业务性能。另外,本实施例的被管理服务器的BMC采集到的被管理服务器的CPU功耗通过被管理服务器的带外通道返回给管理服务器,不再通过被管理服务器的带内通道,有利于节约被管理服务器的带内网络带宽,有利于为被管理服务器上带内运行的其他管理业务提供更多的带内网络带宽,有利于减小其他管理业务的时延。
[0116]本发明实施例提供一种资源占用率获取系统,包括管理服务器和至少一个被管理服务器。其中,管理服务器可以是图5或图6所示实施例提供的服务器,其结构和工作原理在此不再赘述,可参见前述实施例;被管理服务器可以是图7或图8所示实施例提供的服务器,其结构和工作原理在此不再赘述,可参见前述实施例。管理服务器与被管理服务器相互配合,管理服务器既可以获取被管理服务器的CPU占用率,又可以节约被管理服务器因运行资源检测脚本占用的CPU资源,使得在被管理服务器的CPU上运行的正常业务可使用更多的CPU资源,有利于提高被管理服务器的业务性能。
[0117]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0118]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种资源占用率获取方法,其特征在于,包括: 管理服务器向被管理服务器的板载管理中心BMC发送功耗采集指令,以使所述被管理服务器的BMC采集所述被管理服务器的CPU功耗; 所述管理服务器接收所述被管理服务器的BMC返回的所述被管理服务器的CPU功耗; 所述管理服务器根据所述被管理服务器的CPU功耗,获得所述被管理服务器的CPU占用率。
2.根据权利要求1所述的资源占用率获取方法,其特征在于,所述管理服务器向被管理服务器的板载管理中心BMC发送功耗采集指令,以使所述被管理服务器的BMC采集所述被管理服务器的CPU功耗包括: 所述管理服务器周期性的向所述被管理服务器的BMC发送所述功耗采集指令,以使所述被管理服务器的BMC周期性的采集所述被管理服务器的CPU功耗。
3.根据权利要求2所述的资源占用率获取方法,其特征在于,所述管理服务器周期性的向所述被管理服务器的BMC发送所述功耗采集指令,以使所述被管理服务器的BMC周期性的采集所述被管理服务器的CPU功耗之前包括: 所述管理服务器根据当前周期之前至少一个周期内获得的所述被管理服务器的CPU占用率,确定在当前周期是否向所述被管理服务器的BMC发送所述功耗采集指令; 如果确定在当前周期向所述被管理服务器的BMC发送所述功耗采集指令,则所述管理服务器在当前周期执行向所述被管理服务器的BMC发送功耗采集指令,以使所述被管理服务器的BMC采集所述被管理服务器的CPU功耗的操作。·
4.根据权利要求3所述的资源占用率获取方法,其特征在于,还包括: 如果确定在当前周期不向所述被管理服务器的BMC发送所述功耗采集指令,所述管理服务器在当前周期向所述被管理服务器的CPU发送占用率采集指令,以使所述被管理服务器的CPU采集并返回所述被管理服务器的CPU占用率。
5.根据权利要求3或4所述的资源占用率获取方法,其特征在于,所述管理服务器根据当前周期之前至少一个周期内获得的所述被管理服务器的CPU占用率,确定在当前周期是否向所述被管理服务器的BMC发送所述功耗采集指令包括: 所述管理服务器根据当前周期的前一个周期内获得的所述被管理服务器的CPU占用率计算资源失衡率; 所述管理服务器判断所述资源失衡率是否大于预设的资源失衡率阈值; 如果判断结果为所述资源失衡率大于所述资源失衡率阈值,所述管理服务器确定在当前周期不向所述被管理服务器的BMC发送所述功耗采集指令; 如果判断结果为所述资源失衡率小于或等于所述资源失衡率阈值,所述管理服务器确定在当前周期向所述被管理服务器的BMC发送所述功耗采集指令。
6.根据权利要求1-5任一项所述的资源占用率获取方法,其特征在于,所述管理服务器根据所述被管理服务器的CPU功耗,获得所述被管理服务器的CPU占用率包括: 所述管理服务器查询预设的CPU功耗与CPU占用率映射关系,获得所述被管理服务器的CPU功耗对应的CPU占用率;或者 所述管理服务器将所述被管理服务器的CPU功耗与所述被管理服务器的CPU额定功耗相除,获得所述被管理服务器的CPU占用率。
7.一种资源占用率提供方法,其特征在于,包括: 被管理服务器的板载管理中心BMC接收管理服务器发送的功耗采集指令; 所述被管理服务器的BMC根据所述功耗采集指令,采集所述被管理服务器的CPU功耗; 所述被管理服务器的BMC将所述被管理服务器的CPU功耗发送给所述管理服务器,以使所述管理服务器根据所述被管理服务器的CPU功耗获得所述被管理服务器的CPU占用率。
8.根据权利要求7所述的资源占用率提供方法,其特征在于,所述被管理服务器的板载管理中心BMC接收管理服务器发送的功耗采集指令包括: 所述被管理服务器的BMC周期性的接收所述管理服务器发送的所述功耗采集指令。
9.一种服务器,其特征在于,包括: 发送模块,用于向被管理服务器的板载管理中心BMC发送功耗采集指令,以使所述被管理服务器的BMC采集所述被管理服务器的CPU功耗; 接收模块,用于接收所述被管理服务器的BMC返回的所述被管理服务器的CPU功耗; 获得模块,用于根据所述被管理服务器的CPU功耗,获得所述被管理服务器的CPU占用率。
10.根据权利要求 9所述的服务器,其特征在于,所述发送模块具体用于周期性的向所述被管理服务器的BMC发送所述功耗采集指令,以使所述被管理服务器的BMC周期性的采集所述被管理服务器的CPU功耗。
11.根据权利要求10所述的服务器,其特征在于,还包括: 判断模块,用于在所述发送模块向所述被管理服务器的BMC发送所述功耗采集指令之前,根据当前周期之前至少一个周期内获得的所述被管理服务器的CPU占用率,确定在当前周期是否向所述被管理服务器的BMC发送所述功耗采集指令,并在确定在当前周期向所述被管理服务器的BMC发送所述功耗采集指令时,触发所述发送模块向所述被管理服务器的BMC发送所述功耗采集指令。
12.根据权利要求11所述的服务器,其特征在于,所述发送模块还用于在所述判断模块确定在当前周期不向所述被管理服务器的BMC发送所述功耗采集指令时,在当前周期向所述被管理服务器的CPU发送占用率采集指令,以使所述被管理服务器的CPU采集并返回所述被管理服务器的CPU占用率。
13.根据权利要求11或12所述的服务器,其特征在于,所述判断模块具体用于根据当前周期的前一个周期内获得的所述被管理服务器的CPU占用率计算资源失衡率,判断所述资源失衡率是否大于预设的资源失衡率阈值,并在所述资源失衡率大于所述资源失衡率阈值时,确定在当前周期不向所述被管理服务器的BMC发送所述功耗采集指令,在所述资源失衡率小于或等于所述资源失衡率阈值时,确定在当前周期向所述被管理服务器的BMC发送所述功耗采集指令。
14.根据权利要求9-13任一项所述的服务器,其特征在于,所述获得模块具体用于查询预设的CPU功耗与CPU占用率映射关系,获得所述被管理服务器的CPU功耗对应的CPU占用率;或者 所述获得模块具体用于将所述被管理服务器的CPU功耗与所述被管理服务器的CPU额定功耗相除,获得所述被管理服务器的CPU占用率。
15.—种服务器,其特征在于,包括:板载管理中心BMC ; 所述BMC包括: 接收模块,用于接收管理服务器发送的功耗采集指令; 采集模块,用于根据所述功耗采集指令,采集所述服务器的CPU功耗; 发送模块,用于将所述服务器的CPU功耗发送给所述管理服务器,以使所述管理服务器根据所述服务器的CPU功耗获得所述服务器的CPU占用率。
16.根据权利要求15所述的服务器,其特征在于,所述接收模块具体用于器周期性的接收所述管理服务器发送的所述功耗采集指令。
17.一种资源占用率获取系统,其特征在于,包括权利要求9-14任一项所述的服务器和权利要求15-16任一项所·述服务器。
【文档编号】H04L12/24GK103856337SQ201210494690
【公开日】2014年6月11日 申请日期:2012年11月28日 优先权日:2012年11月28日
【发明者】任鹏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1