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

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

Info

Publication number
CN101989212B
CN101989212B CN200910159692.3A CN200910159692A CN101989212B CN 101989212 B CN101989212 B CN 101989212B CN 200910159692 A CN200910159692 A CN 200910159692A CN 101989212 B CN101989212 B CN 101989212B
Authority
CN
China
Prior art keywords
blade server
virtual machine
machine management
management program
hardware characteristics
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200910159692.3A
Other languages
English (en)
Other versions
CN101989212A (zh
Inventor
杨少辉
仲海骏
许一震
周宁婕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Global Technologies International Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN200910159692.3A priority Critical patent/CN101989212B/zh
Priority to US12/844,441 priority patent/US8549127B2/en
Publication of CN101989212A publication Critical patent/CN101989212A/zh
Application granted granted Critical
Publication of CN101989212B publication Critical patent/CN101989212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45541Bare-metal, i.e. hypervisor runs directly on hardware

Abstract

本发明公开了一种提供用于启动刀片服务器系统中的至少一个刀片服务器的虚拟机管理程序的方法和装置,该方法包括:接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;获得该刀片服务器的硬件特征;根据该刀片服务器的硬件特征,以及刀片服务器的硬件特征和虚拟机管理程序的对应关系,确定该刀片服务器硬件特征对应的虚拟机管理程序,其中,所述确定的虚拟机管理程序被存储在刀片服务器系统中;通过管理总线使用确定的虚拟机管理程序远程启动该刀片服务器。使用该方法,硬件厂商很容易为其产品提供嵌入式虚拟机管理程序的支持;用户可以根据需要选择合适的嵌入式虚拟机管理程序,并保证启动时的安全性和稳定性。

Description

提供用于启动刀片服务器的虚拟机管理程序的方法和装置
技术领域
本发明一般涉及计算机领域,具体涉及一种提供用于启动刀片服务器系统中的至少一个刀片服务器的虚拟机管理程序的方法和装置。
背景技术
目前,服务器虚拟化技术已经被IT工业广泛接受,成为数据中心运行多种类型的工作负载的高级方式。服务器虚拟化技术能够使多个不同的、规模小的单一性质的任务合并到一个服务器中,从而节约能源,并且使得资源管理器能够灵活地管理资源。服务器虚拟化技术中,虚拟机管理程序是位于服务器硬件和操作系统软件之间的一种软件程序,它能够对操作系统提供硬件抽象和资源的分布,也就是说,虚拟化服务器的硬件。安装了虚拟机程序的服务器,在资源许可的情况下,可以根据用户的要求,在虚拟机管理程序的管理下,在一个服务器的硬件上安装多个不同的操作系统,这些不同的操作系统彼此独立工作。
服务器虚拟化技术的市场竞争也非常激烈,各虚拟机管理程序供应商为了增加自己产品的竞争性,持续不断地在产品中加入新的特征,使得虚拟机管理程序的代码越来越大,同时也导致了不可避免的程序缺陷,使得虚拟机管理程序容易被攻击,并且不稳定,需要持续地为程序打补丁。
各虚拟机管理程序供应商当前的一种新的策略是提供嵌入式虚拟机管理程序,这样客户就可以很容易安装虚拟机。在嵌入式虚拟机管理程序中,用户无需安装硬件驱动器,虚拟机管理程序通常嵌入到内存芯片,类似于固件和BIOS。它的功能和通常的虚拟机管理程序类似,但是因为是嵌入式的,为了减少程序代码包的大小,它将某些管理功能放在了虚拟机管理程序代码包之外。商用的嵌入式虚拟机管理程序包括:VMware ESXi,Red Hat oVirt,Citrix XenExpress OEMEdition等。其中VMware ESX是一个具有服务管理台以及CIM代理的虚拟机管理程序,存储在一张DVD上,可以进行安装的全集程序。比较而言,VMware ESXi是一个嵌入式的虚拟机管理程序,只需要30MB的空间,它不具备内嵌的全部管理功能。
支持嵌入式虚拟机管理程序的硬件供应商成本很高,因为他们需要重新设计系统主板,来提供闪存芯片,同时需要在系统固件中加入从闪存芯片的虚拟机管理程序启动的选项,还需要加入一些软件功能来管理闪存芯片中的内容,例如更新闪存芯片中的虚拟机管理程序等。这些成本的加入使得硬件供应商目前只能对产品线的某些产品支持嵌入式虚拟机管理。
现有技术中,还有一些方法,可以不必将嵌入式虚拟机管理程序加入到主板的闪存芯片。例如在服务器本地上的硬盘、USB、CDROM、或者远端服务器中放置嵌入式虚拟机管理程序。在服务器的本地硬盘中放置嵌入式虚拟机管理程序,和通常的虚拟机管理程序一样,这对于嵌入式虚拟机管理程序的更新或者打补丁等是很不方便的;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提供了一致的管理接口。刀片服务器系统的管理遵循IPMI(Intelligent Platform ManagementInterface智能平台管理接口)标准。也就是说,刀片服务器的管理模块通过管理总线与各个刀片服务器相连。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)具有将本地计算机的存储设备(诸如软盘驱动器、CD-ROM驱动器、USB驱动器、设备镜像文件)提供给远程主机、并作为与远程主机直接连接的物理设备的功能。刀片服务器作为远程主机,将远程驱动装置加载的存储设备视为本地物理设备。使用远程装置挂载时,可以通过将虚拟机管理程序文件在刀片服务器系统的存储器上封装成ISO9660镜像文件,从而使刀片服务器可以访问ISO9660镜像文件。ISO9660是被广泛支持的镜像文件格式。ISO9660规范定义了针对CD-ROM介质的文件系统,并支持不同的计算机操作系统,如UNIX,Windows和Mac OS,以便数据可以在不同平台间相互交换。此外,虚拟机管理程序是通过管理总线挂载到刀片服务器上。由于管理总线与外部网络隔绝,通过管理总线可以提高启动时的安全性和稳定性。
图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)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言——诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
此外,本发明的流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction  means)的制造品,
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (16)

