多主板服务器主基板管理控制器仲裁方法及系统的制作方法
【专利摘要】本发明提供一种多主板服务器的主基板管理控制器仲裁方法及系统,所述多主板服务器包括N个用于监控对应主板的BMC,所述主基板管理控制器仲裁方法包括以下步骤:N个BMC的优先等级由高至低的为第一BMC到第NBMC;第一BMC处在正常工作状态时裁定第一BMC为主BMC,并令第二BMC监控所述第一BMC的心跳信号;第一BMC失去心跳信号时,第二BMC成为主BMC,并令第三BMC监控第二BMC及第一BMC的心跳信号;以此类推,当第N-1BMC到第一BMC全部失去心跳信号时,第NBMC成为主BMC。本发明的多主板服务器的BMC仲裁方法,实现了主BMC的自动切换,减少了硬件设计的复杂性,节约了成本。
【专利说明】多主板服务器主基板管理控制器仲裁方法及系统
【技术领域】
[0001]本发明涉及网络通信【技术领域】,特别是涉及一种多主板服务器的主基板管理控制器仲裁方法。
【背景技术】
[0002]随着网络技术的迅速发展,服务器在人们生活中扮演的角色越来越重要。单个的服务器已经不能满足人们的需求,组建具有多个服务器的集群系统显得尤为重要。在构建服务器系统时,影响服务器系统整体运行状态的关键因素主要有电源管理、散热管理等。
[0003]通常在服务器的主板上都有一颗基板管理控制器(baseboard managementcontroller,简称BMC),它是一个专用的芯片,支持智能平台控制接口(IntelligentPlatform Management Interface,IPMI),用来监控计算机主板上的硬件设备的状态,并支持本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除等功能。在某些节点服务器系统中,一个服务器机箱内的服务器会有多块主板,每个主板功能上相对独立,都有各自的CPU,内存,南桥等。每个主板上都会有一颗BMC芯片来对本块主板进行监控、远程管理等功能。
[0004]在整个服务器机箱中,有一些资源是多块主板共用或者共享的,例如,供电模块(Power Supply Unit, PSU)为所有主板提供电源;风扇为所有主板提供散热功能。而供电模块(PSU)也需要由BMC来监控工作状态以及做某些控制,风扇需要由BMC根据机箱内各个温度点的高低来自动控制转速。由于机箱内共有多颗BMC,这就需要一套机制选出一颗主BMC来对这些共享资源进行管理,以防止造成冲突
[0005]现有技术中服务器节点的切换主要是通过在服务器背板上增加一颗控制器芯片(SMC),该芯片一端直接控制PSU和风扇,另一端连接到多个BMC,SMC与多个BMC通信拿到主板温度等信息并告诉多个BMC目前的PSU和风扇的工作状态。现有技术的服务器节点切换增加了一颗控制器芯片,使得结构复杂,且增加了成本。
[0006]对于现有技术中服务器节点切换方法存在的问题,亟需开发出一种结构简单、可以方便切换服务器节点,保证服务器稳定性,并降低成本的服务器节点切换方法。
【发明内容】
[0007]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种多主板服务器的主基板管理控制器仲裁方法及系统,用于解决现有技术中服务器对电源和风扇控制需要靠增设芯片才能实现的问题。
[0008]为实现上述目的及其他相关目的,本发明提供一种多主板服务器主基板管理控制器仲裁方法,所述多主板服务器包括用于监控第一主板的第一 BMC,用于监控第二主板的第二 BMC……用于监控第N-1主板的第N-1BMC,以及用于监控第N主板的第NBMC,所述主基板管理控制器仲裁方法包括以下步骤:依据候选等级由高至低的规则设定所述第一 BMC为第一候选主BMC,所述第二 BMC为第二候选主BMC……所述第N-1BMC为第N-1候选主BMC,直至设定所述第NBMC为第N候选主BMC ;检测到所述第一 BMC处在正常工作状态时裁定所述第一 BMC为主BMC,并令第二 BMC监控所述第一 BMC的心跳信号;当所述第二 BMC监控到所述第一 BMC失去心跳信号时,裁定所述第二 BMC成为主BMC,并令第三BMC监控所述第二BMC及第一 BMC的心跳信号;以此类推,当第NBMC监控到所述第N-1BMC到第一 BMC全部失去心跳信号时,裁定所述第NBMC成为主BMC。
[0009]优选的,在第二 BMC为主BMC时,若高于其候选等级的第一 BMC恢复心跳信号,则重新裁定第一 BMC为主BMC,并令第二 BMC监控所述第一 BMC的心跳信号;以此类推,第NBMC为主BMC时,若高于其候选等级的第一 BMC至第N-1BMC中的任何一或多个BMC恢复心跳信号,则重新裁定恢复心跳信号的候选等级最高的BMC为主BMC,并令低于所述主BMC —个候选等级的BMC监控该主BMC的心跳信号。
[0010]优选地,所述主BMC读取供电模块的工作状态,向其他BMC发送供电模块的工作状态,并控制供电模块。
[0011]优选地,所述主BMC具有查询供电模块工作状态并控制供电模块的权限,非主BMC不访问供电模块。
[0012]优选地,各BMC和所述供电模块之间通过I2C总线连接。
[0013]优选地,所述主BMC读取风扇的工作状态,并根据其他各BMC所在的主板的温度控制对应的风扇转速。
[0014]优选地,所述主BMC具有查询风扇工作状态并控制风扇转速的权限,非主BMC具有查询风扇状态的权限,不具有控制风扇转速的权限。
[0015]优选地,各BMC和所述风扇之间通过P丽和Tach信号连接。
[0016]优选地,所述第一 BMC至第N-BMC之间通过I2C总线连接。
[0017]本发明还提供一种应用上述方法的多主板服务器主基板管理控制器仲裁系统,包括用于监控第一主板的第一 BMC,用于监控第二主板的第二 BMC……用于监控第N-1主板的第N-1BMC,以及用于监控第N主板的第NBMC,各BMC之间通过I2C总线连接。
[0018]如上所述,本发明的多主板服务器的主基板管理控制器仲裁方法,具有以下有益效果:通过后序BMC对前序BMC的工作状态进行监控,实现主BMC的自动选择及切换,减少了硬件设计的复杂性,节约了成本。
【专利附图】
【附图说明】
[0019]图1显示为本发明多主板服务器的主基板管理控制器仲裁方法的过程示意图。
[0020]图2显示为本发明多主板服务器的主基板管理控制器仲裁方法的其中一实施例的各BMC与供电模块的连接关系。
[0021]图3显示为本发明多主板服务器的主基板管理控制器仲裁方法的其中一实施例的各BMC与风扇的连接关系。
[0022]图4显示为本发明多主板服务器的主基板管理控制器仲裁方法的其中一实施例的各BMC之间的连接关系。
[0023]元件标号说明
[0024]I第一 BMC
[0025]2第二 BMC
[0026]3第三 BMC
[0027]4第四 BMC
[0028]5第一 PSU
[0029]6第二 PSU
[0030]7风扇
[0031]SI ?Sn步骤
【具体实施方式】
[0032]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0033]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0034]在具有多个主板的服务器系统中,每个主板功能上相对独立,都有各自的CPU,内存,南桥等。每个主板上都会有一颗BMC芯片来对本块主板进行监控、远程管理等功能。在整个服务器机箱中,有一些资源是多块主板共用或者共享的,例如,供电模块(PowerSupply Unit1PSU)为所有主板提供电源;风扇为所有主板提供散热功能。而供电模块(PSU)也需要由BMC来监控工作状态以及做某些控制,风扇需要由BMC根据机箱内各个温度点的高低来自动控制转速。由于机箱内共有多颗BMC,就需要一套机制选出一颗主BMC来对这些共享资源进行管理,以防止造成冲突。
[0035]本发明的目的在于提供一种多主板服务器的主基板管理控制器仲裁方法及系统,用于解决现有技术中服务器节点切换需要增加了一颗控制器芯片,使得结构复杂,且增加了成本的问题。以下将详细阐述本发明的一种多主板服务器的主基板管理控制器仲裁方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的多主板服务器的主基板管理控制器仲裁方法及系统。
[0036]下面结合实施例和附图对本发明进行详细说明。于具体的实施例中,主板的个数N可以为2,3,4...等。下面以2U4节点服务器即N为4的情形为例对本发明进行说明,需要指出的是N为4只是本发明实施方式的一种情形,不构成对本发明的限制。
[0037]请参阅图1,本实施例提供一种多主板服务器主基板管理控制器仲裁方法,所述多主板服务器包括用于监控第一主板的第一BMC,用于监控第二主板的第二BMC……用于监控第N-1主板的第N-1BMC,以及用于监控第N主板的第NBMC,依据候选等级由高至低的规则设定所述第一 BMC为第一候选主BMC,所述第二 BMC为第二候选主BMC……所述第N-1BMC为第N-1候选主BMC,直至设定所述第NBMC为第N候选主BMC ;本实施例的2U4节点服务器中,包括用于监控第一主板的第一 BMC,用于监控第二主板的第二 BMC,用于监控第三主板的第三BMC,以及用于监控第四主板的第四BMC,依据候选等级由高至低的规则设定所述第一 BMC为第一候选主BMC,所述第二 BMC为第二候选主BMC,所述第三BMC为第三候选主BMC,设定所述第四BMC为第四候选主BMC。
[0038]如图1所示,所述主基板管理控制器仲裁方法包括以下步骤:
[0039]S1:检测到所述第一 BMC处在正常工作状态时裁定所述第一 BMC为主BMC,并令第二 BMC监控所述第一 BMC的心跳信号。在本实施例中,心跳信号GP1信号(GeneralPurposelnput/Output通用输入/输出端口),是频率为IHz的方波,第一 BMC正常工作时,其心跳信号为IHz的方波信号;如果第一 BMCl严重错误导致无法工作或者BMCl所在的主板未被插入机箱内,则其心跳信号为一直高或一直低的状态,即判断为失去心跳信号。
[0040]S2:当所述第二 BMC监控到所述第一 BMC失去心跳信号时,裁定所述第二 BMC成为主BMC,并令第三BMC监控所述第二 BMC及第一 BMC的心跳信号;在第一 BMC失去心跳信号时,第二 BMC接替第一 BMC成为主BMC,由第二 BMC对共享资源进行管理,由第三BMC监控所述第二 BMC和第一 BMC的心跳信号。
[0041]......
[0042]Sn:以此类推,当第NBMC监控到所述第N-1BMC到第一 BMC全部失去心跳信号时,裁定所述第NBMC成为主BMC。在本实施例中,当第四BMC监控到第三BMC到第一 BMC全部失去心跳信号时,第四BMC接替第三BMC成为主BMC。
[0043]于具体的实施例中,本发明的所述主基板管理控制器仲裁方法还包括以下步骤(附图中未标示):
[0044]在第二 BMC为主BMC时,若高于其候选等级的第一 BMC恢复心跳信号,则重新裁定第一 BMC为主BMC,并令第二 BMC监控所述第一 BMC的心跳信号;以此类推,在第NBMC为主BMC时,若高于其候选等级的第一 BMC至第N-1BMC中的任何一 BMC恢复心跳信号,则重新裁定恢复心跳信号的BMC为主BMC,并令低于所述主BMC候选等级的BMC监控该主BMC的心跳信号。第NBMC为主BMC时,若高于其候选等级的第一 BMC至第N-1BMC中的一个以上BMC恢复心跳信号,则裁定候选等级最高的BMC为主BMC,低于主BMC候选等级的BMC监控该主BMC的心跳信号。在本实施例中,在第三BMC为主BMC时,如果第一 BMC、第二 BMC中有任意一个恢复心跳信号时,第三BMC即失去主BMC,由恢复心跳信号的BMC成为BMC。如果第一BMC、第二 BMC均恢复心跳信号时,则候选等级最高的第一 BMC成为主BMC,第二 BMC监控其心跳信号。
[0045]在整个服务器机箱中,有一些资源是多块主板共用或者共享的,如供电模块,风扇等,为了防止造成冲突,主BMC对各共享资源进行控制,其余BMC只能对共享资源进行访问,不能实现控制。
[0046]主BMC读取供电模块的工作状态,向其他BMC发送供电模块的工作状态,并控制供电模块。所述主BMC具有查询供电模块工作状态并控制供电模块的权限,非主BMC不访问供电模块,各BMC和所述供电模块之间通过I2C总线连接。在本实施例中,以2U4节点服务器的四个BMC分别为第一 BMC1、第二 BMC2、第三BMC3、第四BMC4,机箱中有2个供电模块第一 PSU5和第二 PSU6为整个机箱供电的情况为例,如图2所示,为本实施例中各BMC与供电模块的连接关系,每个供电模块(PSU)分别通过12C与4个BMC相连。同一时间只有主BMC才能访问每个PSU,获得PSU工作状态以及控制PSU。其他BMC不访问PSU,以防止造成冲突。
[0047]主BMC读取风扇的工作状态,并根据其他各BMC所在的主板的温度控制对应的风扇转速。主BMC具有查询风扇工作状态并控制风扇转速的权限,非主BMC具有查询风扇状态的权限,不具有控制风扇转速的权限,各BMC和所述风扇之间通过PWM和Tach信号连接。在本实施例中,以2U4节点服务器的机箱中有多个风扇7提供散热的情况为例,如图2所示,为本实施例中各BMC与风扇的连接关系,每个风扇有一个控制转速的PMW信号连接到所有BMC,多个风扇就有多个PMW信号。每个风扇有一个转速信号Tach连接到所有BMC,同样多个风扇就有多个Tach信号。只有主BMC可以控制风扇转速以及读取风扇转速,其他BMC不对风扇进行控制,以避免冲突。主BMC读取到风扇转速以后告诉其他BMC风扇的工作状态,并根据各BMC所在的主板的温度调节风扇的转速。
[0048]第一 BMC至第NBMC之间通过I2C总线连接,由主BMC通过I2C总线与其他BMC进行通信,告诉其他BMC目前PSU以及风扇的工作状态,并获得其他BMC所在的主板的温度信息用来控制风扇转速。在本实施例中,以2U4节点服务器的机箱中有多个风扇提供散热的情况为例,如图3所示,为本实施例中各BMC之间的连接关系,四个BMC之间通过I2C总线连接,主BMC获取PSU和风扇的工作状态并告诉其余3个BMC,并获取其余BMC所在的主板温度,再根据各主板温度调节风扇的转速。
[0049]另外,本实施例的主基板管理控制器仲裁方法还包括,当用户试图通过非主BMC控制PSU和风扇,会收到错误代码。
[0050]本发明还提供一种应用上述方法的多主板服务器主基板管理控制器仲裁系统,所述仲裁系统包括用于监控第一主板的第一BMC,用于监控第二主板的第二BMC……用于监控第N-1主板的第N-1BMC,以及用于监控第N主板的第NBMC,各BMC之间通过I2C总线连接。在具体的实施例中,2U4节点服务器包括用于监控第一主板的第一 BMC,用于监控第二主板的第二 BMC,用于监控第三主板的第三BMC,以及用于监控第四主板的第四BMC,各BMC之间通过I2C总线连接,主BMC对多块主板共用或者共享的资源进行控制,如供电模块PSU,风扇等,主BMC获取PSU和风扇的工作状态并告诉其余3个BMC,并获取其余BMC所在的主板温度,再根据各主板温度调节风扇的转速。
[0051]综上所述,本发明的多主板服务器的主基板管理控制器仲裁方法及系统,通过后序BMC对前序BMC的工作状态进行监控,实现主BMC的自动选择及切换,减少芯片数量,降低了硬件设计的复杂性,节约了成本。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0052]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1.一种多主板服务器的主基板管理控制器仲裁方法,所述多主板服务器包括用于监控第一主板的第一 BMC,用于监控第二主板的第二 BMC……用于监控第N-1主板的第N-1BMC,以及用于监控第N主板的第NBMC,其特征在于,所述主基板管理控制器仲裁方法包括以下步骤: 依据候选等级由高至低的规则设定所述第一 BMC为第一候选主BMC,所述第二 BMC为第二候选主BMC……所述第N-1BMC为第N-1候选主BMC,直至设定所述第NBMC为第N候选主BMC ; 所述第一 BMC处在正常工作状态时,裁定所述第一 BMC为主BMC,并令第二 BMC监控所述第一 BMC的心跳信号; 当所述第二 BMC监控到所述第一 BMC失去心跳信号时,裁定所述第二 BMC成为主BMC,并令第三BMC监控所述第二 BMC和第一 BMC的心跳信号; 以此类推,当第NBMC监控到所述第N-1BMC到第一 BMC全部失去心跳信号时,裁定所述第NBMC成为主BMC。
2.根据权利要求1所述的多主板服务器的主基板管理控制器仲裁方法,其特征在于, 在第二 BMC为主BMC时,若高于其候选等级的第一 BMC恢复心跳信号,则重新裁定第一BMC为主BMC,并令第二 BMC监控所述第一 BMC的心跳信号; 以此类推,在第NBMC为主BMC时,若高于其候选等级的第一 BMC至第N-1BMC中的任何一个或多个BMC恢复心跳信号,则重新裁定恢复心跳信号的候选等级最高的BMC为主BMC,并令低于所述主BMC —个候选等级的BMC监控该主BMC的心跳信号。
3.根据权利要求1所述的多主板服务器的主基板管理控制器仲裁方法,所述主BMC读取供电模块的工作状态,向其他BMC发送供电模块的工作状态,并控制供电模块。
4.根据权利要求3所述的多主板服务器的主基板管理控制器仲裁方法,其特征在于,所述主BMC具有查询供电模块工作状态并控制供电模块的权限,非主BMC不访问供电模块。
5.根据权利要求4所述的多主板服务器的主基板管理控制器仲裁方法,其特征在于,各BMC和所述供电模块之间通过I2C总线连接。
6.根据权利要求1所述的多主板服务器的主基板管理控制器仲裁方法,其特征在于,所述主BMC读取风扇的工作状态,并根据其他各BMC所在的主板的温度控制对应的风扇转速。
7.根据权利要求6所述的多主板服务器的主基板管理控制器仲裁方法,其特征在于,所述主BMC具有查询风扇工作状态并控制风扇转速的权限,非主BMC具有查询风扇状态的权限,不具有控制风扇转速的权限。
8.根据权利要求7所述的多主板服务器的主基板管理控制器仲裁方法,其特征在于,各BMC和所述风扇之间通过PWM和Tach信号连接。
9.根据权利要求1所述的多主板服务器的主基板管理控制器仲裁方法,其特征在于,所述第一 BMC至第NBMC之间通过I2C总线连接。
10.一种应用权利要求1-9任一项所述方法的多主板服务器的主基板管理控制器仲裁系统,其特征在于,包括用于监控第一主板的第一BMC,用于监控第二主板的第二BMC……用于监控第N-1主板的第N-1BMC,以及用于监控第N主板的第NBMC,各BMC之间通过I2C总线连接。
【文档编号】G06F13/362GK104503932SQ201510007267
【公开日】2015年4月8日 申请日期:2015年1月7日 优先权日:2015年1月7日
【发明者】娄抗震, 何建华 申请人:加弘科技咨询(上海)有限公司