基板管理控制器资源管理的电脑系统的制作方法

文档序号:11677342阅读:215来源:国知局
基板管理控制器资源管理的电脑系统的制造方法与工艺

本发明关于一种用于管理基板管理控制器(baseboardmanagementcontroller,bmc)资源的电脑系统;具体而言,本发明关于一种用于管理基板管理控制器单元虚拟化的电脑系统及其资源分配。



背景技术:

服务器系统已被广泛地用在许多不同领域,例如数据中心。这种系统变得越来越复杂及走向网络化,故管理其操作环境的工作也变得同等重要。传统上,许多服务器包含基板管理控制器,且在服务器内有许多的元件和感应器用以管理操作环境。由于服务器系统走向网络化及变得复杂,因此如何通过虚拟化来延伸这些硬件优势以分享硬件及减少冗余位是有待努力的。然而,当这些虚拟机故障时,并无法得到警告或通知信息,服务器系统的基板管理控制器的管理也会适当停止执行。



技术实现要素:

本发明的一目的在于提供一种电脑系统,用以提供基板管理控制器管理与监视的虚拟解决方案。

本发明的另一目的在于提供一种具有嵌入式故障安全机制的电脑系统,可防止出现故障的管理装置影响到整个电脑系统的执行效能。

本发明的再一目的在于提供一种电脑系统,可降低基板管理控制器管理的硬件成本。

本发明提供一种基板管理控制器资源管理的电脑系统。电脑系统包括多个实体电脑装置、第一管理装置及第二管理装置。第一管理装置连接多个实体电脑装置的至少一部分,其中第一管理装置具有多个第一虚拟机分别对应 于多个实体电脑装置的部分的不同实体电脑装置。第二管理装置连接第一管理装置,第二管理装置具有多个第二虚拟机,其中每一第二虚拟机分别对应于多个实体电脑装置的另一部分的不同实体电脑装置。第一管理装置与第二管理装置管理第一虚拟机与第二虚拟机的资源分配,以管理实体电脑装置。

于一实施例中,该些第一虚拟机与该些第二虚拟机是用于管理及监视该些实体电脑装置的虚拟基板管理控制器。

于一实施例中,该第一管理装置与该第二管理装置彼此互相监视。

于一实施例中,更包括一主管理装置连接于该多个实体电脑装置与该第一管理装置及该第二管理装置之间。

于一实施例中,该主管理装置包括一转送模块与一资源分配模块,该转送模块转送对应的第一管理装置与实体电脑装置之间以及对应的第一管理装置与实体电脑装置之间的通讯,该资源分配模块管理资源分配以管理该些实体电脑装置。

于一实施例中,该主管理装置包括服务器电脑、桌上型电脑或数据处理电脑。

于一实施例中,更包括:一第二主管理装置,连接于该主管理装置,该第二管理装置连接该第二主管理装置,且该第二主管理装置连接于该多个实体电脑装置的该另一部分与该第二管理装置之间。

于一实施例中,该主管理装置与该第一管理装置是以主从式架构网络连接,且该第二主管理装置与该第二管理装置是以主从式架构网络连接。

于一实施例中,该主管理装置与该第二主管理装置彼此互相监视。

于一实施例中,该主管理装置与该第一管理装置是被分组在一第一区,以及该第二主管理装置与该第二管理装置是被分组在一第二区。

于一实施例中,该主管理装置分配资源至该第二区,或该第二主管理装置分配资源至该第一区。

于一实施例中,该些虚拟机为一档案系统中的一虚拟工作空间。

于一实施例中,该些虚拟机为一根档案系统。

于一实施例中,该基板管理控制器管理该些实体电脑装置的温度、湿度、电源供应电压、风扇速度、通讯参数及操作系统功能。

附图说明

图1为本发明的电脑系统的一实施例;

图2a为图1的管理装置的示意图;

图2b为图2a管理装置的基板管理控制器的虚拟实施例;

图2c为图2b的另一实施例;

图2d为图2c的另一实施例;

图2e为图2d的另一实施例;

