提供用于启动刀片服务器的虚拟机管理程序的方法和装置的制作方法

文档序号:6579320阅读:230来源:国知局
专利名称:提供用于启动刀片服务器的虚拟机管理程序的方法和装置的制作方法
技术领域
本发明一般涉及计算机领域,具体涉及一种提供用于启动刀片服务器系统中的至 少一个刀片服务器的虚拟机管理程序的方法和装置。
背景技术
目前,服务器虚拟化技术已经被IT工业广泛接受,成为数据中心运行多种类型的 工作负载的高级方式。服务器虚拟化技术能够使多个不同的、规模小的单一性质的任务合 并到一个服务器中,从而节约能源,并且使得资源管理器能够灵活地管理资源。服务器虚拟 化技术中,虚拟机管理程序是位于服务器硬件和操作系统软件之间的一种软件程序,它能 够对操作系统提供硬件抽象和资源的分布,也就是说,虚拟化服务器的硬件。安装了虚拟机 程序的服务器,在资源许可的情况下,可以根据用户的要求,在虚拟机管理程序的管理下, 在一个服务器的硬件上安装多个不同的操作系统,这些不同的操作系统彼此独立工作。服务器虚拟化技术的市场竞争也非常激烈,各虚拟机管理程序供应商为了增加自 己产品的竞争性,持续不断地在产品中加入新的特征,使得虚拟机管理程序的代码越来越 大,同时也导致了不可避免的程序缺陷,使得虚拟机管理程序容易被攻击,并且不稳定,需 要持续地为程序打补丁。各虚拟机管理程序供应商当前的一种新的策略是提供嵌入式虚拟机管理程序,这 样客户就可以很容易安装虚拟机。在嵌入式虚拟机管理程序中,用户无需安装硬件驱动器, 虚拟机管理程序通常嵌入到内存芯片,类似于固件和BIOS。它的功能和通常的虚拟机管 理程序类似,但是因为是嵌入式的,为了减少程序代码包的大小,它将某些管理功能放在了 虚拟机管理程序代码包之外。商用的嵌入式虚拟机管理程序包括=VMware ESXi,Red Hat oVirt, Citrix XenExpress OEM Edition 等。其中 VMware ESX 是一个具有服务管理台以 及CIM代理的虚拟机管理程序,存储在一张DVD上,可以进行安装的全集程序。比较而言, VMware ESXi是一个嵌入式的虚拟机管理程序,只需要30MB的空间,它不具备内嵌的全部 管理功能。支持嵌入式虚拟机管理程序的硬件供应商成本很高,因为他们需要重新设计系统 主板,来提供闪存芯片,同时需要在系统固件中加入从闪存芯片的虚拟机管理程序启动的 选项,还需要加入一些软件功能来管理闪存芯片中的内容,例如更新闪存芯片中的虚拟机 管理程序等。这些成本的加入使得硬件供应商目前只能对产品线的某些产品支持嵌入式虚
拟机管理。现有技术中,还有一些方法,可以不必将嵌入式虚拟机管理程序加入到主板的闪 存芯片。例如在服务器本地上的硬盘、USB、⑶ROM、或者远端服务器中放置嵌入式虚拟机管 理程序。在服务器的本地硬盘中放置嵌入式虚拟机管理程序,和通常的虚拟机管理程序一 样,这对于嵌入式虚拟机管理程序的更新或者打补丁等是很不方便的;USB或者CDROM中放 置嵌入式虚拟机管理程序,远程管理很不方便,并且对于高密度的刀片服务器来说,对USB 和CDROM的访问也可能非常有限;而嵌入式虚拟机管理程序放置在远端服务器时,需要支持诸如PXE之类的远程启动协议,但是该方案需要数据中心安装了完整功能、高可用的PXE 基础架构,并且要求服务器与PXE基础架构之间具有网络连接,事实上而并非所有的数据 中心都可以达到这样的条件。另外,由于PXE采用外部网络连接实现数据传输,所以启动时 安全性稳定性也会存在问题。因此,现有技术的方案中都存在着这样或者那样的问题。

