基于BMC的服务器电源冷冗余控制方法、装置及BMC与流程

文档序号:18474920发布日期:2019-08-20 20:53阅读:434来源:国知局
基于BMC的服务器电源冷冗余控制方法、装置及BMC与流程

本发明涉及计算机技术领域,特别涉及一种基于bmc的服务器电源冷冗余控制方法、装置、bmc及服务器。



背景技术:

随着现代社会科技的发展,服务器的应用越来越广泛。随着服务器中处理器(cpu,如x86处理器)处理能力的增强,处理器的功率不断增大,同时人工智能的应用场景越来越多,对加速卡的规格需求明显增多,造成服务器整机系统的功耗越来越高,而服务器单个电源功率的增大速度跟不上服务器整机系统的增加速度,造成了单电源无法满足服务器整机系统的供电要求,尤其是四子星等多节点服务器系统,对电源供电要求更高,必须使用双电源供电或更多电源。

这就使得服务器在系统规格上不能满足电源冷冗余的要求,所谓电源冷冗余,如在双电源配置供电时,支持1+1电源冷冗余,可以允许一个电源停止供电输出,只保留1个电源供电来满足整个系统的供电要求。

现有技术中,针对电源冷冗余规格的要求的传统方法,往往是通过限定服务器系统的配置,选择低功耗的cpu,减少硬盘和加速卡的配置数量来满足要求;而对于高功耗cpu和高配置服务器系统,往往是出于对高功率电源设计难度和成本的考虑,选择性的放弃电源冷冗余规格的要求。这样就造成了无法满足客户(用户)需求规格的要求,影响市场销售,尤其是在客户应用过程中,一个电源的损坏或者异常往往造成整个服务器业务系统掉电,影响客户业务运营,造成客户业务损失。

因此,如何能够提供一种服务器电源冷冗余控制方法,满足高配置服务器应用中客户对电源冷冗余的规格需求,且降低电源设计的复杂度和电源成本,是现今急需解决的问题。



技术实现要素:

本发明的目的是提供一种基于bmc的服务器电源冷冗余控制方法、装置、bmc及服务器,以满足高配置服务器应用中客户对电源冷冗余的规格需求,降低电源设计的复杂度和电源成本。

为解决上述技术问题,本发明提供一种基于bmc的服务器电源冷冗余控制方法,包括:

bmc检测为服务器供电的n个电源的状态信息;其中,所述状态信息包括告警信息和在位信息,n为大于或等于2的正整数;

检测到m个所述电源存在告警事件或在位丢失事件时,控制cpu节流保护pin触发所述服务器中的cpu降频;其中,m为小于n的正整数;

控制所述cpu或系统节点管理控制器,限定所述服务器的整机系统功耗不超过预设功耗值,并解除对所述cpu节流保护pin的控制;其中,所述预设功耗值不大于n个所述电源的总额定功率与m个所述电源的总额定功率之差。

可选的,所述控制所述cpu或系统节点管理控制器,限定所述服务器的整机系统功耗不超过预设功耗值,包括:

控制所述cpu或所述系统节点管理控制器进行powercapping操作;其中,所述powercapping操作限定的功耗值为所述预设功耗值。

可选的,所述控制所述cpu或所述系统节点管理控制器进行powercapping操作,包括:

通过peci访问所述cpu进行所述powercapping操作;

或者通过i2c访问所述系统节点管理控制器进行所述powercapping操作。

可选的,所述bmc检测为服务器供电的n个电源的状态信息,包括:

通过中断处理检测每个所述电源对应的电源告警信号和电源在位信号。

可选的,n为2时,所述检测到m个所述电源存在告警事件或在位丢失事件时,控制cpu节流保护pin触发所述服务器中的cpu降频,包括:

判断是否有任一所述电源存在告警事件或在位丢失事件;

若是,则控制所述cpu节流保护pin触发所述cpu降频。

可选的,每个所述电源的额定功率相同时,所述预设功耗值为所述电源的额定功率的95%。

本发明还提供了一种基于bmc的服务器电源冷冗余控制装置,包括:

检测模块,用于检测为服务器供电的n个电源的状态信息;其中,所述状态信息包括告警信息和在位信息,n为大于或等于2的正整数;

