一种服务器池化产品开关机系统及方法与流程

文档序号:15998820发布日期:2018-11-20 19:11阅读:157来源:国知局

本发明涉及服务器池化产品技术领域,特别是涉及一种服务器池化产品开关机系统及方法。



背景技术:

云计算推进了互联网行业的飞速发展,同时也对传统服务器架构提出了挑战。为了更好地适应和满足互联网业务需求,现有服务器架构不断演变,面向各种服务器资源的池化技术和产品应运而生。池化产品通常以PCIE转换芯片为核心将服务器与各种资源(例如存储硬盘、GPU显卡等)进行连接,使资源可以在不同服务器之间进行合理分配,使资源利用更加灵活高效。

对于服务器而言池化产品是一种PCIE设备,通过PCIE总线链接,没有边带信号。因此,在开关机的时候往往需要分别对服务器和池化产品进行开关机,比较繁琐。在通常的服务器的开关机控制和池化产品的开关机控制是独立分开的,参见图1,为现有技术中服务器和池化产品的开关机结构示意图,如图1所示,池化产品通过电源按键或远程控制指令开机,其中,池化产品的BMC接受远程控制指令,进行处理后发送给CPLD,通过CPLD控制池化产品开关机;服务器也通过电源按键或远程控制指令开机,服务器的BMC接受远程控制指令,CPLD接受电源按键信号,当BMC和CPLD其中一个接受到有效信号后将信号发送给PCH,通过PCH控制服务器开关机。

然而,现有技术中,池化产品开关机和服务器开关机是分别进行的,先对池化产品进行开关机操作再对服务器进行开关机操作,运维人员不能通过控制服务器的开关机来控制池化产品的开关机,增加了操作步骤,降低了运维效率。



技术实现要素:

本发明实施例中提供了一种服务器池化产品开关机系统及方法,以解决现有技术中的池化产品开关机和服务器开关机是分别进行的问题。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

本发明第一方面提供了一种服务器池化产品开关机系统,包括:通过PICE总线连接的服务器模块和池化产品模块,其中,所述服务器模块包括CPLD单元、BMC单元以及PCH单元,所述服务器模块的BMC单元分别通信连接所述服务器模块的CPLD单元和PCH单元;所述池化产品模块包括BMC单元和CPLD单元,所述池化产品模块的BMC单元与所述池化产品模块的CPLD单元通信连接;所述服务器模块的BMC单元与所述池化产品模块的BMC单元通过I2C或UART总线连接。

优选地,所述系统包括多个池化产品模块,多个所述池化产品模块分别通过PICE总线与一个所述服务器模块连接,多个所述池化产品模块的BMC单元分别通过I2C或UART总线与通信连接的所述服务器模块的BMC单元连接。

优选地,所述池化产品模块的BMC单元和所述服务器模块的BMC单元分别连接远程控制指令;所述池化产品模块的CPLD单元和所述服务器模块的CPLD单元分别连接电源按键。

本发明第二方面提供了一种服务器池化产品开关机方法,其特征在于,包括:

获取开/关机信号;

当所述开/关机信号有效后获取池化产品状态信息;

判断所述状态信息是否满足预设条件:

如果是,则直接开/关机;否则向所述池化产品发送开/关机信号并重新获取状态信息。

优选地,所述获取池化产品状态信息具体包括:

获取池化产品BMC单元中状态寄存器的值。

优选地,判断所述状态信息是否满足预设条件具体包括:

当开机信后有效后,判断所述状态信息是否满足开机预设条件;

当关机信后有效后,判断所述状态信息是否满足关机预设条件。

优选地,所述开机预设条件为池化产品BMC单元中状态寄存器的值为1;

所述关机预设条件为池化产品BMC单元中状态寄存器的值为0。

优选地,向所述池化产品发送开/关机信号具体包括:

服务器BMC单元向池化产品BMC单元发送开/关机指令。

由以上技术方案可见,本发明中服务器中的BMC单元分别与服务器中CPLD单元和PCH单元连接,池化产品中的CPLD单元与池化产品中的BMC单元连接,使服务器和池化产品的开关机需要经过BMC单元的控制,服务器中的BMC单元接受到开关机信号后会访问池化产品BMC单元的状态寄存器,读取状态寄存器的值,若状态寄存器的值满足开机或关机的条件则直接进行开机或关机,若不满足开机或关机的条件则服务器的BMC单元向池化产品的BMC发送开机或关机指令,并持续访问池化产品BMC单元的状态寄存器,当状态寄存器的值表示池化产品已经开机或关机之后再对服务器进行开机或关机,可以实现在只对服务器进行开关机操作的情况下也对池化产品的开关机进行控制,提高运维效率。

附图说明

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

图1为现有技术中服务器和池化产品的开关机结构示意图;

图2为本发明实施例提供的一种服务器池化产品开关机系统的结构示意图;

图3为本发明实施例提供的另一种服务器池化产品开关机系统的结构示意图;

图4为本发明实施例提供的另一种服务器池化产品开关机系统的结构示意图;

图5为本发明实施例提供的一种服务器池化产品开关机方法的流程示意图。

具体实施方式

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

参见图2,为本发明实施例提供的一种服务器池化产品开关机系统的结构示意图,如图2所示,本发明实施例提供的服务器池化产品开关机系统,包括:通过PICE总线连接的服务器模块和池化产品模块。

所述服务器模块包括CPLD单元、BMC单元以及PCH单元,所述服务器模块的BMC单元分别通信连接所述服务器模块的CPLD单元和PCH单元;所述池化产品模块包括BMC单元和CPLD单元,所述池化产品模块的BMC单元与所述池化产品模块的CPLD单元通信连接;所述服务器模块的BMC单元与所述池化产品模块的BMC单元通过I2C或UART总线连接。