发明内容
鉴于现有技术中的问题,本发明提出了 一种对刀片服务器系统中的刀片服务器提 供可启动的虚拟机管理程序的方法和装置。根据本发明的一个方面,提供了一种提供用于启动刀片服务器系统中的至少一个 刀片服务器的虚拟机管理程序的方法,包括接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;获得该刀片服务器的硬件特征;根据该刀片服务器的硬件特征,以及刀片服务器的硬件特征和虚拟机管理程序的 对应关系,确定该刀片服务器硬件特征对应的虚拟机管理程序,其中,所述确定的虚拟机管 理程序被存储在刀片服务器系统中;通过管理总线使用确定的虚拟机管理程序远程启动该刀片服务器。根据本发明的另一个方面,提供了一种提供用于启动刀片服务器系统中的至少 一个刀片服务器的虚拟机管理程序的装置,该装置位于所述刀片服务器系统中,该装置包 括接收模块,用于接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;获得模块,用于获得该刀片服务器的硬件特征;确定模块,用于根据该刀片服务器的硬件特征,以及存储的刀片服务器硬件特征 和虚拟机管理程序的对应关系,确定该刀片服务器硬件特征对应的虚拟机管理程序;存储模块,用于存储所述确定的虚拟机管理程序;处理模块,用于通过管理总线使用所述确定的虚拟机管理程序远程启动该刀片服 务器。本发明可以带来如下一个或多个优点(1)硬件厂商无需重新设计相关硬件,就能为其产品线中的全部产品提供嵌入式 虚拟机管理程序的支持;(2)用户可以根据需要选择合适的嵌入式虚拟机管理程序,并保证启动时的安全 性和稳定性;(3)对现有硬件不作改动或作很少改动,适于各种数据中心,并且易于远程管理。