硬逻辑控制模块,用于检测到m个所述电源存在告警事件或在位丢失事件时,控制cpu节流保护pin触发所述服务器中的cpu降频;其中,m为小于n的正整数;

软逻辑控制模块,用于控制所述cpu或系统节点管理控制器,限定所述服务器的整机系统功耗不超过预设功耗值,并解除对所述cpu节流保护pin的控制;其中,所述预设功耗值不大于n个所述电源的总额定功率与m个所述电源的总额定功率之差。

本发明还提供了一种bmc,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述基于bmc的服务器电源冷冗余控制方法的步骤。

此外,本发明还提供了一种服务器,包括:

如上一项所述的bmc;

与所述bmc连接的电源、cpu和系统节点管理控制器;其中,所述cpu的cpu节流保护pin与所述bmc连接。

可选的,每个所述cpu通过peci与所述bmc连接,所述系统节点管理控制器通过i2c与所述bmc连接。

本发明所提供的一种基于bmc的服务器电源冷冗余控制方法,包括:bmc检测为服务器供电的n个电源的状态信息;检测到m个电源存在告警事件或在位丢失事件时,控制cpu节流保护pin触发服务器中的cpu降频;其中,m为小于n的正整数;控制cpu或系统节点管理控制器,限定服务器的整机系统功耗不超过预设功耗值,并解除对cpu节流保护pin的控制;

可见,本发明中bmc控制cpu节流保护pin触发cpu降频快速降低整机系统功耗,避免因冗余电源输出异常造成的系统功耗过载;并且bmc通过控制cpu或系统节点管理控制器限定整机系统功耗不超过预设功耗值,实现了服务器电源冷冗余的控制,满足了高配置服务器应用中客户对电源冷冗余的规格需求,提升了用户体验,降低了电源设计的复杂度和电源成本。此外,本发明还提供了一种基于bmc的服务器电源冷冗余控制装置、bmc及服务器,同样具有上述有益效果。

附图说明

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

图1为本发明实施例所提供的一种基于bmc的服务器电源冷冗余控制方法的流程图;

图2为本发明实施例所提供的一种服务器的结构示意图;

图3为本发明实施例所提供的一种基于bmc的服务器电源冷冗余控制装置的结构框图。

具体实施方式

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

请参考图1,图1为本发明实施例所提供的一种基于bmc的服务器电源冷冗余控制方法的流程图。该方法可以包括:

步骤101:bmc检测为服务器供电的n个电源的状态信息;其中,状态信息包括告警信息和在位信息,n为大于或等于2的正整数。

可以理解的是,本步骤的目的可以为bmc(baseboardmanagementcontroller,服务器管理控制单元)中的处理器(如微控制器)通过检测为服务器供电的全部(n个)电源的状态信息,以确定n个电源中是否存在发生告警事件或在位丢失事件的电源,从而n个电源是否均能正常为服务器供电。

对应的,本步骤中的状态信息可以为每个电源的供电状态对应的信息。具体的,对于本步骤中的状态信息的具体内容,可以由设计人员根据实用场景和用户需求自行设置,如可以包括告警信息和在位信息,即bmc在检测到电源发生告警事件或在位丢失事件后,可以确定该电源无法正常为服务器供电;还可以包括其它信息。只要bmc根据检测到的状态信息,确定每个电源是否能正常为服务器供电,本实施例对此不做任何限制。

需要说明的是,对于本步骤中bmc检测为服务器供电的n个电源的状态信息的具体方式,可以由设计人员自行设置,如状态信息包括告警信息和在位信息时,如图2所示,bmc(bmc控制单元)可以通过中断处理检测每个电源对应的电源告警信号(psualert信号)和电源在位信号(psupresent信号),从而确定每个电源的状态信息,即n个电源的psualert信号、psupresent信号连接到bmc。只要bmc可以检测到用于确定每个电源是否能正常为服务器供电的状态信息,本实施例对此不受任何限制。

具体的,对于本步骤中n的具体数值设置,即服务器中供电电源的具体数量设置,可以由设计人员根据实用场景和用户需求自行设置,如n可以设置为2,即服务器采用双电源配置供电;也可以设置为更大数值。本实施例对此不做任何限制。