1.一种提供用于启动刀片服务器系统中至少一个刀片服务器的虚拟机管理程序的方法,包括:
接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;
获得该刀片服务器的硬件特征;
根据该刀片服务器的硬件特征,以及刀片服务器的硬件特征和虚拟机管理程序的对应关系,确定该刀片服务器硬件特征对应的虚拟机管理程序,其中,所述确定的虚拟机管理程序被存储在该刀片服务器系统中;
通过管理总线使用所述确定的虚拟机管理程序远程启动该刀片服务器。
2.根据权利要求1所述的方法,该方法还包括:
在所述刀片服务器系统中存储刀片服务器的硬件特征和虚拟机管理程序的对应关系。
3.根据权利要求1所述的方法,其中所述确定该刀片服务器硬件特征对应的虚拟机管理程序还包括:
响应于该刀片服务器系统中存在该刀片服务器硬件特征对应的多个虚拟机管理程序,从该刀片服务器硬件特征对应的多个虚拟机管理程序中选择一个作为确定的该刀片服务器硬件特征对应的虚拟机管理程序。
4.根据权利要求1所述的方法,其中所述确定该刀片服务器硬件特征对应的虚拟机管理程序还包括:
响应于该刀片服务器系统中不存在该刀片服务器硬件特征对应的虚拟机管理程序,向远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;
响应于远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,获取该刀片服务器硬件特征对应的虚拟机管理程序并作为确定的虚拟机管理程序存储。
5.根据权利要求1所述的方法,其中所述确定该刀片服务器硬件特征对应的虚拟机管理程序还包括:
响应于该刀片服务器系统中不存在该刀片服务器硬件特征对应的虚拟机管理程序,向远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;
响应于接收到远程服务器中不存在该刀片服务器硬件特征对应的虚拟机管理程序的通知,请求更新远程服务器地址;
接收更新的远程服务器地址;
向更新的远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;
响应于更新的远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,获取该刀片服务器硬件特征对应的虚拟机管理程序并作为确定的虚拟机管理程序存储。
6.根据权利要求4或5所述的方法,该方法还包括:更新刀片服务器的硬件特征和虚拟机管理程序的对应关系。
7.根据权利要求1-5之一所述的方法,其中所述方法由所述刀片服务器系统中的管理模块执行。
8.根据权利要求6所述的方法,其中所述方法由所述刀片服务器系统中的管理模块执行。
9.一种提供用于启动刀片服务器系统中的至少一个刀片服务器的虚拟机管理程序的装置,该装置位于所述刀片服务器系统中,该装置包括:
接收模块,用于接收启动所述至少一个刀片服务器中的一个刀片服务器的请求;
获得模块,用于获得该刀片服务器的硬件特征;
确定模块,用于根据该刀片服务器的硬件特征,以及存储的刀片服务器硬件特征和虚拟机管理程序的对应关系,确定该刀片服务器硬件特征对应的虚拟机管理程序;
存储模块,用于存储所述确定的虚拟机管理程序;
处理模块,用于通过管理总线使用所述确定的虚拟机管理程序远程启动该刀片服务器。
10.根据权利要求9所述的装置,其中确定模块还用于:
响应于该刀片服务器系统中存在该刀片服务器硬件特征对应的多个虚拟机管理程序,从该刀片服务器硬件特征对应的多个虚拟机管理程序中选择一个作为确定的该刀片服务器硬件特征对应的虚拟机管理程序。
11.根据权利要求9所述的装置,其中所述存储模块还用于存储刀片服务器的硬件特征和虚拟机管理程序的对应关系。
12.根据权利要求9所述的装置,其中所述确定模块还用于:
响应于该刀片服务器系统中不存在该刀片服务器硬件特征对应的虚拟机管理程序,向远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;
响应于远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,获取该刀片服务器硬件特征对应的虚拟机管理程序并作为确定的虚拟机管理程序存储。
13.根据权利要求9所述的装置,其中所述确定模块还用于:
响应于该刀片服务器系统中不存在该刀片服务器硬件特征对应的虚拟机管理程序,向远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;
响应于接收到远程服务器中不存在该刀片服务器硬件特征对应的虚拟机管理程序的通知,请求更新远程服务器地址;
接收更新的远程服务器地址;
向更新的远程服务器发送获取该刀片服务器硬件特征对应的虚拟机管理程序的请求;
响应于更新的远程服务器中存在该刀片服务器硬件特征对应的虚拟机管理程序,获取该刀片服务器硬件特征对应的虚拟机管理程序并作为确定的虚拟机管理程序存储。
14.根据权利要求12或13所述的装置,所述确定模块还用于更新刀片服务器的硬件特征和虚拟机管理程序的对应关系。
15.根据权利要求9-13之一所述的装置,其中所述装置在所述刀片服务器系统中的管理模块中。
16.根据权利要求14所述的装置,其中所述装置在所述刀片服务器系统中的管理模块中。
CN200910159692.3A 2009-07-31 2009-07-31 提供用于启动刀片服务器的虚拟机管理程序的方法和装置 Active CN101989212B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200910159692.3A CN101989212B (zh) 2009-07-31 2009-07-31 提供用于启动刀片服务器的虚拟机管理程序的方法和装置
US12/844,441 US8549127B2 (en) 2009-07-31 2010-07-27 Activating a blade server in a blade server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910159692.3A CN101989212B (zh) 2009-07-31 2009-07-31 提供用于启动刀片服务器的虚拟机管理程序的方法和装置