通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目 的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中 的相同部件。图1示意性地示出了现有的刀片服务器系统中刀片服务器上存储的嵌入式虚拟 机管理程序的示意图2示意性地示出了根据本发明的刀片服务器系统中存储的嵌入式虚拟机管理 程序的示意图;图3示意性地示出了根据本发明的一个实施例的提供用于启动刀片服务器系统 中的刀片服务器的虚拟机管理程序的方法步骤;图4示意性地示出了根据本发明的一个实施例的提供用于启动刀片服务器系统 中的刀片服务器的虚拟机管理程序的方法步骤;以及图5示意性地示出了根据本发明的一个实施例的提供用于启动刀片服务器系统 中的刀片服务器的虚拟机管理程序的装置框图。
具体实施例方式将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优 选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。 相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给 本领域的技术人员。图1示意性地示出了现有的刀片服务器系统中刀片服务器上存储的嵌入式虚拟 机管理程序的示意图。图1的刀片服务器系统100中,包括图中示出的管理模块102和至 少一个刀片服务器103,以及图中未示出的I/O切换模块、电源模块、风扇、网络连接和其它 模块,这些模块通过底座101相连。管理模块102提供了一致的管理接口。刀片服务器系 统的管理遵循 IPMIdntelligent Platform Management Interface 智能平台管理接口) 标准。也就是说,刀片服务器的管理模块通过管理总线与各个刀片服务器相连。IPMI体系 结构的中心是微处理器,即基板管理控制器。每个刀片服务器的基板管理控制器103对各 自刀片服务器硬件提供了自治的监控、事件日志、恢复控制、配置等功能,并且能够收集趋 势数据,甚至预测平台错误,而且还提供了对管理模块101的统一接口。管理模块101通过 IPMI消息与基板管理控制器进行通信,支持诸如上电、断电,错误、事件汇报、在各个刀片服 务器间协调共享资源的使用等功能。控制台106与管理模块102相连,控制台106可以对管 理模块106发送管理命令。同时,刀片服务器系统的管理模块也具有网络连接,但是,该网 络连接一般来说比较特殊,因为管理模块的特殊性,如果外部网络可以随意访问管理模块, 进而通过管理总线控制刀片服务器,则整个刀片服务器系统的安全性和稳定性就将受到严 重的威胁。因此,一般管理模块的网络都会通过特殊的技术控制外界的访问,例如通过防火 墙,使得管理模块可以容易地访问外部网络,但是外部网络不能访问管理模块。而且,刀片 服务器的网络连接与管理总线是隔离的,这样就可以保证刀片服务器系统的安全性和稳定 性。现有技术中,嵌入式虚拟机管理程序104以各种方式存储在刀片服务器中,包括,在刀 片服务器的主板的闪存中、刀片服务器的USB存储器中、在刀片服务器103的硬盘中、在与 刀片服务器103相连接的网络服务器中等。现有技术中使用多种方式存储的虚拟机管理程 序一般都是在机器出厂或销售时配置的,这样配置的虚拟机管理程序如果有更新,或者需 要打补丁,是非常不方便的。另外,嵌入式虚拟机管理程序都是针对刀片服务器103的具体硬件平台,因为虚 拟机管理程序的厂商都在该硬件平台上充分测试过,例如=VMware ESXi 3. 5. 2支持IBM HS21型号的刀片服务器,但是不能支持IBM HS22型号的刀片服务器;又如,为X86类型的CPU开发的虚拟机管理程序可以在Intel和AMD处理器上运行,但是不能在POWER的处理器 上运行等。这样,对嵌入式虚拟机管理程序存在如下情况多个虚拟机管理程序的厂商的多 个虚拟机管理程序版本都支持某些刀片服务器的硬件。如果出厂时配置的嵌入式虚拟机管 理程序是用户不熟悉的,而用户想要使用该用户熟悉的支持该刀片服务器硬件的其它的厂 商或者版本的虚拟机管理程序,这种改变也是非常困难的。图2示意性地示出了根据本发明的刀片服务器系统中存储的嵌入式虚拟机管理 程序的示意图。图2中,与图1相比,增加了一个模块207。在该模块中,可以用于存储虚拟 机管理程序,优选地,还可以存储刀片服务器的硬件特征和虚拟机管理程序的对应关系。这 样,用户就可以根据自己的需求,选择合适的嵌入式虚拟机管理程序。这个增加的模块207 可以是独立的模块,也可以加入到管理模块中,对于启动某一刀片服务器,甚至可以位于其 它不使用虚拟机管理程序启动的刀片服务器中。207为独立的模块时,仍然会增加开发成 本,所以,优选的实施方式中,207是管理模块中的软件模块。模块207与刀片服务器系统 200中的至少一个刀片服务器203可通过管理总线连接以保证启动时的安全性和稳定性。 这样,就可以通过管理总线使用合适的嵌入式虚拟机管理程序远程启动该刀片服务器。图3示意性地示出了根据本发明的一个实施例的提供用于启动刀片服务器系统 中的至少一个刀片服务器的虚拟机管理程序的方法步骤。也就是图2中的模块207与图2 中的其它模块如何协同工作,满足用户的要求的过程。嵌入式虚拟机管理程序本身可以直 接用于启动刀片服务器,并且在上面安装虚拟机,每个虚拟机可以被认为是一个独立硬件 系统之上的独立计算机,安装独立的操作系统。根据图3,在步骤S301,方法开始;在步骤 S302,接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;在步骤S303,获得 该刀片服务器的硬件特征;在步骤S304,根据该刀片服务器的硬件特征,以及刀片服务器 的硬件特征和虚拟机管理程序的对应关系,确定该刀片服务器硬件特征对应的虚拟机管理 程序,其中,确定的该刀片服务器硬件特征对应的虚拟机管理程序被存储在刀片服务器系 统中;在步骤S305,通过管理总线使用确定的虚拟机管理程序远程启动该刀片服务器;在 骤S306,步骤结束。在步骤S305中,刀片服务器的远程启动中,可以采用PXE的方式,优选地,可以利 用远程驱动装置的方式挂载虚拟机管理程序到刀片服务器中,从而启动该刀片服务器。远 程驱动装置(Remote Drive)具有将本地计算机的存储设备(诸如软盘驱动器、⑶-ROM驱 动器、USB驱动器、设备镜像文件)提供给远程主机、并作为与远程主机直接连接的物理设 备的功能。刀片服务器作为远程主机,将远程驱动装置加载的存储设备视为本地物理设备。 使用远程装置挂载时,可以通过将虚拟机管理程序文件在刀片服务器系统的存储器上封装 成IS09660镜像文件,从而使刀片服务器可以访问IS09660镜像文件。IS09660是被广泛支 持的镜像文件格式。IS09660规范定义了针对CD-ROM介质的文件系统,并支持不同的计算 机操作系统,如UNIX,Windows和Mac 0S,以便数据可以在不同平台间相互交换。此外,虚 拟机管理程序是通过管理总线挂载到刀片服务器上。由于管理总线与外部网络隔绝,通过 管理总线可以提高启动时的安全性和稳定性。图4示意性地示出了根据本发明的一个实施例的提供用于启动刀片服务器系统 中的至少一个刀片服务器的虚拟机管理程序的方法步骤。图4中,首先在步骤S401在刀片 服务器系统中存储虚拟机管理程序,虚拟机管理程序可能有一个或多个,并且在步骤S402,在刀片服务器系统中存储刀片服务器的硬件特征和虚拟机管理程序的对应关系。这两个步 骤在本发明中都是一个优选的步骤,因为实际系统中,可能以其它的方式将多个虚拟机管 理程序和刀片服务器的硬件特征和虚拟机管理程序的对应关系保留在系统中。例如由第 三方存储、或者直接将存储这些信息的介质直接插入到硬件设备中等。在步骤S403,接收启动所述至少一个刀片服务器中的一个刀片服务器的请求。在 步骤S404,获得该刀片服务器的硬件特征。刀片服务器的硬件特征可能以各种方式已经存 储在刀片服务器系统,只要直接获得该特征就可以使用,例如对于使用刀片服务器型号作 为硬件特征,就可以直接对应合适的虚拟机管理器;如果没有存储该特征,优选地,可以在 发送启动请求时附带该刀片服务器的硬件特征,此外,该步骤还包括收集该刀片服务器的 硬件特征,具体可以通过管理模块与基板控制器通信获得刀片服务器的硬件特征等多种方 式。刀片服务器的硬件特征包括多种,可以有不同层面的硬件信息,例如对于IBM公司,可 以采用刀片服务器的型号代表其硬件类型,因为不同型号的服务器其使用的CPU可能是不 同的,当然,也可以采用CPU的型号来对应硬件类型等,也可以使用更复杂的方式收集刀片 服务器的硬件特征。例如通过刀片服务器系统中的管理模块,收集刀片服务器的所有硬件 信息CPU、硬盘、主存储器等。在步骤S405,判断存储的多个虚拟机管理程序中是否存在该刀片服务器硬件特征 对应的虚拟机管理程序。该判断步骤为一个优选的步骤,可以认为是确定步骤S304的一部 分,因为可以不进行判断,通过其它手段确保存在需要的虚拟机管理程序,例如,事前已经 存储各刀片服务器硬件特征对应的至少一个虚拟机管理程序,而直接用于启动。不同的硬 件特征需要不同的虚拟机管理程序,或者不同的虚拟机管理程序版本。硬件特征和虚拟机 管理程序的版本之间是一个多对多的映射关系,这样的映射关系可以采用多种方式存储。 例如存储在硬盘上或者内存中,或者由用户通过图形用户界面设置,然后保存的方式等。在步骤S406,根据该刀片服务器的硬件特征,以及刀片服务器硬件特征和虚拟机 管理程序的对应关系,选择该刀片服务器硬件特征对应的虚拟机管理程序,其中,该刀片服 务器硬件特征对应的虚拟机管理程序被存储在刀片服务器系统中;该步骤也是确定步骤 S304的一部分。由于硬件特征和虚拟机管理程序的版本之间是一个多对多的映射关系,在 该刀片服务器硬件特征对应多个虚拟机管理程序时,优选地可以进行选择。选择时,可以随 机地选择一个支持该硬件特征的虚拟机管理程序,也可以由用户设定自己的偏好,根据偏 好来选择合适的虚拟机管理程序。或者,给支持该硬件特征的多个虚拟机管理程序设定不 同的条件,在何种条件下使用何种虚拟机管理程序等。因此,本发明步骤S406还包括选择 步骤(图4未示出)响应于存在该刀片服务器硬件特征对应的多个虚拟机管理程序,从该 刀片服务器硬件特征对应的多个虚拟机管理程序中选择一个作为确定该刀片服务器硬件 特征对应的虚拟机管理程序。然后在步骤S407,通过管理总线使用确定的虚拟机管理程序 远程启动该刀片服务器。这样,在步骤S414,一次提供可启动的虚拟机过程就结束了。根据图4,在另外一种实施方式中,可能因为某种原因,在步骤S406中,刀片服务 器硬件特征对应的虚拟机管理程序并没有被存储在刀片服务器的系统中。这时,步骤S405 就会返回找不到该刀片服务器硬件特征对应的虚拟机管理程序的消息。接收到这样的消息 后就进入步骤S408,向远程服务器发送该刀片服务器硬件特征对应的虚拟机管理程序的请 求。一般来说,刀片服务器系统中可以设定一个或多个远程服务器的地址。这些远程服务器可以作为多种刀片服务器硬件对应的虚拟机管理程序的存储中心,可以由刀片服务器的 厂商提供该厂商生产的各种刀片服务器对应的多种虚拟机管理程序。在步骤S409,判断远 程服务器中是否存在该刀片服务器硬件特征对应的虚拟机管理程序。在步骤S410,响应于 远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,通过网络获得该刀片服 务器硬件特征对应的虚拟机管理程序并存储。这时,刀片服务器系统中就存储了该刀片服 务器硬件特征对应的虚拟机管理程序。可以在步骤S411,更新刀片服务器的硬件特征和虚 拟机管理程序的对应关系。然后回到步骤S406,进行步骤S407,这样,然后在步骤S414,一 次提供可启动的虚拟机过程就结束了。根据图4,在另外一种实施方式中,在步骤S409中,判断远程服务器中是否存储刀 片服务器硬件特征对应的虚拟机管理程序,如果没有,这时进入步骤S412。响应于接收到远 程服务器中不存在该刀片服务器硬件特征对应的虚拟机管理程序的通知,请求更新远程服 务器地址。在步骤S413,接收更新的远程服务器地址。也就是说,如果在现有的一个或多个 服务器中检索不到该刀片服务器硬件特征对应的虚拟机管理程序,用户可以更改服务器的 地址,向更多的服务器查询该刀片服务器硬件特征对应的虚拟机管理程序,然后返回到步 骤S408,开始进一步的判断查询。图4的方法中,并没有限定存储模块在刀片服务器系统中的具体位置。存储模块 用于存储虚拟机管理程序,优选地,还可以存储刀片服务器硬件特征和虚拟机管理程序的 对应关系。在一种优选的实施方式中,该存储模块可以位于刀片服务器系统的管理模块中。 图4的功能成为管理模块管理功能的一部分。这样,获得该刀片服务器的硬件特征也变得 非常容易,因为管理模块本身具可以获得该信息。在同一个发明构思下,图5示意性地示出了根据本发明的一个实施例的提供用于 启动刀片服务器系统中的刀片服务器的虚拟机管理程序的装置框图。该装置对应着图2中 模块207。该装置位于所述刀片服务器系统中。图5中,该装置500包括接收模块501,用 于接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;获得模块502,用于获 得该刀片服务器的硬件特征;确定模块503,用于根据该刀片服务器的硬件特征,以及存储 的刀片服务器的硬件特征和虚拟机管理程序的对应关系,确定该刀片服务器硬件特征对应 的虚拟机管理程序;存储模块504,用于存储确定的该刀片服务器硬件特征对应的虚拟机 管理程序;;处理模块505,用于通过管理总线使用所述确定的虚拟机管理程序远程启动该 刀片服务器。在一种优选的实施方式中,图5装置的确定模块504还包括判断模块(图5中未 示出),用于判断存储的多个虚拟机管理程序中是否存在该刀片服务器硬件特征对应的虚 拟机管理程序;其中,所述处理模块505响应于该刀片服务器硬件特征对应的虚拟机管理 程序存在,控制该刀片服务器硬件特征对应的虚拟机管理程序在该刀片服务器上启动。在一种优选的实施方式中,图5装置的获得模块502还包括收集模块(图5中未 示出),用于收集该刀片服务器的硬件特征。在另外一种优选的实施方式中,图5装置的确定模块504还包括选择模块(图5 中未示出),响应于存在该刀片服务器硬件特征对应的多个虚拟机管理程序,从该刀片服务 器硬件特征对应的多个虚拟机管理程序中选择一个作为确定的该刀片服务器硬件特征对 应的虚拟机管理程序。
在另外一种优选的实施方式中,图5装置中的确定模块504还用于响应于不存在 该刀片服务器硬件特征对应的虚拟机管理程序,向远程服务器发送该刀片服务器硬件特征 对应的虚拟机管理程序的请求;响应于远程服务器中存在该刀片服务器硬件特征对应的虚 拟机管理程序,通过网络获得该刀片服务器硬件特征对应的虚拟机管理程序并存储。在另外一种优选的实施方式中,图5装置的确定模块504还用于响应于不存在该 刀片服务器硬件特征对应的虚拟机管理程序,向远程服务器发送该刀片服务器硬件特征对 应的虚拟机管理程序的请求;响应于接收到远程服务器中不存在该刀片服务器硬件特征对 应的虚拟机管理程序的通知,请求更新远程服务器地址;接收更新的远程服务器地址;向 更新的远程服务器请求发送该刀片服务器硬件特征对应的虚拟机管理程序;响应于更新的 远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,获取该刀片服务器硬件 特征对应的虚拟机管理程序并作为确定的虚拟机管理程序存储。在另外一种优选的实施方式中,图5装置的确定模块504还包括更新模块(图5 中未示出),用于更新刀片服务器的硬件特征和虚拟机管理程序的对应关系。在一种优选的实施方式中,图5的装置在所述刀片服务器系统中的管理模块中。虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这 些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对 实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发 明的范围中。并且根据上述描述,所属技术领域的技术人员知道,本发明可以体现为装置、方法 或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的 软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软 件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可 用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线 的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的 列表)包括以下有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器 (RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁 盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器 件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适 的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后 以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语 境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令 执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机 可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的 数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、 电线、光缆、RF等等。用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何 组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk,C++之类,还包括常规的过程式程序设计语言一一诸如”C”程序设计语言或类似的程序设计 语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独 立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算 机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域 网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供 商来通过因特网)连接到外部计算机。此外,本发明的流程图和/或框图的每个方框以及流程图和/或框图中各方框的 组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计 算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它 可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能 /操作的装置(means)。也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置 以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包 括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means) 的制造品,也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计 算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而 在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定 的功能/操作的过程。附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程 序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代 表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个 用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所 标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际 上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要 注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以 用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机 指令的组合来实现。
权利要求
一种提供用于启动刀片服务器系统中至少一个刀片服务器的虚拟机管理程序的方法,包括接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;获得该刀片服务器的硬件特征;根据该刀片服务器的硬件特征,以及刀片服务器的硬件特征和虚拟机管理程序的对应关系,确定该刀片服务器硬件特征对应的虚拟机管理程序,其中,所述确定的虚拟机管理程序被存储在该刀片服务器系统中;通过管理总线使用所述确定的虚拟机管理程序远程启动该刀片服务器。
2.根据权利要求1所述的方法,该方法还包括在所述刀片服务器系统中存储刀片服务器的硬件特征和虚拟机管理程序的对应关系。
3.根据权利要求1所述的方法,其中所述确定该刀片服务器硬件特征对应的虚拟机管 理程序还包括响应于该刀片服务器系统中存在该刀片服务器硬件特征对应的多个虚拟机管理程序, 从该刀片服务器硬件特征对应的多个虚拟机管理程序中选择一个作为确定的该刀片服务 器硬件特征对应的虚拟机管理程序。
4.根据权利要求1所述的方法,其中所述确定该刀片服务器硬件特征对应的虚拟机管 理程序还包括响应于该刀片服务器系统中不存在该刀片服务器硬件特征对应的虚拟机管理程序,向 远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;响应于远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,获取该刀片 服务器硬件特征对应的虚拟机管理程序并作为确定的虚拟机管理程序存储。
5.根据权利要求1所述的方法,其中所述确定该刀片服务器硬件特征对应的虚拟机管 理程序还包括响应于该刀片服务器系统中不存在该刀片服务器硬件特征对应的虚拟机管理程序,向 远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;响应于接收到远程服务器中不存在该刀片服务器硬件特征对应的虚拟机管理程序的 通知,请求更新远程服务器地址;接收更新的远程服务器地址;向更新的远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;响应于更新的远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,获取 该刀片服务器硬件特征对应的虚拟机管理程序并作为确定的虚拟机管理程序存储。
6.根据权利要求4或5所述的方法,该方法还包括更新刀片服务器的硬件特征和虚 拟机管理程序的对应关系。
7.根据权利要求1-6之一所述的方法,其中所述方法由所述刀片服务器系统中的管理 模块执行。
8.一种提供用于启动刀片服务器系统中的至少一个刀片服务器的虚拟机管理程序的 装置,该装置位于所述刀片服务器系统中,该装置包括接收模块,用于接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;获得模块,用于获得该刀片服务器的硬件特征;确定模块,用于根据该刀片服务器的硬件特征,以及存储的刀片服务器硬件特征和虚 拟机管理程序的对应关系,确定该刀片服务器硬件特征对应的虚拟机管理程序; 存储模块,用于存储所述确定的虚拟机管理程序;处理模块,用于通过管理总线使用所述确定的虚拟机管理程序远程启动该刀片服务ο
9.根据权利要求8所述的装置,其中确定模块还用于响应于该刀片服务器系统中存在该刀片服务器硬件特征对应的多个虚拟机管理程序, 从该刀片服务器硬件特征对应的多个虚拟机管理程序中选择一个作为确定的该刀片服务 器硬件特征对应的虚拟机管理程序。
10.根据权利要求8所述的装置,其中所述存储模块还用于存储刀片服务器的硬件特 征和虚拟机管理程序的对应关系。
11.根据权利要求8所述的装置,其中所述确定模块还用于响应于该刀片服务器系统中不存在该刀片服务器硬件特征对应的虚拟机管理程序,向 远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;响应于远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,获取该刀片 服务器硬件特征对应的虚拟机管理程序并作为确定的虚拟机管理程序存储。
12.根据权利要求8所述的装置,其中所述确定模块还用于响应于该刀片服务器系统中不存在该刀片服务器硬件特征对应的虚拟机管理程序,向 远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;响应于接收到远程服务器中不存在该刀片服务器硬件特征对应的虚拟机管理程序的通知,请求更新远程服务器地址; 接收更新的远程服务器地址;向更新的远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;响应于更新的远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,获取该刀片服务器硬件特征对应的虚拟机管理程序并作为确定的虚拟机管理程序存储。
13.根据权利要求11或12所述的装置,所述确定模块还用于更新刀片服务器的硬件特征和虚拟机管理程序的对应关系。
14.根据权利要求8-13之一所述的装置,其中所述装置在所述刀片服务器系统中的管理模块中。
全文摘要
本发明公开了一种提供用于启动刀片服务器系统中的至少一个刀片服务器的虚拟机管理程序的方法和装置,该方法包括接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;获得该刀片服务器的硬件特征;根据该刀片服务器的硬件特征,以及刀片服务器的硬件特征和虚拟机管理程序的对应关系,确定该刀片服务器硬件特征对应的虚拟机管理程序,其中,所述确定的虚拟机管理程序被存储在刀片服务器系统中;通过管理总线使用确定的虚拟机管理程序远程启动该刀片服务器。使用该方法,硬件厂商很容易为其产品提供嵌入式虚拟机管理程序的支持;用户可以根据需要选择合适的嵌入式虚拟机管理程序,并保证启动时的安全性和稳定性。
文档编号G06F9/46GK101989212SQ20091015969
公开日2011年3月23日 申请日期2009年7月31日 优先权日2009年7月31日
发明者仲海骏, 周宁婕, 杨少辉, 许一震 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1