步骤102:检测到m个电源存在告警事件或在位丢失事件时,控制cpu节流保护pin触发服务器中的cpu降频;其中,m为小于n的正整数。

其中,本步骤中的m可以为n个电源中存在告警事件或在位丢失事件的电源的数量,即无法继续为服务器供电的电源的数量。也就是说,本步骤可以为bmc在检测到n个电源中存在发生告警事件或在位丢失事件的电源时,控制cpu节流保护pin(cputhrottlepin)触发服务器中的cpu(centralprocessingunit,中央处理器)降频;其中,发生告警事件或在位丢失事件的电源的数量为m。

对应的,本步骤中还可以包括判断m的数值是否大于或等于预设数值的步骤,即bmc可以在检测到n个电源中存在发生告警事件或在位丢失事件的电源的数量(m)大于或等于预设数值时,再控制cpu节流保护pin触发服务器中的cpu降频,并进行接下来的步骤,本实施例对此不受任何限制。

可以理解的是,本步骤的目的可以为bmc在检测到n个电源中存在发生告警事件或在位丢失事件的电源时,通过控制cpu节流保护pin触发服务器中的cpu降频,以达到快速降低整机系统功耗的目的,即如图2所示,服务器中的cpu(如x86cpu)的throttlepin(cputhrottlepin)连接到bmc。也就是说,本步骤中bmc通过对cpu节流保护pin施加硬逻辑控制,触发cpu降频,以解决通过cpu或系统节点管理控制器进行软逻辑控制整机系统功耗的启动时间过长,会造成服务器掉电的问题。

具体的,服务器采用双电源配置供电,即n为2时,本步骤可以为判断是否有任一电源存在告警事件或在位丢失事件;若是,则控制cpu节流保护pin触发cpu降频。若服务器中的两个电源均不存在告警事件或在位丢失事件,即两个电源均可以正常供电时,则可以返回步骤101或结束本流程。

步骤103:控制cpu或系统节点管理控制器,限定服务器的整机系统功耗不超过预设功耗值,并解除对cpu节流保护pin的控制;其中,预设功耗值不大于n个电源的总额定功率与m个电源的总额定功率之差。

可以理解的是,本步骤的目的可以为bmc先利用cpu或系统节点管理控制器对整机系统功耗(整机系统电源功耗)进行软逻辑控制,限定整机系统功耗不超过预设功耗值;再释放对cpu节流保护pin的硬逻辑控制,仅保留软逻辑控制整机系统功耗,以达到电源冷冗余的规格要求。

对应的,对于本步骤中bmc控制cpu或系统节点管理控制器,限定服务器的整机系统功耗不超过预设功耗值的具体方式,可以由设计人员自行设置,如bmc可以控制cpu或系统节点管理控制器进行powercapping(系统功耗控制技术,如intelx86系统功耗控制技术)操作,并将powercapping操作限定的功耗值设置为预设功耗值,以限定服务器的整机系统功耗不超过预设功耗值。如图2所示bmc可以通过peci(platformenvironmentcontrolinterface,监控cpu信息的总线)访问cpu或者通过i2c(inter-integratedcircuit,内部信息总线)访问系统节点管理控制器(nodemanager管理单元,如intelx86系统节点管理控制单元)进行powercapping操作。只要本步骤中bmc可以利用cpu或系统节点管理控制器,限定服务器的整机系统功耗不超过预设功耗值,本实施例对此不受任何限制。

需要说明的是,对于本步骤中的预设功耗值的具体数值设置,即上述powercapping操作限定的功耗值的设置,可以由设计人员或用户自行设置,如可以将预设功耗值设置为n个电源的总额定功率(n个电源的额定功率之和)与m个电源的总额定功率之差,也可以为小于n个电源的总额定功率与m个电源的总额定功率之差的数值,例如服务器采用双电源配置供电且两个电源的额定功率相同时,可以将预设功耗值设置为单个电源的额定功率的95%,即powercapping操作限定的功耗值可以以单个电源的额定功率的95%为限定值。只要可以保证预设功耗值的数值不大于n个电源中可以继续为服务器供电的电源的总额定功率,本实施例对此不做任何限制。