图3a为图2a的管理装置的另一实施例;

图3b为图3a的管理装置检查实体电脑装置的可用性的流程图;

图3c为图3b的另一实施例;

图4为具主管理装置的电脑系统的一实施例;

图5a为图4的电脑系统的另一实施例;以及

图5b为图5a的电脑系统的另一实施例。

主要元件符号说明:

10bmc模块

10abmc虚拟层

10b基础bmc

14界面

100电脑系统

110第一管理装置

120第二管理装置

130a~130f实体电脑装置

200、210a~210c终端装置

210显示器

c1、c2群组

vr1、vr2地区

110m、110m1、110m2主管理装置

110s1、110s2、110s3、110s4从属管理装置

301~308步骤

具体实施方式

本发明实施例提供一种电脑系统,可用于管理虚拟基板管理控制器及其资源分配。以下将以附图配合文字叙述公开本发明的实施方式或范例。这些实施例仅用以说明本发明,并非用以限制本发明的范围。此外,在本发明的附图中,相同标号代表相同元件,本发明的目的及实施样貌将描述于下。

图1为本发明的电脑系统100的一实施例。电脑系统100较佳包括多个实体电脑装置130a~130f、第一管理装置110及第二管理装置120。如图1所示,实体电脑装置130a~130f分别连接至第一管理装置110或第二管理装置120。在本实施例中,实体电脑装置130a~130f较佳是服务器电脑。然而,在其他不同实施例中,实体电脑装置130a~130f也可以是任何其他的电脑装置,例如桌上型电脑、笔记型电脑及任何其他相关的电脑装置。必须注意的是,第一管理装置110及第二管理装置120并不限于只能连接3台实体电脑装置,如本领域技术人员所知,第一管理装置110及第二管理装置120可连接在其处理能力内的任何数量的实体电脑装置。在本实施例中,实体电脑装置130a~130f是通过任意界面(如i2c或是uart)连接第一管理装置110及第二管理装置120。

请参照图1,在本实施例中,第一管理装置110及第二管理装置120较佳是用于管理及监视实体电脑装置130a~130f的实体状态的服务器电脑。在一实施例中,实体电脑装置130a~130f包括用于量测物理变数的感应器,例如温度、湿度、电源供应电压、风扇速度、通讯参数及操作系统功能,其 中这些物理变数是由第一管理装置110及/或第二管理装置120监视及管理。然而,如本领域技术人员所知,感应器并不限于只能量测上述物理变数。

在本实施例中,管理者可经由连接第一管理装置110及/或第二管理装置120的终端装置200来监视实体电脑装置130a~130f的各种状态。在一实施例中,终端装置200可通过显示器210上的网络使用者界面显示实体电脑装置130a~130f的监视状态。管理者可通过运行于终端装置200上的网络浏览器远端连接第一管理装置110或第二管理装置120。在其他不同实施例中,可在终端装置200上安装应用软件以联系第一管理装置110及/或第二管理装置120。管理者可通过第一管理装置110及/或第二管理装置120监视实体电脑装置130a~130f的状态,以及传送指令给第一管理装置110及/或第二管理装置120以设定或修改第一管理装置110及/或第二管理装置120监视或管理实体电脑装置130a~130f的方式。当第一管理装置110或第二管理装置120侦测到一特定实体电脑装置的其中一个变数超过管理者设定的限制或范围时,第一管理装置110或第二管理装置120可通知管理者。在其他不同实施例中,第一管理装置110及/或第二管理装置120也可设定为自动处理这些状况,例如重新启动此特定实体电脑装置。