服务器和池化产品中均包括CPLD单元和BMC单元,服务器中还包括PCH单元,服务器的开关机是通过PCH单元控制的,接受的开机信号首先发送给CPLD单元或BMC单元,然后再发送给PCH单元,只有当PCH单元接受到来自CPLD单元或BMC单元的信号之后才会发出开关机信号,控制服务器开关机;池化产品中只包括CPLD单元和BMC单元,池化产品的开关机由BMC单元来控制。由于CPLD单元为可编程逻辑器件,不进行开关机控制,因此,将服务器和池化产品中的BMC单元通过I2C或UART总线连接,使服务器和池化产品进行开关机信号通信,由于现有技术中,服务器中的CPLD单元不与BMC单元连接,其接受到的开关机信号直接发送给PCH单元服务器会直接开机,为了避免此种情况,将服务器中的CPLD单元和BNC单元连接,从而保证服务器和池化产品的开关机都需要经过BMC单元的控制。

参见图3,为本发明实施例提供的另一种服务器池化产品开关机系统的结构示意图,如图3所示,所述系统包括多个池化产品模块,多个所述池化产品模块分别通过PICE总线与一个所述服务器模块连接,多个所述池化产品模块的BMC单元分别通过I2C或UART总线与一个所述服务器模块的BMC单元连接。

在现有技术中,一台服务器需要挂载多个池化产品用于与多种资源进行连接,因此,当挂载的池化产品大于一个时,多个池化产品通过PICE总线分别与一个服务器连接,保证池化产品和服务器之间的正常通信,多个池化产品的BMC单元又分别与进行通信的服务器的BMC单元连接,使一个服务器可以于制多个池化产品进行开关机通信。

参见图4,为本发明实施例提供的另一种服务器池化产品开关机系统的结构示意图,如图4所示,所述池化产品模块的BMC单元和所述服务器模块的BMC单元分别连接远程控制指令;所述池化产品模块的CPLD单元和所述服务器模块的CPLD单元分别连接电源按键。

服务器和池化产品的开关机均可以通过远程控制指令以及电源按键来触发,因为远程控制指令为只能通过BMC单元获取,而电源按键信号只能通过CPLD单元获取,由于本发明实施例中通过BMC单元进行开关机控制,而BMC单元不能直接获取电源按键信号,因此,将CPLD单元与电源按键连接,远程控制指令与BMC单元连接,当服务器或池化产品接受的开关机指令为远程控制指令,则BMC单元直接进行操作,如果接受到的开关机指令为电源按键信号,则首先将信号发送给CPLD单元,经过CPLD单元滤波之后再发送给BMC单元,保证服务器与池化产品之间的开关机信号通过BMC单元进行控制。

参见图5。为本发明实施例提供的一种服务器池化产品开关机方法的流程示意图,如图5所示,本发明实施例提供的服务器池化产品开关机方法,包括:

S10:获取开/关机信号。

因为池化产品挂载在服务器上,对服务器而言是一种设备,因此,池化产品不能控制服务器的开关机,从而,只能由服务器获取开关机信号。其中,服务器的开关机信号包括远程控制指令和电源按键两种,电源按键信号进过CPLD单元滤波之后发送给BMC单元,远程控制指令直接发送给BMC单元。

S20:当所述开/关机信号有效后获取池化产品状态信息。

当BMC单元接受到有效的开关机控制信号之后,通过I2C或UART总线读取池化产品的状态信息,即池化产品是否开机。因为池化产品的BMC单元中的状态寄存器中保存了池化产品的开关机状态信息,因此,服务器的BMC单元可以通过I2C或UART总线读取池化产品BMC单元中状态寄存器的值,其中,状态寄存器的值为1时表示池化产品开机,相反的,当状态寄存器的值为0时表示池化产品未开机(关机状态)。

S30:判断所述状态信息是否满足预设条件:

获取到池化产品的状态信息之后,服务器的BMC单元需要通过判断池化产品状态信息来确定池化产品的开关机状态,状态寄存器的值为1时表示池化产品开机,为0时表示池化产品未开机。由于本发明实施例即可以实现开机控制也可以实现关机控制,因此判断所述状态信息是否满足预设条件具体包括:

当开机信后有效后,判断所述状态信息是否满足开机预设条件;

当关机信后有效后,判断所述状态信息是否满足关机预设条件。

开机预设条件为池化产品BMC单元中状态寄存器的值为1,关机预设条件为池化产品BMC单元中状态寄存器的值为0。

如果所述状态信息满足预设条件,则执行步骤S50:直接开/关机。

如果所述状态信息不满足预设条件,则执行步骤S40:向所述池化产品发送开/关机信号并重新获取状态信息,知道状态信息满足预设条件时候服务器再进行开/关机。

因为池化产品的开关机通过BMC单元的控制,因此,当服务器中的BMC单元检测到池化产品未开机时,服务器的BMC单元将通过I2C或UART总线向池化产品的BMC单元发送开关机指令。

本发明中服务器中的BMC单元分别与服务器中CPLD单元和PCH单元连接,池化产品中的CPLD单元与池化产品中的BMC单元连接,使服务器和池化产品的开关机需要经过BMC单元的控制,服务器中的BMC单元接受到开关机信号后会访问池化产品BMC单元的状态寄存器,读取状态寄存器的值,若状态寄存器的值满足开机或关机的条件则直接进行开机或关机,若不满足开机或关机的条件则服务器的BMC单元向池化产品的BMC发送开机或关机指令,并持续访问池化产品BMC单元的状态寄存器,当状态寄存器的值表示池化产品已经开机或关机之后再对服务器进行开机或关机,可以实现在只对服务器进行开关机操作的情况下也对池化产品的开关机进行控制,提高运维效率。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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