专利名称:基于多节点微服务器的电源管理系统及微服务器的制作方法
技术领域:
本发明涉及服务器设计和管理领域,特别涉及一种基于多节点微服务器的电源管理系统及微服务器。
背景技术:
目前,传统的 X86 平台内使用 ACPI (Advanced Configuration and Powermanagement Interface,高级配置和电源管理接口)对服务器电源进行管理,这种方法只适用于X86平台,无法在其他异构平台上使用,带外使用BMC (Baseboard ManagementController,基板管理控制器)芯片通过ICMB (Iner-Chassis Management Bus,内部管理总线)总线对机箱电源进行管理,每个节点都需要一个BMC芯片进行管理,例如:现有的2U4服务器,带外需要4块BMC芯片对电源进行管理,如图5所示。现有技术存在以下缺点,现有基于X86的2U4、2U6和2U8等多节点电源管理方法,带内使用ACPI进行电源管理,只能用于X86平台,无法在其他异构平台中使用,例如,MIPS、ARM、或者Tilera等异构平台;带外使用BMC芯片进行电源管理,每个节点都需要使用一块BMC芯片,无疑会造成资源的严重浪费,造成成本和能耗的上升;节点之间的电源管理相互独立,无法针对多节 点的部署安全的电源管理策略,如果一个机柜中大量机器同时上电,可能造成机柜的瞬时电流过大,造成极大的安全隐患。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。为此,本发明的第一个目的在于提出一种基于多节点微服务器的电源管理系统,该系统使用带内和带外相结合的方式对多节点微服务器的电源进行管理,在保证多节点微服务器的电源运行安全性的同时,又能提高多节点微服务器的电源管理效率,且具有简捷性与易用性。本发明的第二个目的在于提出了一种微服务器。为了实现上述目的,本发明第一方面的实施例提供一种基于多节点微服务器的电源管理系统,包括:多个微服务器,其中,每个微服务器包括通用输入/输出GPIO接口;电源管理总线,所述电源管理总线与每个所述微服务器相连;带外管理芯片,所述带外管理芯片与每个微服务器的GPIO接口相连,且与所述电源管理总线相连,所述带外管理芯片用于向一个或多个所述微服务器发送电源控制指令,并通过所述电源管理总线控制每个所述微服务器的电源。根据本发明实施例的基于多节点微服务器的电源管理系统,多个微服务器的电源控制命令都会先传给带外管理芯片,带外管理芯片再通过通用输入/输出接口和多个微服务器通信,继而通过电源管理总线控制多个微服务器的电源,每个微服务器中都会有一个预设的驱动程序响应来自带外管理芯片,通过通用输入/输出接口输入的电源控制指令,在收到带外管理芯片输入的电源控制指令时,对多个微服务器执行对应的控制动作。该系统使用带内和带外相结合的方式对多节点微服务器的电源进行管理,在保证多节点微服务器的电源运行安全性的同时,又能提高多节点微服务器的电源管理效率,且具有简捷性与易用性。在本发明的一个实施例中,所述带外管理芯片向一个或多个所述微服务器的GPIO接口发送所述电源控制指令,所述一个或多个微服务器通过所述GPIO接口接收所述电源控制指令,并在所述电源管理总线的控制下根据所述电源控制指令执行对应的控制动作。由此,提高了带外管理芯片控制多个微服务器执行对应的控制动作的准确性与易用性。在本发明的一个实施例中,所述控制动作包括开机、软关机、硬关机和上电自启动中的一种或多种。由此,提高了控制动作的多样性。为了实现上述目的,本发明第二方面的实施例提供一种微服务器,包括:接收模块,用于接收所述带外管理芯片发送的所述电源控制指令;分析模块,用于分析所述带外管理芯片发送的所述电源控制指令的类型;执行模块,用于通过预设的驱动程序执行所述电源控制指令对应的控制动作。 根据本发明实施例的微服务器,多个微服务器的电源控制命令都会先传给带外管理芯片,带外管理芯片再通过通用输入/输出接口和多个微服务器通信,继而通过电源管理总线控制多个微服务器的电源,每个微服务器中都会有一个预设的驱动程序响应来自带外管理芯片,通过通用输入/输出接口输入的电源控制指令,在收到带外管理芯片输入的电源控制指令时,对多个微服务器执行对应的控制动作。该微服务器使用带内和带外相结合的方式对多节点微服务器的电源进行管理,在保证多节点微服务器电源的运行安全性的同时,又能提高多节点微服务器的电源管理效率,且具有简捷性与易用性。在本发明的一个实施例中,所述电源控制指令的类型包括:开机指令、软关机指令、硬关机指令和上电自启动指令中的一种或多种。由此,提高了电源控制指令的多样性。在本发明 的一个实施例中,所述上电自启动包括整机箱上电和节点插拔。由此,提高了上电自启动的多样性。在本发明的一个实施例中,所述接收模块为通用输入/输出GPIO接口。由此,提高了接收模块的易用性。本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明实施例的基于多节点微服务器的电源管理系统的结构示意图;图2为根据本发明实施例的节点电源开关的流程图;图3为根据本发明另一实施例的节点电源开关的流程图;图4为根据本发明实施例的微服务器的结构示意图;以及图5为现有技术中的2U4服务器,带外需要4块BMC芯片对电源进行管理图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。图1为根据本发明实施例的基于多节点微服务器的电源管理系统的结构示意图;如图1所示,基于多节点微服务器的电源管理系统100,包括:多个微服务器110、电源管理总线120和带外管理芯片130。具体地,多个微服务器110,其中,每个微服务器110包括通用输入/输出GPIO接口 ;电源管理总线120与每个微服务器110相连;带外管理芯片130与每个微服务器110的GPIO接口相连,且与电源管理总线120相连,带外管理芯片130用于向一个或多个微服务器110发送电源控制指令, 并通过电源管理总线120控制每个微服务器110的电源。进一步地,带外管理芯片130向一个或多个微服务器110的GPIO接口发送电源控制指令,一个或多个微服务器110通过GPIO接口接收电源控制指令,并在电源管理总线120的控制下根据电源控制指令执行对应的控制动作。在本发明的一个实施例中,控制动作包括开机、软关机、硬关机和上电自启动中的一种或多种。由此,提高了控制动作的多样性。根据本发明实施例的基于多节点微服务器的电源管理系统,多个微服务器的电源控制命令都会先传给带外管理芯片,带外管理芯片再通过通用输入/输出接口和多个微服务器通信,继而通过电源管理总线控制多个微服务器的电源,每个微服务器中都会有一个预设的驱动程序响应来自带外管理芯片,通过通用输入/输出接口输入的电源控制指令,在收到带外管理芯片输入的电源控制指令时,对多个微服务器执行对应的控制动作。该系统使用带内和带外相结合的方式对多节点微服务器的电源进行管理,在保证多节点微服务器的电源运行安全性的同时,又能提高多节点微服务器的电源管理效率,且具有简捷性与易用性。图2为根据本发明实施例的多节点微服务器的电源开关的流程图;如图2所示,多节点微服务器的电源开机流程图,步骤如下:
步骤S201,触发一个电源按钮事件。具体地,当触发多节点微服务器的开机按钮时,会通过GPIO向带外管理芯片发送该多节点微服务器的开机控制指令。步骤S202,判断按键时间是否小于4s,且多节点微服务器的电源是否开启。具体地,带外管理芯片收到开机按钮的GPIO控制指令后,会检查该多节点微服务器的电源状态,如果是开启状态,则什么都不做,推出本次响应,如果电源状态是未开启的,则会等待l_5s的时间,然后使能多节点微服务器的电源,目的是为了避免恶意操作的情况下导致机器大规模上电的情况发生。步骤S203,如果按键时间小于4s,且多节点微服务器的电源未开启,则打开多节点微服务器的电源。步骤S204,闪烁电源指示灯,其中,当多节点微服务器的电源管理系统未完全启动时,电源指示灯会闪烁;当完全进入多节点微服务器的电源管理系统工作状态后,电源指示灯长亮,方便工程师 现场运维。步骤S205,判断多节点微服务器的电源管理系统是否启动。步骤S206,如果多节点微服务器的电源管理系统为启动状态,则点亮电源指示灯;如果多节点微服务器的电源管理系统不为启动状态,则返回步骤S204。步骤S207,如果按键时间小于4s,但多节点微服务器的电源已开启,则退出。图3为根据本发明另一实施例的多节点微服务器的电源开关的流程图;如图3所示,多节点微服务器的电源关机流程图,步骤如下:步骤S301,触发一个电源按钮事件。具体地,当按住开机按钮4s后,带外管理芯片会收到该多节点微服务器的关机控制指令。步骤S302,判断按键时间是否小于4s,且多节点微服务器的电源是否开启。步骤S303,如果按键时间大于4s,且多节点微服务器的电源开启,则点亮电源指示灯。步骤S304,向多节点微服务器发送关机控制指令。具体地,当带外管理芯片会收到该多节点微服务器的关机控制指令,这时会去检查该多节点微服务器的电源状态,如果电源处于关闭状态,则什么都不做完成该响应,如果电源处于开启状态,则会给多节点微服务器一个软关机指令,多节点微服务器在收到此控制指令后执行正常的关机操作。步骤S305,判断关机是否完成。步骤S306,判断如果关机完成,则关闭多节点微服务器的电源。步骤S307,判断如果关机未完成,进入判断操作次数是否小于5次,如果关机的操作次数小于5次,则执行步骤S306 ;如果关机的操作次数不小于5次,则执行步骤S304。进一步地,在多节点微服务器收到控制指令后执行正常的关机操作完成后,会返回一个ACK (Acknowledge,确认字符)信号,带外管理芯片在收到ACK信号后,给节点断电,如果IOs后未收到节点的ACK信号,会再向多节点微服务器发送一次关机控制指令,当重复5次都没有回应时,则认为多节点微服务器系统已经故障无法响应关机控制指令,会执行硬关机指令,即自动关闭多节点微服务器的电源。
图4为根据本发明实施例的微服务器的结构示意图。如图4所示,微服务器400,包括以下模块:接收模块410、分析模块420和执行模块 430。具体地,接收模块410接收带外管理芯片发送的电源控制指令,其中,接收模块为通用输入/输出GPIO接口 ;再通过分析模块420分析带外管理芯片发送的电源控制指令的类型;最后通过执行模块430通过预设的驱动程序执行电源控制指令对应的控制动作。在本发明的一个实施例中,电源控制指令的类型包括:开机指令、软关机指令、硬关机指令和上电自启动指令中的一种或多种,其中,上电自启动包括整机箱上电和节点插拔。由此,提高了电源控制指令的多样性与易用性。根据本发明实施例的微服务器,多个微服务器的电源控制命令都会先传给带外管理芯片,带外管理芯片再通过通用输入/输出接口和多个微服务器通信,继而通过电源管理总线控制多个微服务器的电源,每个微服务器中都会有一个预设的驱动程序响应来自带外管理芯片,通过通用输入/输出接口输入的电源控制指令,在收到带外管理芯片输入的电源控制指令时,对多个微服务器执行对应的控制动作。该微服务器使用带内和带外相结合的方式对多节点微服务器的电源进行管理,在保证多节点微服务器电源的运行安全性的同时,又能提高多节点微服务器的电源管理效率,且具有简捷性与易用性。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置 或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(R0M),可擦除可编辑只读存储器(EPR0M或闪速存储器),光纤装置,以及便携式光盘只读存储器(⑶ROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例 ”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
权利要求
1.一种基于多节点微服务器的电源管理系统,其特征在于,包括: 多个微服务器,其中,每个微服务器包括通用输入/输出GPIO接口 ; 电源管理总线,所述电源管理总线与每个所述微服务器相连; 带外管理芯片,所述带外管理芯片与每个微服务器的GPIO接口相连,且与所述电源管理总线相连,所述带外管理芯片用于向一个或多个所述微服务器发送电源控制指令,并通过所述电源管理总线控制每个所述微服务器的电源。
2.如权利要求1所述的系统,其特征在于,所述带外管理芯片向一个或多个所述微服务器的GPIO接口发送所述电源控制指令,所述一个或多个微服务器通过所述GPIO接口接收所述电源控制指令,并在所述电源管理总线的控制下根据所述电源控制指令执行对应的控制动作。
3.如权利要求2所述的系统,其特征在于,所述控制动作包括开机、软关机、硬关机和上电自启动中的一种或多种。
4.一种微服务器,其特征在于,包括: 接收模块,用于接收所述带外管理芯片发送的所述电源控制指令; 分析模块,用于分析所述带外管理芯片发送的所述电源控制指令的类型; 执行模块,用于通过预设的驱动程序执行所述电源控制指令对应的控制动作。
5.如权利要求4所述的微服务器,其特征在于,所述电源控制指令的类型包括:开机指令、软关机指令、硬关机指令和上电自启动指令中的一种或多种。
6.如权利要求5所述的微服务器,其特征在在于,所述上电自启动包括整机箱上电和节点插拔。
7.如权利要求4所述的微服务器,其特征在于,所述接收模块为通用输入/输出GPIO接口。
全文摘要
本发明提出了一种基于多节点微服务器的电源管理系统,包括多个微服务器,其中,每个微服务器包括通用输入/输出GPIO接口;电源管理总线与每个微服务器相连;带外管理芯片与每个微服务器的GPIO接口相连,且与电源管理总线相连,带外管理芯片用于向一个或多个微服务器发送电源控制指令,并通过电源管理总线控制每个微服务器的电源。本系统使用带内和带外相结合的方式对多节点微服务器的电源进行管理,在保证多节点微服务器的电源运行安全性的同时,又能提高多节点微服务器的电源管理效率,且具有简捷性与易用性。本发明还提出了一种微服务器。
文档编号G06F1/26GK103218030SQ201310150929
公开日2013年7月24日 申请日期2013年4月26日 优先权日2013年4月26日
发明者冯守强, 王志谦, 张永肃, 胡娜, 高冠宇, 魏伟 申请人:北京百度网讯科技有限公司