如图1所示,第一管理装置110及第二管理装置120彼此通讯连接。在一实施例中,管理者可连接至第一管理装置110及第二管理装置120其中之一,以监视连接第一管理装置110及第二管理装置120另一台的一特定实体电脑装置的状态。换言之,管理者可连接第一管理装置110,但仍然可监视连接第二管理装置120的实体电脑装置130d~130f的状态,或管理者可连接第二管理装置120并监视实体电脑装置130a~130c的状态。在这种情形下,管理者可以有多种连接选择,或也可以限制终端装置200只能连接到第一管理装置110及第二管理装置120的其中一个,以避免过多闸道进入电脑系统100,并确保电脑系统100的安全性。此外,在本实施例中,第一管理装置110及第二管理装置120也可彼此互相监视。例如,第一管理装置110发生故障,管理者通常不会被通知到这个问题或事件,直到一段时间后,发 生故障的第一管理装置110无法监控,可能造成实体电脑装置130a~130c无法回复的伤害。然而,若第一管理装置110及第二管理装置120之间具有交叉监视的机制,第二管理装置120将可以发现发生故障的第一管理装置110的状态,并且可通知管理者及/或自动进行再启动第一管理装置110。在这种情形下,管理者可立即发现问题,并在后续进行故障排除。再者,上述交叉监视机制的另一个好处是其可作为故障安全机制,进而可预防发生其他的问题。

请参照图2a,图2a为图1的第一管理装置110的一实施例。如图2a所示,在本实施例中,实体电脑装置130a~130c通过任意界面(如i2c/uart)连接第一管理装置110的bmc模块10。在本实施例中,bmc模块10用以处理第一管理装置110与实体电脑装置130a~130c之间的通讯。再者,bmc模块10也会处理硬件资源的分配,以管理/监视实体电脑装置130a~130c的bmc感应器。较佳的是,bmc模块10包括用以执行这些工作的硬件元件例如处理器、网络界面卡、i2c界面及uart界面。然而,bmc模块10并不限于这些硬件元件。

如图2a所示,bmc模块10包括基础bmc10b及bmc虚拟层10a。在本实施例中,基础bmc10b用以处理传送终端装置200的要求或实体电脑装置130a~130c的要求及回应终端装置200的要求或实体电脑装置130a~130c的要求。一般来说,假如这三台实体电脑装置130a~130c都是主动的且已通过界面(如i2c或uart)连接第一管理装置110,基础bmc10b传统上(如一范例)会需要三个不同的网络界面卡(nic),以对应连接这三台实体电脑装置130a~130c的110管理装置,并让终端装置200通过网络查看/存取110管理装置所提供的信息。因此,为了减少基础bmc10b的硬件数量,提供虚拟层10a使得只需要最少的硬件数量,其中此最少的硬件数量将会分担整体系统的负载。换言之,基础bmc10b中的硬件元件可被分担及/或分配至bmc的不同虚拟化情况。必须注意的是,bmc模块10并不限于使有多个nic卡分担多个管理装置对终端装置的连接。在其他不同实施 例中,bmc管理装置可以共用/分享多个硬件装置来减少硬件的数量,其中不限定使用任何其他适当的实体界面、传输协定及/或硬件。

在本实施例中,第一管理装置110具有多个第一虚拟机vbmc11~vbmc13,其中每个第一虚拟机vbmc11~vbmc13对应于不同的实体电脑装置。例如,若实体电脑装置130a~130c通过界面(如i2c或uart)连接第一管理装置110,则虚拟机vbmc11对应于实体电脑装置130a,虚拟机vbmc12对应于实体电脑装置130b,虚拟机vbmc13对应于实体电脑装置130c。在本实施例中,虚拟机vbmc11~vbmc13是bmc模块10的模拟或虚拟实例。换言之,虚拟机vbmc11~vbmc13的操作是根据bmc模块10的电脑结构与功能。

如图2a所示,在本实施例中,虚拟层10a根据当前主动的实体电脑装置个数为基准来创建出vbmc11~vbmc13虚拟机来监视管理当前主动的实体装置。每个第一虚拟机vbmc11~vbmc13代表任一实体电脑装置130a~130c的bmc系统的一虚拟实施例。举例来说,当实体电脑装置(例如实体电脑装置130a~130c)连接第一管理装置110的bmc模块10时,bmc模块10将会创建一个对应的虚拟机(例如虚拟机vbmc11~vbmc13),并分配硬件资源给该虚拟机。例如,bmc模块10可分配处理资源、存储器储存、界面及/或存取通讯模块。