具体的,以图2所示的服务器为例,服务器配置2颗高功耗165wcpu,双电源配置,每个电源1200w功率,双gpu配置,每个gpu功耗400w,风扇、硬盘、raid卡等部件共计功耗200w,整系统共计1330w功耗。单电源1200w功率无法满足1330w功耗要求。

首先,bmc(bmc控制单元)可以使用中断处理检测双电源psualert信号和psupresent信号。拔出其中1个电源后,此电源psupresent触发在位丢失信号,bmc监控到psupresent在位丢失信号后,通过cputhrottlepin触发cpu降频,可以将165w功耗降低为50w左右,此时整机系统功耗由1330w降为1100w左右,单电源1200w可以满足整系统供电要求。

其次,bmc控制单元可以通过peci访问cpu或者i2c访问系统节点管理控制器(nodemanager管理单元)的方式进行powercapping操作,将整系统功耗限定到1140w。然后bmc可以释放对cputhrottlepin的硬逻辑控制,仅保留powercapping操作的软逻辑控制整机系统电源功耗,此时整系统功耗运行在1140w,单电源1200w可以满足整系统供电要求,达到了电源冷冗余的规格设计要求。

本实施例中,本发明实施例中bmc控制cpu节流保护pin触发cpu降频快速降低整机系统功耗,避免因冗余电源输出异常造成的系统功耗过载;并且bmc通过控制cpu或系统节点管理控制器限定整机系统功耗不超过预设功耗值,利用bmc电源功耗控制策略实现了服务器电源冷冗余的控制,满足了高配置服务器应用中客户对电源冷冗余的规格需求,提升了用户体验,降低了电源设计的复杂度和电源成本。

请参考图3,图3为本发明实施例所提供的一种基于bmc的服务器电源冷冗余控制装置的结构框图。该装置可以包括:

检测模块100,用于检测为服务器供电的n个电源的状态信息;其中,状态信息包括告警信息和在位信息,n为大于或等于2的正整数;

硬逻辑控制模块200,用于检测到m个电源存在告警事件或在位丢失事件时,控制cpu节流保护pin触发服务器中的cpu降频;其中,m为小于n的正整数;

软逻辑控制模块300,用于控制cpu或系统节点管理控制器,限定服务器的整机系统功耗不超过预设功耗值,并解除对cpu节流保护pin的控制;其中,预设功耗值不大于n个电源的总额定功率与m个电源的总额定功率之差。

可选的,软逻辑控制模块300,可以包括:

软逻辑控制子模块,用于控制cpu或系统节点管理控制器进行powercapping操作;其中,powercapping操作限定的功耗值为预设功耗值。

可选的,软逻辑控制子模块,可以包括:

第一访问控制单元,用于通过peci访问cpu进行powercapping操作;和/或

第二访问控制单元,用于通过i2c访问系统节点管理控制器进行powercapping操作。

可选的,检测模块100,可以包括:

中断检测子单元,用于通过中断处理检测每个电源对应的电源告警信号和电源在位信号。

可选的,n为2时,硬逻辑控制模块200,可以包括:

判断子单元,用于判断是否有任一电源存在告警事件或在位丢失事件;

控制子单元,用于若有任一电源存在告警事件或在位丢失事件,则控制cpu节流保护pin触发cpu降频。

本实施例中,本发明实施例中bmc控制cpu节流保护pin触发cpu降频快速降低整机系统功耗,避免因冗余电源输出异常造成的系统功耗过载;并且bmc通过控制cpu或系统节点管理控制器限定整机系统功耗不超过预设功耗值,利用bmc电源功耗控制策略实现了服务器电源冷冗余的控制,满足了高配置服务器应用中客户对电源冷冗余的规格需求,提升了用户体验,降低了电源设计的复杂度和电源成本。

本发明实施例还提供了一种bmc,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上述实施例所提供的基于bmc的服务器电源冷冗余控制方法的步骤。

此外,本发明实施例还提供了一种服务器,包括:如上一实施例所提供的bmc;与bmc连接的电源、cpu和系统节点管理控制器;其中,cpu的cpu节流保护pin与bmc连接。

可选的,每个cpu通过peci与bmc连接,系统节点管理控制器通过i2c与bmc连接。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、bmc及服务器而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种基于bmc的服务器电源冷冗余控制方法、装置、bmc及服务器进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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