Publications (2)

Publication Number Publication Date
CN101989212A CN101989212A (zh) 2011-03-23
CN101989212B true CN101989212B (zh) 2015-01-07

Family

ID=43528033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910159692.3A Active CN101989212B (zh) 2009-07-31 2009-07-31 提供用于启动刀片服务器的虚拟机管理程序的方法和装置

Country Status (2)

Country Link
US (1) US8549127B2 (zh)
CN (1) CN101989212B (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7490325B2 (en) 2004-03-13 2009-02-10 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
CN102428686A (zh) * 2009-05-19 2012-04-25 安全第一公司 用于安全保护云中的数据的系统和方法
US8599863B2 (en) 2009-10-30 2013-12-03 Calxeda, Inc. System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US20130107444A1 (en) 2011-10-28 2013-05-02 Calxeda, Inc. System and method for flexible storage and networking provisioning in large scalable processor installations
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US9054990B2 (en) 2009-10-30 2015-06-09 Iii Holdings 2, Llc System and method for data center security enhancements leveraging server SOCs or server fabrics
US9077654B2 (en) 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US9876735B2 (en) 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US9680770B2 (en) 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9311269B2 (en) 2009-10-30 2016-04-12 Iii Holdings 2, Llc Network proxy for high-performance, low-power data center interconnect fabric
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9648102B1 (en) 2012-12-27 2017-05-09 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
EP2606448B1 (en) 2010-08-18 2016-02-10 Security First Corp. Systems and methods for securing virtual machine computing environments
CN102375769B (zh) * 2010-08-26 2016-12-28 罗普特(厦门)科技集团有限公司 测试完整性控制系统及方法
US9208047B2 (en) * 2010-10-16 2015-12-08 Hewlett-Packard Development Company, L.P. Device hardware agent
EP2458501A1 (en) * 2010-11-30 2012-05-30 France Telecom Method of operating a communication device and related communication device
TW201239614A (en) * 2011-03-28 2012-10-01 Wistron Corp Automated test system and automated test method
US9092594B2 (en) * 2011-10-31 2015-07-28 Iii Holdings 2, Llc Node card management in a modular and large scalable server system
CN103186409A (zh) * 2011-12-30 2013-07-03 英业达集团(天津)电子技术有限公司 虚拟机部署系统
EP2834768B1 (en) 2012-04-06 2018-05-09 Security First Corp. Systems and methods for securing and restoring virtual machines
US9367419B2 (en) 2013-01-08 2016-06-14 American Megatrends, Inc. Implementation on baseboard management controller of single out-of-band communication access to multiple managed computer nodes
EP2960784A4 (en) * 2013-02-21 2016-09-14 Nec Corp VIRTUALIZATION SYSTEM
CN105074653B (zh) * 2013-03-28 2018-11-23 慧与发展有限责任合伙企业 使计算刀片设备和扩展刀片设备的存储器可供由操作系统使用
US10289467B2 (en) 2013-03-28 2019-05-14 Hewlett Packard Enterprise Development Lp Error coordination message for a blade device having a logical processor in another system firmware domain
US9203772B2 (en) 2013-04-03 2015-12-01 Hewlett-Packard Development Company, L.P. Managing multiple cartridges that are electrically coupled together
CN103516800B (zh) * 2013-09-29 2018-04-10 华为技术有限公司 服务器系统及其操作系统启动方法和启动管理节点
TWI533123B (zh) 2013-10-03 2016-05-11 緯創資通股份有限公司 自動化測試及結果比對方法及系統
US9411628B2 (en) * 2014-11-13 2016-08-09 Microsoft Technology Licensing, Llc Virtual machine cluster backup in a multi-node environment
CN104461635B (zh) * 2014-12-11 2018-11-27 新华三技术有限公司 一种系统文件的安装方法和设备
CN106936616B (zh) 2015-12-31 2020-01-03 伊姆西公司 备份通信方法和装置
US11016798B2 (en) 2018-06-01 2021-05-25 The Research Foundation for the State University Multi-hypervisor virtual machines that run on multiple co-located hypervisors
US10620987B2 (en) 2018-07-27 2020-04-14 At&T Intellectual Property I, L.P. Increasing blade utilization in a dynamic virtual environment
CN110011842B (zh) * 2019-03-28 2022-04-19 超越科技股份有限公司 一种面向虚拟化集群的初始化配置方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483974B2 (en) * 2003-09-24 2009-01-27 Intel Corporation Virtual management controller to coordinate processing blade management in a blade server environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7694298B2 (en) * 2004-12-10 2010-04-06 Intel Corporation Method and apparatus for providing virtual server blades
CN100419681C (zh) 2005-09-22 2008-09-17 联想(北京)有限公司 一种网络复制系统与方法
US8677034B2 (en) * 2006-04-28 2014-03-18 Hewlett-Packard Development Company, L.P. System for controlling I/O devices in a multi-partition computer system
JP2008186238A (ja) * 2007-01-30 2008-08-14 Hitachi Ltd 電源管理方法、管理システム、クライアントサーバシステム、電源制御画面の表示方法及び表示システム
US20080201455A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US8281301B2 (en) * 2007-03-30 2012-10-02 Hitachi, Ltd. Method and apparatus for controlling storage provisioning
JP5011191B2 (ja) * 2007-04-02 2012-08-29 株式会社日立製作所 計算機システム及び通信制御方法
WO2009032712A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
US8819676B2 (en) * 2007-10-30 2014-08-26 Vmware, Inc. Transparent memory-mapped emulation of I/O calls
US8560593B2 (en) * 2008-03-27 2013-10-15 Dell Software Inc. System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483974B2 (en) * 2003-09-24 2009-01-27 Intel Corporation Virtual management controller to coordinate processing blade management in a blade server environment

Also Published As

Publication number Publication date
CN101989212A (zh) 2011-03-23
US8549127B2 (en) 2013-10-01
US20110029652A1 (en) 2011-02-03

Similar Documents

Publication Publication Date Title
CN101989212B (zh) 提供用于启动刀片服务器的虚拟机管理程序的方法和装置
CA2804619C (en) Network topology-aware recovery automation
US9182998B2 (en) Remote bios update in system having multiple computers
TWI507985B (zh) 可自動化連續安裝作業系統的電子裝置及其相關方法與系統
JP4647192B2 (ja) 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法
CN109992972B (zh) 一种云环境内信任链的建立方法及系统
US7600005B2 (en) Method and apparatus for provisioning heterogeneous operating systems onto heterogeneous hardware systems
US20090249319A1 (en) Testing method of baseboard management controller
KR101535153B1 (ko) 운영체제 원격 자동설치 제어 시스템 및 방법, 그 프로그램소스를 기록한 기록매체
CA2804379C (en) Recovery automation in heterogeneous environments
JP6089064B2 (ja) ソフトウェア・コンポーネントを更新するための方法、コンピュータ・システムおよびメモリ装置
US20190020540A1 (en) Mechanism for hardware configuration and software deployment
JP5081827B2 (ja) 遠隔データ処理システムを構築するための方法、並びにそのコンピュータ・プログラム及びデータ処理システム
WO2012168995A1 (ja) I/oスイッチの制御方法、仮想計算機の制御方法及び計算機システム
US7234053B1 (en) Methods for expansive netboot
US7293168B2 (en) System and method for initially configuring and booting a device using a device identifier
EP3499365A1 (en) Method and device for use in accessing container
EP3543849A1 (en) Driver management method and host machine
WO2023098052A1 (zh) 一种服务器运维方法、装置、设备及存储介质
US8850174B1 (en) Method for dedicated netboot
JP6331505B2 (ja) 起動制御装置、起動制御方法、及び起動制御プログラム
CN111181953B (zh) 一种鲲鹏虚拟化支持spice协议的方法及装置
WO2012054023A1 (en) Computer system with computers that perform network boots
KR102320313B1 (ko) 서버 메인보드 제어를 위한 통합 bsp 활용 방법
US11899602B2 (en) Smart network interface controller operating system binding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170717

Address after: Hongkong, China

Patentee after: Lenovo International Ltd

Address before: American New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200831

Address after: 23 / F, Lincoln building, 979 King's road, Quarry Bay, Hong Kong, China

Patentee after: Lenovo Global Technology International Co.,Ltd.

Address before: Hong Kong

Patentee before: Lenovo International Ltd.

TR01 Transfer of patent right