在本实施例中,bmc模块10管理第一虚拟机vbmc11~vbmc13的硬件资源分配,以使基础bmc10b的硬件资源的效能/资源分配最佳化。在这种情况下,经由对第一虚拟机vbmc11~vbmc13提供虚拟层10a,基础bmc10b的硬件资源可被分享于多个虚拟机vbmc11~vbmc13之中。例如,在上述使用nic卡的范例中,需要被安装在基础bmc10b中的nic硬件的总数量可减少至仅有一个,其中bmc模块10可接着有效及/或选择性地分配使用nic硬件给虚拟机vbmc11~vbmc13(亦即第一虚拟机vbmc11~vbmc13将分享nic硬件并允许终端装置200通过nic硬件来查看/存取管理装置)。

如图2a所示,一旦创建了虚拟机(例如第一虚拟机vbmc11~vbmc13)并由bmc模块10分配硬件资源,前端客户或终端装置(终端装置210a~210c)的使用者或管理者可通过第一管理装置110的界面14连接第一虚拟机vbmc11~vbmc13,由以监视其各自对应的实体电脑装置130a~130c。如上所述,终端装置210a~210c可通过任何使用者界面显示实体电脑装置130a~130c的监视状态。举例来说,使用者界面可以是网络使用者界面(webuserinterface)或智能型管理界面工具(ipmitool)。在本范例中,终端装置210a前面的管理者可通过运行于终端装置210a上的网络浏览器远端连接第一管理装置110。也就是说,终端装置210a上的网络浏览器通过界面14连接第一虚拟机vbmc11。在其他不同实施例中,可安装应用软件于终端装置210a~210c上,由以和第一管理装置110相互作用/互动。必须注意的是,虽然图2a的第一管理装置110的界面14为为介于终端装置210a~210c与第一虚拟机vbmc11~vbmc13之间的界面,但本领域技术人员将可轻易得知,可在每个虚拟机与其各自对应的终端装置之间创建个别的界面14。

图2b至图2e为基础bmc10b虚拟化的不同实施例。请参照图2a与图2b,实体电脑装置130a~130c通过基础bmc10b的ipmi1(智能型平台管理界面)、ipmi2与ipmi3连接第一管理装置110。ipmi是基板管理控制器系统的一部份,且是作为基础bmc10b与实体电脑装置130a~130c之间的通讯界面。如图2b所示,图2a的虚拟层10a可经由档案系统下创建虚拟机vbmc1~vbmc3的虚拟工作空间vw1~vw3来实现。执行这些虚拟机vbmc1~vbmc3于各自私有的虚拟工作空间vw1~vw3,管理者可从终端装置210连接第一管理装置110的操作系统来存取这些虚拟机vbmc1~vbmc3。然而,在另一实施例中,如图2c所示,执行这些虚拟机vbmc1~vbmc3,可以通过各自私有的根档案目录来达成。然后管理者可通过操作系统存取这些虚拟机vbmc1~vbmc3。

图2d为支持管理程序(hypervisor)的本发明一实施例,以允许支持不同的操作系统。如图2d所示,管理者可从终端装置200使用一操作系统 (operatingsystem)os1进行存取及连接第一管理装置110。在本实施例中,管理程序层(hypervisorlayer)实行于虚拟层10a与终端装置200之间。管理程序层允许支持操作不同的操作系统用来执行虚拟机vbmc2或vbmc3。在这种情况下,可支持特定虚拟bmc系统的操作系统。然而,必须注意的是,也可以在同装置内实行图2b至图2d所示的虚拟法的组合或混合。举例来说,如图2e所示,对应于实体电脑装置130a与130b的虚拟机vbmc1与vbmc2可以图2b(或图2c)的虚拟法来实行,而对应于实体电脑装置130c的虚拟机vbmc3可以图2d的虚拟法来实行。

图3a为管理装置110(例如第一管理装置110或第二管理装置120)的基础bmc的一实施例,用以启动vbmc服务以对应每个连接的主动实体电脑装置(例如实体电脑装置130a~130d)。在本实施例中,vbmc服务是由基础bmc创建,用以管理及监视实体电脑装置130a~130d。

请参照图3a与图3b,基础bmc将会进行步骤301~305,以开始监视实体电脑装置130a~130d。在步骤301,基础bmc将会对连接管理装置110(例如第一管理装置或第二管理装置)的每个主动及非主动的实体电脑装置创建vbmc服务。例如,如图3a与图3b所示的范例,当实体电脑装置130a~130d连接管理装置110时,基础bmc将会创建vbmc服务1至vbmc服务4以各自对应实体电脑装置130a~130d。在创建这些vbmc服务之后,执行步骤302,更新主机电源状态。在本步骤中,当创建出vbmc服务并通讯连接其各自的实体电脑装置时,vbmc服务会将有关实体电脑装置的信息送回至基础bmc。基础bmc接着会根据vbmc服务送回的信息,更新实体电脑装置的电源状态。例如,所有的实体电脑装置130a~130d可连接至管理装置110,但一个或多个实体电脑装置130a~130d可以是主动的,而其余是非主动的。当基础bmc通过vbmc服务1~4检查实体电脑装置130a~130d的状态时,管理装置110会更新此信息。

在本实施例中,基础bmc会在实体电脑装置130a~130d上定期执行检查状态(步骤303),以确保实体电脑装置130a~130d是正常运作。基础 bmc接着执行步骤304,更新vbmc及主电脑(实体电脑装置)的关系。在本实施例中,在接收来自vbmc服务的有关实体电脑装置130a~130d的电源状态的信息之后,基础bmc可确定实体电脑装置130a~130d是否正常运作。例如,假如实体电脑装置130b连接管理装置110但其是非主动的(关闭),基础bmc会从vbmc服务2接收到实体电脑装置130b的电源状态是非主动/关闭或不正常的信息。基础bmc接着可确定或断定实体电脑装置130b是在关闭过程中或已经关闭。因此,基础bmc接着可更新vbmc及主电脑的关系为“非主动的”。随后,在步骤305,假如实体电脑装置130a~130d其中之一确实是非主动的,基础bmc可将对应非主动实体电脑装置130b的虚拟机的资源(例如bmc系统的cpu资源)重新分配给其他主动实体电脑装置(实体电脑装置130a,130c~130d)。在这种情况下,bmc模块10的硬件资源可在虚拟机与主动实体电脑装置中有效地分享。

图3c是图3b的另一实施例,其中绘示出基础bmc与单一vbmc服务的流程图。请参照图3a~3c,当基础bmc在步骤301创建vbmc服务并在随后步骤301的检查状态,基础bmc会要求vbmc服务执行步骤306,以确定对应实体电脑装置的电源状态是否存在。假如电源状态存在且实体电脑装置或终端装置发出bmc请求q,vbmc服务将会接收此bmc请求q,并在步骤307中处理此bmc请求q,其中vbmc服务随后在步骤308中将会传送bmc回应r至实体电脑装置与客户请求。在这种情况下,基础bmc可定期检查实体电脑装置,以查看实体电脑装置是否为主动的。假如实体电脑装置是非主动的或在关闭过程中,基础bmc将会在管理装置10中更新虚拟机及实体电脑装置的关系,并将用于非主动实体电脑装置的虚拟机的基础bmc的资源重新分配给其他虚拟机。

图4为图1的电脑系统100的另一实施例。如图4所示,bmc系统可以主从式层级架构来实现,其中主管理装置110m可用于连接实体电脑装置130a~130e。在本实施例中,至少一个从属管理装置连接主管理装置110m。在图4的范例中,第一管理装置110s1与第二管理装置110s2分别连接主管 理装置110m,并作为主从式关系中的从属装置。

如图4所示,主管理装置110m具有一转送模块与一资源分配模块。在一实施例中,主管理装置110m包括嵌入式系统、服务器电脑、桌上型电脑或具有可处理数据的处理器的任何其他电脑装置。在本实施例中,主管理装置110m转送对应虚拟机(vbmc11~13,vbmc21~22)与实体电脑装置(130a~130e)间的通讯。举例来说,当实体电脑装置130a~130e其中之一是关闭、非主动及/或断开时,主管理装置110m的资源分配模块可重新分配处理资源,以处理其他实体电脑装置及其各自对应虚拟机间的通讯。

图5a为图4的另一实施例。如图5a所示,至少两个主管理装置110m1与110m2彼此可通讯连接。在本实施例中,地区vr1包含主管理装置110m1及其从属管理装置110s1与110s2,而地区vr2包含主管理装置110m2及其从属管理装置110s3与110s4。在一实施例中,由于主管理装置110m1与主管理装置110m2彼此通过网络连接,主管理装置110m1与主管理装置110m2彼此可互相监视。例如,假如主管理装置110m1或110m2其中之一发生故障或失去作用,当另一个主管理装置110m1或110m2无法从该失去作用或发生故障的主管理装置接收到转送请求或无法分配资源时,该另一个主管理装置110m1或110m2将会立即得知此故障问题,并可通知管理者及/或报告该发生故障的主管理装置。在这种情况下,两地区vr1与vr2将可具有故障安全机制,使得任何故障情形可即时报告给管理者,以防止发生额外的伤害或成本损失。在这种情况下,于系统中导入故障安全机制,将可自动处理发生在系统的任一管理装置中的任何故障问题。此外,在其他不同实施例中,主管理装置并不限于只能连接到另一主管理装置。换言之,每个主管理装置可网络连接多个其他主管理装置。在这种情况下,整个系统可依照系统需求而动态地相应增加或缩减。

此外,如图5a所示,若bmc系统确定负载平衡足以被其他从属管理装置处理,则可撤销从属管理装置以节省电源。例如,请参照群组c2的从属管理装置110s3与110s4,地区vr2的主管理装置110m2可确定从属管 理装置110s4上的负载太小以维持从属管理装置110s4运行。在这个例子中,主管理装置110m2可通讯连接其他地区的其他主管理装置(例如地区vr1的主管理装置110m1),以查看其是否能够容纳运行于从属管理装置110s4上的处理程序。一旦主管理装置110m1检查其群组c1的从属管理装置110s1与110s2并确认主管理装置110m2能够容纳运行于从属管理装置110s4上的处理程序,主管理装置110m2可和主管理装置110m1开始执行一迁移过程,由以将运行于从属管理装置110s4上的虚拟机迁移到群组c1。

举例来说,假如主管理装置110m2发现从属管理装置110s4把其资源仅用于运行一个虚拟机x(如图5a所示对应于实体电脑装置130f),主管理装置110m2可开始执行虚拟机x的迁移过程并将之迁移到主管理装置110m1。在本实施例中,如图5b所示,在主管理装置110m1确认主管理装置110m2可容纳处理对应虚拟机x的实体电脑装置130f之后,主管理装置110m1将指示群组c1的从属管理装置110s2创建一虚拟机x’。接着,主管理装置110m2会通过主管理装置110m1将从属管理装置110s4的虚拟机x迁移至从属管理装置110s4的新创建出的虚拟机x’。之后,主管理装置110m1会分配处理资源给虚拟机x’。然后,主管理装置110m2会取消分配给旧虚拟机x的处理资源,接着删除旧虚拟机x。在本实施例中,实体电脑装置130f与虚拟机x’间的通讯可经由主管理装置110m2与110m1转送。在这种情况下,整个系统可动态地更有效分配资源给虚拟机或一群虚拟机。换言之,依据从属管理装置上的负载平衡,主管理装置110m1与110m2可共同地决定如何更有效地利用从属管理装置。因此,在目前架构中,可从系统中增加或去除任何数量的新从属管理装置、主管理装置及/或实体电脑装置。也就是说,本发明也可在bmc系统的延展性提供改良式弹性的好处。

本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已公开的实施例并未限制本发明的范围。相反地,包含于权利要求的精神及范围的修改及均等设置均包含于本发明的范围内。

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