CN102105865B - 虚拟机环境中不中断网络连通性的电源管理方法和系统 - Google Patents
虚拟机环境中不中断网络连通性的电源管理方法和系统 Download PDFInfo
- Publication number
- CN102105865B CN102105865B CN200980128632.3A CN200980128632A CN102105865B CN 102105865 B CN102105865 B CN 102105865B CN 200980128632 A CN200980128632 A CN 200980128632A CN 102105865 B CN102105865 B CN 102105865B
- Authority
- CN
- China
- Prior art keywords
- blade
- vnic
- migration
- virtual
- virtual machine
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Power Sources (AREA)
- Stored Programmes (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
Abstract
一种电源管理方法。所述方法包括收集刀片机箱上的第一刀片和第二刀片的资源使用数据,根据资源使用数据和第一迁移策略,将运行于第一刀片上的每个虚拟机(VM)迁移到第二刀片,其中第一迁移策略定义何时减少在刀片机箱上运行的刀片的数目,和在从第一刀片迁出运行于第一刀片上的每个VM之后,使第一刀片掉电。
Description
背景技术
惯例地,在计算机相关领域中,网络是配置成相互通信的物理计算机系统的结构。在一些情况下,物理计算机系统包括虚拟机,虚拟机也可被配置成与网络交互作用(即,与网络中的其它物理计算机和/或虚拟机通信)。存在许多不同类型的网络,可根据网络的各个方面,比如规模、连接方法、网络中的计算机系统的功能关系、和/或网络拓扑对网络分类。
就连接方法而论,网络可被粗略分类成有线网络(利用有形的连接介质,比如以太网电缆)或者无线网络(利用无形的连接介质,比如无线电波)。也可在单个网络中组合不同的连接方法。例如,有线网络可被扩展成允许设备与网络无线连接。不过,诸如路由器、交换机和服务器之类的核心网络组件一般是利用物理线路连接的。在受IEEE 802.3工作组监督的电气和电子工程师协会(IEEE)802.3标准中定义了以太网。
为了创建有线网络,必须使计算机系统相互物理连接。即,物理线路(例如,以太网电缆)的两端必须与构成网络的计算机系统中的网络接口卡物理连接。为了重新配置网络(例如,替换服务器或者改变网络拓扑),必须使一条或多条物理线路从计算机系统断开,并连接到不同的计算机系统。
发明内容
一般而言,在一个方面,本发明涉及一种电源管理方法。所述方法包括收集刀片机箱上的第一刀片和第二刀片的资源使用数据,根据资源使用数据和第一迁移策略,把运行于第一刀片上的每个虚拟机(VM)迁移到第二刀片,其中第一迁移策略定义何时减少在刀片机箱上运行的刀片的数目,和在从第一刀片迁出运行于第一刀片上的每个VM之后,使第一刀片断电。
一般而言,在一个方面,本发明涉及一种电源管理方法。所述方法包括根据与在迁移策略中规定的第一时间相符的第一当前时间,触发第一迁移,其中迁移策略定义何时减少在刀片机箱上运行的刀片的数目,根据第一迁移的触发,选择要断电的第一刀片,根据第一迁移的触发,把运行于第一刀片上的每个虚拟机(VM)迁移到第二刀片,和在从第一刀片迁出运行于第一刀片上的每个VM之后,使第一刀片断电。
一般而言,在一个方面,本发明涉及一种计算机可读介质,所述计算机可读介质包括包含于其中的计算机可读程序代码,所述计算机可读程序代码使计算机系统收集刀片机箱上的第一刀片和第二刀片的资源使用数据,根据资源使用数据和第一迁移策略,把运行于第一刀片上的每个虚拟机(VM)迁移到第二刀片,其中第一迁移策略定义何时减少在刀片机箱上运行的刀片的数目,和在从第一刀片迁出运行于第一刀片上的每个VM之后,使第一刀片断电。
根据下面的说明和附加权利要求,本发明的其它方面将是显而易见的。
附图说明
图1表示按照本发明的一个或多个实施例的刀片机箱的示图。
图2表示按照本发明的一个或多个实施例的刀片的示图。
图3表示按照本发明的一个或多个实施例的网络直通(networkexpress)管理器的示图。
图4表示按照本发明的一个或多个实施例的虚拟机的示图。
图5表示按照本发明的一个或多个实施例的创建虚拟网络路径的方法的流程图。
图6A-6C表示按照本发明的一个或多个实施例的创建虚拟网络路径的例子。
图7A-7B表示按照本发明的一个或多个实施例的迁移虚拟机的方法的流程图。
图8A-8B表示按照本发明的一个或多个实施例的迁移虚拟机的例子。
图9A-10表示本发明的一个或多个实施例中的迁移虚拟机以进行电源管理的流程图。
图11A-11C表示按照本发明的一个或多个实施例的迁移虚拟机以进行电源管理的例子。
具体实施方式
现在参考附图,详细说明本发明的具体实施例。考虑到一致性,各个图中的相同元件用相同的附图标记表示。
在本发明的实施例的下述详细说明中,陈述了众多的具体细节,以便更透彻地理解本发明。不过,对本领域的普通技术人员来说,显然可在没有这些具体细节的情况下实践本发明。在其它情况下,未详细说明公知的特征,以避免不必要地使说明变复杂。
一般而言,本发明的实施例提供一种将位于刀片机箱中的一个刀片上的虚拟机迁移到刀片机箱中的另一个刀片,以进行电源管理的方法和系统。在本发明的一个实施例中,在迁移虚拟机之后,使该刀片掉电。从而,能够降低系统的总功耗。
此外,本发明的实施例提供一种当需要额外的资源时,对刀片加电的机制。具体地说,在本发明的一个或多个实施例中,监控每个虚拟机的性能,以确保每个刀片在按照性能标准运行。如果由于资源的缺乏虚拟机的运行不遵守性能标准,那么一个刀片被加电,以提供额外的资源,并且虚拟机被迁移到该加电的刀片。
额外地或者作为替代地,按照本发明的一个或多个实施例,刀片的加电和掉电可以是基于时间的。具体地说,在某一时间,可以选择使某一刀片掉电。在使选择的刀片掉电之前,可从该刀片迁移虚拟机。相反,可以选择使某一刀片被加电。具体地说,按照本发明的一个或多个实施例,该刀片被加电,并且虚拟机被迁移到该刀片。
图1表示按照本发明的一个或多个实施例的刀片机箱(100)的示图。刀片机箱(100)包括通信上与机箱互连(106)耦接的多个刀片(例如,刀片A(102)、刀片B(104))。例如,刀片机箱(100)可以是太阳微系统公司的Sun Blade 6048机箱、IBM机箱、惠普公司的HP BladeSystem机壳,或者任何其它类型的刀片机箱。刀片可以是与刀片机箱(100)兼容的任意类型的刀片。是总部设于Armonk,New York的国际商用机器公司(IBM)的注册商标。
在本发明的一个或多个实施例中,刀片被配置成经由机箱互连(106)相互通信。从而,刀片机箱(100)允许刀片之间的通信,而不需要刀片之间的传统网络线路(比如以太网电缆)。例如,取决于刀片机箱(100)的类型,机箱互连(106)可以是快速外围组件接口(Peripheral Component Interface Express,PCI-E)底板,并且刀片可被配置成通过PCI-E端点相互通信。本领域的技术人员会认识到可以使用其它连接技术来连接刀片到刀片机箱。
继续图1的讨论,为了与在刀片机箱(100)之外的客户端通信,刀片被配置成共享物理网络接口(110)。物理网络接口(110)包括一个或多个网络端口(例如,以太网端口),并提供刀片机箱(100)和刀片机箱(100)所连接到的网络(即,在刀片机箱(100)外部的互连计算机系统)之间的接口。例如通过利用多个网络端口,刀片机箱(100)可连接到多个网络。
在一个或多个实施例中,物理网络接口(110)由网络直通管理器(108)管理。具体地说,网络直通管理器(108)被配置成管理刀片对物理网络接口(110)的访问。网络直通管理器(108)还可被配置成按照下面详细讨论的方式,管理刀片它们自己之间的内部通信。网络直通管理器(108)可以是硬件、软件、和/或包括管理网络通信量的可执行逻辑的固件的任意组合。
图2表示按照本发明的一个或多个实施例的刀片(200)的示图。“刀片”是一个专门术语,指的是位于刀片机箱(例如,图1的刀片机箱(100))内的计算机系统。刀片一般包括比独立的计算机系统或者常规服务器少的组件。在本发明的一个实施例中,也可代替刀片或者与刀片结合地使用功能完整的独立计算机系统或常规服务器。一般而言,刀片机箱中的刀片均包括一个或多个处理器和关联存储器。刀片还可包括存储设备(例如,硬盘驱动器和/或光盘驱动器)和目前的计算机系统(未示出)特有的众多其它元件和功能,例如键盘、鼠标、和/或诸如监视器之类的输出装置。一个或多个上面提及的组件可被位于刀片机箱中的多个刀片共享。例如,多个刀片可以共享单个输出设备。
继续图2的讨论,刀片(200)包括配置成运行一个或多个虚拟机(例如,虚拟机C(202)、虚拟机D(204))的主机操作系统(未示出)。一般地说,虚拟机是借助抽象层继承主机操作系统的基础功能的不同操作环境。在本发明的一个或多个实施例中,每个虚拟机包括操作系统的独立实例(例如,操作系统实例C(206),操作系统实例D(208))。例如,虚拟化计划允许在主机操作系统中运行的多个来宾操作系统。是Xen项目顾问委员会(Xen ProjectAdvisory Board)管理的商标。在本发明的一个实施例中,主机操作系统支持虚拟运行环境(未示出)。虚拟运行环境的一个例子是SolarisTM Container。在这种情况下,SolarisTM Container可在主机操作系统中运行,所述主机操作系统可以是SolarisTM操作系统。SolarisTM是太阳微系统公司的商标。在本发明的一个实施例中,主机操作系统可包括虚拟机和虚拟运行环境。
存在许多不同种类的虚拟机和虚拟运行环境。此外,虚拟机可包括许多不同种类的功能,比如交换机、路由器、防火墙、负载均衡器、应用服务器、任何其它种类的支持网络的服务、或者它们的任意组合。
在本发明的一个或多个实施例中,虚拟机和虚拟运行环境借助VNIC (例如,VNIC C(210)、VNIC D(212))从主机操作系统继承网络连通性。对虚拟机和虚拟运行环境来说,VNIC表现为物理NIC。在本发明的一个或多个实施例中,VNIC的使用允许任意数目的虚拟机或/和虚拟运行环境共享刀片(200)的连网功能。此外,在本发明的一个或多个实施例中,每个虚拟机或/和虚拟运行环境可与任意数目的VNIC有关,从而增大虚拟机和/或虚拟运行环境可以采用的连网功能的种类方面的灵活性。例如,虚拟机可使用一个VNIC用于输入的网络通信量,使用另一个VNIC用于输出的网络通信量。在以Nicolas G.Droux,Erik Nordmark和Sunay Tripathi的名义的共同拥有的美国专利申请11/489942号,题为“Multiple Virtual NetworkStack Instances using Virtual Network Interface Cards”,US2008-0019359中详细说明了按照本发明的一个或多个实施例的VNIC,该专利申请的内容整体被包括在此引为参考。
另外,在以Sunay Tripathi,Tim P.Marsland和Nicolas G.Droux的名义的共同拥有的美国专利申请11/480,000号,“Method andSystem for Controlling Virtual Machine Bandwidth”,US2008-0002704中也详细说明了按照本发明的一个或多个实施例的VNIC,该专利申请的内容整体被包括在此引为参考。
在本发明的一个实施例中,刀片机箱中的刀片之一包括在虚拟机(也称为控制虚拟机)中运行的控制操作系统。控制操作系统被配置成管理虚拟线路和/或虚拟网络路径的创建和维护(下面讨论)。另外,控制操作系统还包括在刀片机箱中的刀片之间迁移虚拟机的功能(下面讨论)。
继续图2的讨论,每个刀片的连网功能(扩展地,VNIC继承的连网功能)包括经由机箱互连对共用物理网络接口的访问和与其它刀片的通信。图3表示按照本发明的一个或多个实施例的网络直通管理器(300)的示图。网络直通管理器(300)被配置成路由往来于位于刀片中的VNIC的网络通信量。具体地说,网络直通管理器(300)包括虚拟交换表(302),它包括机箱互连中VNIC标识符(304)到VNIC位置(306)的映射。在一个或多个实施例中,VNIC标识符(304)是网际协议(IP)地址,VNIC位置(306)是与刀片有关的PCI-E端点(例如,如果机箱互连是PCI-E底板的话)。在本发明的另一个实施例中,VNIC标识符(304)可以是媒体访问控制(MAC)地址。或者,可以使用另一种路由方案。
在一个或多个实施例中,网络直通管理器(300)被配置成经由物理网络接口接收网络通信量,并利用虚拟交换表(302)将网络通信量路由到适当的位置(即,VNIC所位于的位置)。在本发明的一个实施例中,一旦确定将给定分组路由到何处,该分组就被保存在适当的接收缓冲器(308)或发送缓冲器(310)中。在本发明的一个实施例中,在虚拟交换表(302)中列出的每个VNIC与一个接收缓冲器(308)和一个发送缓冲器(310)关联。接收缓冲器(308)被配置成在给定VNIC接收(借助轮询或中断机制)分组之前,临时保存前往该VNIC的分组。类似地,发送缓冲器(310)被配置成在将分组向其分组目的地发送之前,临时保存从VNIC接收的分组。
在本发明的一个实施例中,接收缓冲器(308)使VNIC能够实现带宽控制。更具体地说,当VNIC实现带宽控制时,分组保留在接收缓冲器(308)中,直到VNIC(或者关联的进程)向接收缓冲器(308)请求分组为止。因而,如果接收分组的速率大于VNIC(或者关联的进程)请求分组的速率,那么一旦接收缓冲器已满,分组就会从接收缓冲器丢失。本领域的技术人员会认识到从接收缓冲器丢失分组的速率由接收缓冲器的大小确定。
继续图3的讨论,网络直通管理器(300)可被配置成在位于刀片机箱中的不同VNIC之间路由网络通信量。在本发明的一个或多个实施例中,按照这种方式使用虚拟交换表(302)可使包括虚拟线路的虚拟网络路径的创建(下面讨论)更容易。从而,通过利用虚拟交换表(302),位于不同刀片中的虚拟机可被互连,从而形成任意的虚拟网络拓扑,其中与每个虚拟机关联的VNIC不需要知道其它VNIC的物理位置。此外,如果将虚拟机从一个刀片迁移到另一个刀片,那么通过更新虚拟交换表(302)以反映对应的VNIC的新物理位置(例如,不同的PCI-E端点),可以保持虚拟网络拓扑。
在一些情况下,来自一个VNIC的网络通信量可以以位于相同刀片中但是与不同的虚拟机关联的VNIC为目的地。在本发明的一个或多个实施例中,虚拟交换机可被用于VNIC之间路由网络通信量而与刀片机箱无关。在以Nicolas G.Droux,Sunay Tripathi和ErikNordmark的名义的共同拥有的美国专利申请11/480261号,名称为“Virtual Switch”(US 2008-0002683)中详细讨论了按照本发明的一个或多个实施例的虚拟交换机,该专利申请的内容被整体包括在此引为参考。
例如,图4表示按照本发明的一个或多个实施例的虚拟交换机(400)的示图。虚拟交换机(400)提供与虚拟机X(402)有关的VNIC X(406)和与虚拟机Y(404)有关的VNIC Y(408)之间的连通性。在一个或多个实施例中,虚拟交换机(400)由主机(410)管理,虚拟机X(402)和虚拟机Y(404)位于所述主机(410)之内。具体地说,主机(410)可被配置成识别以相同刀片中的VNIC为目标的网络通信量,并利用虚拟交换机(400)将该通信量路由给该VNIC。在本发明的一个或多个实施例中,通过避免不必要的往返网络通信量,虚拟交换机(400)可减少刀片机箱和网络直通管理器的使用。
图5表示按照本发明的一个或多个实施例的创建虚拟网络路径的方法的流程图。在本发明的一个或多个实施例中,可以省略、重复和/或按照不同的顺序执行图5中所示的一个或多个步骤。因此,本发明的实施例不应被视为局限于图5中所示步骤的具体安排。
在本发明的一个或多个实施例中,在步骤502,为多个虚拟机实例化VNIC。如上所述,虚拟机位于刀片中。此外,虚拟机每个可以与一个或多个VNIC关联。在本发明的一个或多个实施例中,实例化VNIC涉及将VNIC对象载入存储器中,并向主机(即托管与该VNIC关联的虚拟机的操作系统)登记该VNIC对象。登记VNIC对象建立主机的连网功能和VNIC提供的抽象层之间的接口。之后,当主机收到以该VNIC为目的地的网络通信量时,主机将该网络通信量转发给该VNIC。在上面引为参考的美国专利申请11/489,942中详细讨论了按照本发明的一个或多个实施例的VNIC的实例化。
如上所述,单个刀片可包括配置成相互通信的多个虚拟机。在本发明的一个或多个实施例中,在步骤504,实例化虚拟交换机以使虚拟机之间的通信更容易。如上所述,虚拟交换机允许与机箱互连无关地进行VNIC之间的通信。在上面引为参考的美国专利申请11/480,261中详细讨论了按照本发明的一个或多个实施例的虚拟交换机的实例化。
在本发明的一个或多个实施例中,在步骤506,填充虚拟交换表。如上所述,虚拟交换表可以位于配置成管理流向虚拟机和从虚拟机流出的网络通信量的网络直通管理器中。填充虚拟交换表涉及使VNIC标识符(例如,IP地址)与VNIC位置(例如,PCI-E端点)相联系。在本发明的一个或多个实施例中,响应经控制操作系统,即,包括控制网络直通管理器的功能的操作系统发出的用户命令,填充该虚拟交换表。
在本发明的一个或多个实施例中,VNIC包括用于控制网络分组的处理的设置。在本发明的一个或多个实施例中,在步骤508,按照连网策略向VNIC分配设置。利用VNIC中的设置,可强制执行许多不同种类的连网策略。例如,设置可被用于将刀片的可用带宽的特定部分提供给一个或多个VNIC。作为另一个例子,设置可被用于限制将VNIC用于特定种类的网络通信量,比如IP语音(VoIP)或传输控制协议/IP(TCP/IP)。此外,虚拟网络路径中的多个VNIC的设置可以是相同的。例如,虚拟网络路径中的VNIC可被给予相同的带宽限制,从而便于整个虚拟网络路径内的数据流一致。在本发明的一个或多个实施例中,网络直通管理器被配置成将期望的设置传送给VNIC。
在本发明的一个或多个实施例中,一旦实例化了VNIC并且填充了虚拟交换表,网络通信量就可从一个刀片中的VNIC传送给另一个刀片中的VNIC。这两个VNIC之间的连接可被看作“虚拟线路”,因为这种安排避免了对诸如以太网电缆之类的传统网络线路的需要。在即使网络通信量可能经过相同的刀片(即,利用位于该刀片中的相同虚拟机或不同虚拟机),经过一条虚拟线路的网络通信量也与经过另一条虚拟线路的网络通信量隔离的意义上,虚拟线路的作用与物理线路类似。
在本发明的一个实施例中,每条虚拟线路与一个优先权相关联(下面在图11A-11C中讨论)。另外,每条虚拟线路可与安全设置相关联,所述安全设置定义通过虚拟线路传送的分组的分组安全性(例如,加密等)。在本发明的一个实施例中,基于每条线路定义带宽、优先权和安全设置。此外,对在虚拟线路两端的VNIC来说,上述各种设置相同。
在本发明的一个实施例中,两条或更多条虚拟线路的组合可被看作“虚拟网络路径”。在本发明的一个实施例中,虚拟网络路径中的所有虚拟线路的带宽、优先权和安全设置相同。此外,对在构成虚拟网络路径的虚拟线路每端的VNIC来说上述设置都相同。
继续图5的讨论,一旦创建和配置了虚拟线路和/或虚拟网络路径,就可例如经由第一虚拟线路(步骤510),随后经由第二虚拟线路(步骤512),通过虚拟网络路径传送网络通信量。例如,当经由物理网络接口从客户端收到网络通信量时,一条虚拟线路可位于物理网络接口和VNIC之间,并且第二条虚拟线路可位于该VNIC和另一个VNIC之间。在本发明的一个实施例中,至少步骤502-508由控制操作系统执行和/或管理。
图6A-6C表示按照本发明的一个或多个实施例的创建虚拟网络路径的例子。具体地说,图6A表示按照本发明的一个或多个实施例的实际拓扑(600)的示图,图6B表示如何通过实际拓扑(600)路由网络通信量,图6C表示通过如图6B中所示路由网络通信量而创建的虚拟网络拓扑(640)。图6A-6C只是作为例子提供的,不应被解释成限制本发明的范围。
首先参见图6A,实际拓扑(600)包括多个虚拟机。具体地说,实际拓扑(600)包括各自在分开的虚拟机中运行的路由器(602)、防火墙(604)、应用服务器M(606)、和应用服务器N(608)。虚拟机位于通信上与机箱互连(622)耦接的刀片中,并且包括由刀片经由VNIC(即,VNIC H(610)、VNIC J(612)、VNIC K(614)、VNIC M(618)和VNIC N(620))提供的连网功能。如图6A中所示,每个虚拟机与所有其它虚拟机通信地耦接。不过,如下所述,尽管在虚拟机之间存在完全连通性,不过本发明的实施例创建虚拟线路和/或虚拟网络路径,以限制虚拟机的连通性。为了便于举例说明,在图6A中未示出刀片本身。
在本发明的一个或多个实施例中,路由器(602)、防火墙(604)、应用服务器M(606)和应用服务器N(608)都位于独立的刀片中。作为替代地,如上所述,刀片可包括多个虚拟机。例如,路由器(602)和防火墙(604)可位于单个刀片中。此外,每个虚拟机可以与数目和图6A中所示的VNIC的数目不同的VNIC相关联。
继续图6A的讨论,网络直通管理器(624)被配置成管理流向虚拟机和从虚拟机流出的网络通信量。此外,网络直通管理器(624)被配置成管理对用于与客户端O(628)和客户端P(630)通信的物理网络接口(626)的访问。
在图6A中,虚拟机、VNIC、机箱互连(622)、网络直通管理器(624)和物理网络接口(626)都位于机箱互连之内。客户端O(628)和客户端P(630)位于机箱互连所连接到的一个或多个网络(未示出)中。
图6B表示按照本发明的一个或多个实施例,如何通过实际拓扑(600)路由网络通信量。在本发明的一个或多个实施例中,网络直通管理器(624)通过利用虚拟交换表(634)完成路由。
如上所述,往来于VNIC路由的网络通信量可被看作流经“虚拟线路”。例如,图6B表示位于应用服务器M(606)和应用服务器N(608)之间的虚拟线路(632)。为了使用该虚拟线路,应用服务器M(606)经VNIC M(618)传送网络分组。该网络分组寻址到与应用服务器N(608)关联的VNIC N(620)。网络直通管理器(624)经机箱互连(622)接收该网络分组,检查该网络分组,并利用虚拟交换表(634)确定目标VNIC位置。如果在虚拟交换表(634)中未找到目标VNIC的位置,那么该网络分组可被丢弃。在本例中,目标VNIC位置是VNIC N(620)所位于的刀片。网络直通管理器(624)将网络分组路由给目标VNIC位置,应用服务器N(608)经由VNICN(620)接收该网络分组,从而结束该虚拟线路(632)。在本发明的一个或多个实施例中,虚拟线路(632)也可被用于沿相反的方向,即,从应用服务器N(608)向应用服务器M(606)传送网络通信量。
此外,如上所述,可以组合多个虚拟线路以形成“虚拟网络路径”。例如,图6B表示始于客户端O(628),经过路由器(602),经过防火墙(604),并止于应用服务器M(606)的虚拟网络路径R(636)。具体地说,虚拟网络路径R(636)包括下述虚拟线路。一条虚拟线路位于物理网络接口(626)和VNIC H(610)之间。另一条虚拟线路位于VNIC J(612)和VNIC K(614)之间。又一条虚拟线路位于VNIC L(616)和VNIC M(618)之间。如果路由器(602)和防火墙(604)位于相同的刀片中,那么虚拟交换机可代替位于VNIC J(612)和VNIC K(614)之间的虚拟线路,从而从路由器(602)和防火墙(604)之间的通信中消除机箱互连(622)的使用。
类似地,图6B表示始于客户端P(630),经过路由器(602),并止于应用服务器N(608)的虚拟网络路径S(638)。虚拟网络路径S(638)包括物理网络接口(626)和VNIC H(610)之间的虚拟线路,和VNIC J(612)和VNIC N(620)之间的虚拟线路。虚拟网络路径R(636)和虚拟网络路径S(638)之间的差异例示了多个虚拟网络路径可怎样位于相同的刀片机箱中。
在本发明的一个或多个实施例中,对每个虚拟网络路径分别应用VNIC设置。例如,对虚拟网络路径R(636)和虚拟网络路径S(638)可以使用不同的带宽限制。从而,虚拟网络路径可被看作包括许多和传统网络路径(例如,利用以太网电缆的网络路径)相同的特征,尽管在刀片机箱内没有使用传统的网络线路。不过,在刀片机箱外部,例如在物理网络接口(626)和客户端O(628)和/或客户端P(630)之间仍然需要传统的网络线路。
图6C表示因图6B中所示的虚拟网络路径R(636)、虚拟网络路径S(638)和虚拟线路(632)的使用而产生的虚拟网络拓扑(640)的示图。虚拟网络拓扑(640)允许网络的各个组件(即,路由器(602)、防火墙(604)、应用服务器M(606)、应用服务器N(608)、客户端O(628)和客户端P(630))按照和传统有线网络相似的方式互相作用。不过,如上所述,位于刀片机箱内的组件(即,路由器(602)、防火墙(604)、应用服务器M(606)和应用服务器N(608))之间的通信是在不使用传统网络线路的情况下完成的。
本发明的实施例允许利用虚拟线路创建虚拟网络路径,而不需要传统的网络线路。具体地说,通过使刀片中的虚拟机经由机箱互连耦接,并利用VNIC和虚拟交换表路由网络通信量,避免了对虚拟机之间的传统网络线路的需要。从而,本发明的实施例有利于虚拟网络拓扑的创建和重新配置,而没有创建传统有线网络时通常涉及的体力劳动。
在本发明的一个实施例中,一个或多个虚拟机可从刀片机箱中的一个刀片迁移到另一个刀片。由于许多因素,迁移可能是必需的。例如,虚拟机可能需要从一个刀片迁移到另一个刀片,因为该虚拟机需要额外的资源,而在该虚拟机目前运行的刀片上得不到所述额外的资源。作为替代地,虚拟机可能需要从一个刀片迁移到另一个刀片,因为该虚拟机目前运行的刀片将要进行掉电、停止运转和/或其它暂停操作。作为替代地,可根据迁移策略触发迁移。下面在图9A-11C中讨论迁移策略。
在本发明的一个实施例中,在迁移前后至少保持与虚拟机关联的带宽约束,以致在虚拟机的迁移前后,至少与虚拟机关联的带宽约束是相同的。本领域的技术人员会认识到与给定虚拟机关联的带宽是由与该虚拟机关联的VNIC实行的。由于VNIC位于运行于该刀片上的主机中,因此主机包括使VNIC与虚拟机关联和设定VNIC的带宽的功能。
图7A-7B表示按照本发明的一个或多个实施例迁移虚拟机的方法的流程图。在本发明的一个或多个实施例中,可以省略、重复和/或按照不同的顺序执行图7A-7B中所示的一个或多个步骤。因此,本发明的实施例不应被视为局限于图7A-7B中所示步骤的具体安排。
参见图7A,在步骤700,识别要迁移的虚拟机(VM)。是否要迁移给定VM的决定可基于许多因素,上面讨论了其中的一些因素。在步骤702,获得关于该VM的迁移标准。在本发明的一个实施例中,迁移标准对应于VM的带宽约束(例如,VM可以得到的最小带宽和/或最大带宽)、硬件约束(例如,VM需要的最少数量的计算资源)、软件约束(例如,VM需要的主机操作系统的版本),和/或VM需要的任何其它约束。在本发明的一个实施例中,可从VM、VM所运行于的主机、控制操作系统,或者它们的任意组合获得迁移约束。
在步骤704,控制操作系统向运行于刀片机箱中的刀片上的主机发送包括迁移标准的请求。在本发明的一个实施例中,控制操作系统利用多播消息发送该请求。在步骤706,控制操作系统接收来自主机的响应。所述响应可包括:(i)指示发送响应的主机不能满足迁移标准的响应,或(ii)指示发送响应的主机能够满足迁移标准的响应。
在步骤708,利用在步骤706中收到的响应,确定是否存在可用于迁移VM的足够资源。如果资源不足,那么方法进入图7B(下面说明)。或者,如果资源充足,那么方法进入步骤710。在步骤710,选择目标主机。目标主机对应于VM将被迁移到的主机。该选择由控制操作系统根据在步骤706中接收的响应做出。
在步骤712,暂停VM上的运行。在本发明的一个实施例中,暂停VM还可包括暂停关联的VNIC的运行(下面讨论)。在步骤714,获得为迁移VM而需要的状态信息。在本发明的一个实施例中,状态信息对应于从VM在步骤712中被暂停之前的状态中恢复在目标主机上的VM的运行所需的信息。
在步骤716,识别要与VM一起迁移的VNIC。识别VNIC对应于确定哪些VNIC与该VM关联。在本发明的一个实施例中,如果VNIC与VM在相同的主机上运行,并且VM从该VNIC接收分组和/或向该VNIC发送分组,那么该VNIC与所述VM关联。在步骤718,获得迁移在步骤716中识别的VNIC所需的信息。在本发明的一个实施例中,所述信息对应于从在步骤712中暂停VM之前的VNIC的状态中,在目标主机上恢复VNIC运行所需的信息。
在步骤720,VM和VNIC被迁移到目标主机。在步骤722,在目标主机上配置VM和VNIC。在本发明的一个实施例中,VM和VNIC被配置成使得它们在目标主机上,按照和它们在源主机(即,它们所迁出的主机)上的工作方式相同的方式工作。配置VM和VNIC还可包括配置目标主机的各个部分。在本发明的一个实施例中,利用在步骤714和718中获得的信息配置VM和VNIC。在本发明的一个实施例中,步骤722由控制操作系统启动和监控。在步骤724,更新虚拟交换表以反映在步骤716中识别的VNIC在目标主机上。在步骤726,在目标主机上恢复VM的运行。
参见图7B,如上所述,如果资源不足,那么方法进入图7B。在步骤726,获得在刀片机箱中工作的优先权最低的有效虚拟线路。在本发明的一个实施例中,控制操作系统保持包括在刀片机箱中工作的各个虚拟线路的优先权的数据结构。此外,在本发明的一个实施例中,只有控制操作系统才包括设定和改变虚拟线路的优先权的功能。
在步骤728,暂停优先权最低的有效虚拟线路。在本发明的一个实施例中,暂停优先权最低的有效虚拟线路包括暂停在该虚拟线路每端的VNIC的操作。另外,与所述VNIC关联的VM也可被暂停。此外,暂停VNIC,和可选地暂停VM导致释放被暂停的VNIC和VM所运行于的相应刀片上的带宽和计算资源。
在步骤730,控制操作系统向运行于刀片机箱中的刀片上的主机发送包括迁移标准的请求。在本发明的一个实施例中,控制操作系统使用多播消息发送所述请求。在步骤732,控制操作系统从主机接收响应。所述响应可包括:(i)指示发送响应的主机不能满足迁移标准的响应,或(ii)指示发送响应的主机能够满足迁移标准的响应。
在步骤734,利用在步骤732中接收的响应,确定是否存在可用于迁移VM的足够资源。如果资源不足,那么方法进入步骤726。作为替代地,如果资源充足,则方法进入图7A中的步骤710。
在本发明的一个实施例中,如果按照步骤728暂停了一条或多条虚拟线路,那么在图7A和7B中描述的方法可被用于迁移与被暂停的虚拟线路关联的VM。在本发明的一个实施例中,迁移VM以恢复被暂停的虚拟线路的有效性的顺序是以被暂停的虚拟线路的优先权为基础的。
图8A-8B表示按照本发明的一个或多个实施例迁移虚拟机的例子。图8A-8B只是作为例子提供的,不应被解释成限制本发明的范围。
参见图8A,考虑其中系统包括与刀片机箱(未示出)中的机箱互连(824)连接的三个刀片(800,802,804)的场景。该系统最初被配置成使得刀片A(800)包括主机A(806),刀片B(802)包括主机B(808)和刀片C(804)包括主机C(810)。
如图8A中所示,主机A(806)包括与控制操作系统(OS)(812)关联的VNIC A(818),和与虚拟机(VM)A(814)关联的VNIC B(820)。此外,主机B(808)包括与VM B(816)关联的VNIC C(822)。主机C(810)最初不包括任何VM。
如图8A中所示,VM A(814)使用带宽限制为5吉比特/秒(GBPS)的虚拟线路,与VM B(816)通信。该虚拟线路连接VNICB(820)和VNIC C(822)。因而,来自VM A(814)的网络通信量经VNIC B(820)被发送给接收缓冲器C(830),其中所述网络通信量留在接收缓冲器C(830),直到它被发送给VNIC C(822),或者被VNIC C(822)请求为止。类似地,来自VM B(816)的网络通信量经VNIC C(822)被发送给接收缓冲器B(828),所述网络通信量留在接收缓冲器B(828),直到它被发送给VNIC B(820),或者被VNIC B(820)请求为止。接口管理器(826)中的虚拟交换表(832)实现该虚拟线路。
在如上所述和如图8A中所示配置了系统之后,确定VM A(814)需要额外的处理资源,并且在主机A(806)上得不到这样的资源。按照图7A和7B,控制OS确定关于VM A(806)的迁移标准。所述迁移标准包括定义VM A(818)需要的处理资源的硬件约束,以及带宽约束(即,5GBPS)。
控制OS随后将包括迁移标准的请求发给刀片机箱中的主机(即,主机B(808)和主机C(810))。主机B(808)回答它不具有足以满足迁移标准的资源。主机C回答它具有足以满足迁移标准的资源。在这个阶段,控制OS选择主机C(810)作为目标主机。控制OS随后开始按照步骤712-726,将VM A(814)连同VNIC B(820)一起迁移到主机C(810)。
迁移的结果示于图8B中。如图8B中所示,在迁移之后,VM A(814)和VNIC B(820)位于主机C(810)上。此外,在迁移前后,虚拟线路被保持。
在本发明的一个或多个实施例中,虚拟机的迁移是以一个或多个迁移策略为基础的。迁移策略定义何时合并或扩展在刀片机箱中运行的刀片的数目。具体地说,迁移策略可被用于进行电源管理。迁移策略可以是合并迁移策略、扩展迁移策略、或者基于时间的迁移策略。
在本发明的一个或多个实施例中,合并迁移策略定义何时减小运行于刀片机箱中的刀片的数目。减小运行的刀片的数目可导致刀片机箱的总用电的降低。在本发明的一个或多个实施例中,合并策略以刀片机箱上的资源使用百分比为基础。资源使用百分比是与总的可用资源相比,所使用的刀片机箱上的一个或多个资源的量。例如,资源可以是使用的处理器的百分比、分组的吞吐率、等待时间、输入/输出请求,和带宽可用性。
可依据不同的资源使用百分比范围,定义合并迁移策略。在最低的范围中(即,使用的资源百分比较低),迁移策略可规定刀片上的虚拟机是可迁移的,从而随后该刀片可被掉电。在中等范围中,迁移策略可规定刀片可以接受来自另一个刀片的虚拟机,以便让所述另一个刀片能够被掉电。在高范围中,迁移策略可规定刀片不应被掉电,并且刀片不能接受另外的虚拟机。例如,考虑其中迁移策略分别将低范围、中等范围和高范围定义为低于40%,40%~80%,和高于80%的情况。如果刀片X上的资源使用百分比为25%,刀片Y上的资源使用百分比为57%,那么根据迁移策略,刀片X上的虚拟机可被迁移到刀片Y。在虚拟机迁出刀片X之后,刀片X可被掉电。
另一种迁移策略是扩展迁移策略。在本发明的一个或多个实施例中,扩展迁移策略定义运行于刀片上的虚拟机的性能标准。可基于每个刀片或者每个虚拟机定义该性能标准。例如,该性能标准可要求虚拟机的分组的吞吐量在某一水平,处理指令的等待时间在规定水平之下,和/或刀片的可用带宽在规定的水平。当虚拟机的运行不符合性能标准时,扩展迁移策略可指示一个或多个虚拟机应从当前刀片迁移到不同的刀片。如果所有目前运行的刀片都不具有可用的资源,那么可以使先前被掉电的刀片加电。从而,可使虚拟机迁移到新加电的刀片。
在本发明的一个或多个实施例中,迁移策略可以是基于时间的迁移策略。基于时间的迁移策略对于不同的时间,定义应被加电的刀片的数目。例如,在白天(例如,在8:00AM和6:00PM之间),基于时间的迁移策略可规定所有刀片都应被加电。在晚上和在周末,基于时间的迁移策略可规定只有一半的刀片应被加电。从而,当预计刀片按峰值容量工作时,比如在白天,那么迁移策略规定所有刀片应被加电。相反,当预计刀片最低程度地工作时,比如在晚上或者在周末,迁移策略规定只有一部分的刀片应被加电,以便节能。
图9A-10表示按照本发明的一个或多个实施例迁移虚拟机,以便进行电源管理的流程图。尽管顺序给出和描述了这些流程图中的各个步骤,不过本领域的技术人员会认识到一些或者全部的步骤可按照不同的顺序执行,可被结合或省略,一些或者全部的步骤可以并行执行。
图9A表示根据合并迁移策略,迁移虚拟机的方法的流程图。在步骤900,获得刀片的资源使用数据。具体地说,每个刀片监视该刀片使用了在合并迁移策略中规定的每种资源有多少。可利用本领域中已知的技术进行资源使用的监视。如果使用集中式系统确定何时迁移,那么可由控制OS进行资源使用数据的获取。作为替代地,可以使用基于对等的系统来确定资源使用。
在步骤902,比较资源使用数据和迁移策略。在本发明的一个或多个实施例中,基于每个刀片进行所述比较。与迁移策略比较的刀片可被称为当前刀片。通过比较在资源使用数据中定义的所使用的每种资源的量与迁移策略,可完成当前刀片与迁移策略的比较。
在步骤904,确定是否从当前刀片迁出虚拟机。具体地说,确定迁移策略是否指示应从当前刀片迁出虚拟机。
如果确定从当前刀片迁出虚拟机,那么在步骤906,确定目标刀片是否可用。确定目标刀片是否可用的一种方法可以是通过收集运行于当前刀片上的每个虚拟机的迁移标准来实现。如果当前刀片上的主机在执行步骤902和/或步骤904,那么主机可向运行于刀片机箱中的每个刀片上的主机发送请求。所述请求可包括运行于当前刀片上的每个虚拟机的迁移标准。其它刀片上的主机可用它们是否能够满足一个或多个虚拟机的迁移标准的指示响应所述请求。如果另一个刀片上的主机能够满足该迁移标准,那么该主机变成当前刀片上的一个或多个虚拟机的目标主机。在本发明的一个或多个实施例中,可存在多于一个的目标主机。
胜于向不同刀片上的主机发送请求,主机可以使用网络直通管理器中的共享数据储存库。具体地说,每个主机可相对于共享数据储存库,读取和写入迁移标准、资源可用性和/或对请求的响应。从而,通过访问共享数据储存库,当前刀片可确定目标刀片是否可用。
作为替代地,当前刀片可向控制OS发送当前刀片上的虚拟机需要迁移的消息,或者控制OS可能正在执行步骤902和/或步骤904。在这样的情况下,控制OS可管理如在上面及图7A和7B中描述的迁移。在本发明的一个或多个实施例中,当迁移以合并迁移策略为基础时,进行迁移并不暂停任何虚拟线路。相反地,在这样的情况下,确定目标刀片不可用。不过,在备选实施例中,控制OS可根据优先权暂停虚拟线路。例如,迁移策略可指出在规定的低优先级下工作的虚拟线路可被暂停,以便进行电源管理。在这样的情况下,如果在暂停一条或多条虚拟线路之后,有足够的资源可用,那么认为目标主机可用。
如果目标刀片可用,那么在步骤908,将虚拟机从当前刀片迁移到刀片机箱中的目标刀片。可如在上面及图7A的步骤712-726中所述那样进行虚拟机的迁移。在步骤910,当前刀片被掉电。具体地说,可使当前刀片掉电或者处于待机模式。
作为步骤904中的另一种选择,确定不从当前刀片迁出虚拟机,那么在步骤912,确定在当前刀片上是否接受虚拟机。具体地说,根据资源使用数据,确定合并迁移策略是否指示当前刀片能够接收数据。
如果在步骤912中,确定接受虚拟机,那么在步骤914,确定在刀片机箱中是否存在可迁移的虚拟机。可迁移的虚拟机是不同的刀片,比如要被掉电的刀片上的可被迁移到当前刀片的虚拟机。可根据例如是否向当前刀片发送了具有迁移标准的任何请求、共享数据储存库是否指示至少一个刀片正在掉电、或者在比较不同刀片上的资源使用数据之后,控制OS是否识别出要迁移到当前刀片的虚拟机,确定是否存在可迁移的虚拟机。上述例子只是可用于识别是否存在可迁移的虚拟机的技术中的一些技术。可以使用其它技术,而不脱离本发明的范围。
如果存在可迁移的虚拟机,那么在步骤916中选择要掉电的刀片。选择的要掉电的刀片对应于按照迁移策略可被掉电,并且具有可迁移的虚拟机的刀片。在步骤918,将可迁移的虚拟机从选择的刀片迁移到当前刀片。可如在上面和图7A的步骤712-726中所述那样,进行虚拟机的迁移。在步骤920,选择的刀片被掉电。具体地说,可使该刀片掉电或者处于待机模式。返回步骤912和步骤914,如果确定在当前刀片上不接受虚拟机,或者如果不存在可迁移的虚拟机,那么当前刀片可继续运行,而不将虚拟机迁移到当前刀片。
图9B表示根据扩展迁移策略,迁移虚拟机的方法的流程图。在步骤950,监视在刀片上运行的每个虚拟机的性能。可利用本领域中已知的技术监视每个虚拟机的性能。在步骤952,比较该性能和迁移策略,以识别不符合迁移策略的性能标准的虚拟机。如果任意虚拟机不符合性能标准,那么可确定就所识别的虚拟机来说,为了遵守性能标准,将需要哪些资源(例如,主存储器,处理器的数目,保证带宽等)。
在这个阶段,可确定从当前刀片迁出一个或多个虚拟机。在步骤954,选择要迁移的虚拟机。选择的虚拟机可以是识别出的不符合性能标准的虚拟机,或者运行于该刀片上的一个或多个其它的虚拟机。例如,如果一旦其它虚拟机被迁移,那么识别出的虚拟机所需要的资源就会变得可用,则可确定迁移所述其它虚拟机。所述确定可以资源的分配为基础。例如,如果期望刀片间的负载均衡,那么选择的虚拟机可以实现负载均衡的虚拟机为基础。
在步骤956,确定是否将选择的虚拟机迁移到现有刀片。根据现有刀片是否具有可供所选虚拟机之用的足够资源,确定是否迁移所选择的虚拟机。例如,如上所述,可通过向每个刀片的主机发送具有迁移标准的请求,确定刀片是否具有足够的资源。如果某一主机答复存在足够的可用资源,那么选择的虚拟机可被迁移到现有刀片。在步骤958,将选择的虚拟机迁移到现有刀片。可如上所述将选择的虚拟机迁移到现有刀片。
返回步骤956,如果确定不将虚拟机迁移到现有刀片,那么在步骤960,确定是否将虚拟机迁移到新刀片。可根据掉电的刀片是否存在并且是否能够被加电,以及掉电的刀片的资源是否足以满足所选虚拟机的迁移标准,确定是否迁移到新刀片。
如果确定将虚拟机迁移到新刀片,那么在步骤962,使刀片加电。可利用本领域中已知的技术进行刀片的加电。在步骤966,选择的虚拟机被迁移到加电的刀片。可如上所述进行选择的虚拟机的迁移。
图10表示根据基于时间的迁移策略,迁移虚拟机的方法的流程图。在步骤1000,监视时间。在步骤1002,确定是否触发基于时间的迁移。触发基于时间的迁移是以当前时间是否与基于时间的迁移策略中的时间相符为基础的。如果确定不触发基于时间的迁移,那么在步骤1000中继续监视时间。
作为替代地,如果确定触发基于时间的迁移,那么在步骤1004,确定是否扩大使用中的(即,加电的)刀片的数目。具体地说,确定基于时间的迁移策略是否指示应扩大刀片的数目。如果确定扩大使用中的刀片的数目,那么在步骤1006中,使新刀片加电。可利用本领域中已知的技术进行新刀片的加电。
在步骤1008,选择要迁移到新刀片的虚拟机。在本发明的一个或多个实施例中,根据每个虚拟机的迁移标准,和/或为了在刀片机箱中的刀片间实现负载均衡,选择所述虚拟机。在步骤1010,将虚拟机迁移到新刀片。可如上所述进行虚拟机的迁移。
作为替代地,如果在步骤1004,确定不扩大使用中的刀片的数目,那么按照基于时间的迁移策略,合并使用中的刀片的数目。具体地说,迁移策略指出应减小刀片的数目。因此,在步骤1012,选择要掉电的刀片。可根据负载均衡、每个刀片的当前资源使用情况和其它这样的标准,选择要掉电的刀片。例如,选择的刀片可以是运行于该刀片上的虚拟机数目最小的刀片。在步骤1014,从选择的刀片迁出虚拟机,在步骤1016中,使该刀片掉电。可如上所述进行虚拟机的迁移和刀片的掉电。
图11A-11C表示按照本发明的一个或多个实施例迁移虚拟机的例子。图11A-11C只是作为例子提供的,不应被解释成限制本发明的范围。
参见图11A,考虑其中系统包括与刀片机箱(未示出)中的机箱互连(未示出)连接的三个刀片(1100,1102,1104)的情况。系统最初被配置成使得刀片A(1100)包括主机A(1106),刀片B(1102)包括主机B(1108)和刀片C(1104)包括主机C(1110)。
如图11A中所示,主机A(1106)包括与VM A(1112)关联的VNIC A(1122),和与VM B(1114)关联的VNIC B(1124)。此外,主机B(1108)包括都与VM C(1116)关联的VNIC C1(1126)和VNIC C2(1128)。最后,主机C(1110)包括与VM D(1118)关联的VNIC D(1130)和与VM E(1120)关联的VNIC E(1132)。
如图11A中所示,VM A(1112)利用带宽限制为5吉比特/秒(GBPS)的虚线线路(VW)A(1136)与VM E(1120)通信。VWA(1136)连接VNIC A(1122)和VNIC E(1132)。此外,VM B(1114)利用带宽限制为3GBPS的VW B(1134)与VM C(1116)通信。VW B(1134)连接VNIC B(1124)和VNIC C1(1126)。最后,VM C(1116)利用带宽限制为8GBPS的VW C2(1136)与VM D(1118)通信。VW C2(1136)连接VNIC C2(1128)和VNICD(1130)。每个VW都与优先权关联。图11A中的VW的优先权从最高到最低依次为:VW B(1134),VW C2(1136),和VW A(1138)。
在如上所述和图11A中所示配置系统之后,对于每个刀片(1100,1102,1104)监视资源使用数据。资源使用数据指示刀片B(1102)只使用10%的资源。因此,合并迁移策略指示使刀片B(1102)掉电。因而,VM C(1116)必须被迁移到另一个主机。
控制OS随后向刀片机箱中的主机(即,主机A(1108)和主机C(1110))发送包括迁移标准的请求。该迁移标准指示VM C(1116)需要的资源的量。主机C(1110)答复主机C(1110)只使用了60%的资源,因此,主机C(1110)具有足够的资源。在这个阶段,控制OS选择主机C(1110)作为目标主机。控制OS随后按照步骤712-726,开始将VM C(1116)连同VNIC C1(1126)和VNIC C2(1128)一起迁移到主机C(1110)。一旦完成迁移,刀片B(1120)就被掉电,如图11B中所示。如图11B中所示,在迁移前后,VW被保留。不过,由于VNIC C2(1128)和VNIC D(1130)现在位于主机C(1118)上,因此使用虚拟交换机(VS)C2(1137),而不是VW C2(1136)来连接VNIC C2(1128)和VNIC D(1130)。
参见图11C,考虑其中图11A中所示的系统服从基于时间的迁移策略,并且当前时间为6:00pm的情况。基于时间的迁移策略指出在6:00pm,应只有两个刀片在运行。控制OS可选择使刀片B(1102)掉电。因而,VM C(1116)必须被迁移到另一个主机。
控制OS随后向刀片机箱中的主机(即,主机A(1108)和主机C(1110))发送包括迁移标准的请求。迁移标准指出VM C(1116)需要的资源的量。按照图7A和7B,控制OS(未示出)确定VM C(1116)的迁移标准。该迁移标准包括带宽约束(即,11GBPS)。控制OS随后向刀片机箱中的主机(即,主机A(1108)和主机C(1110))发送包括该迁移标准的请求。主机A(1108)和主机C(1110)都答复它们不具有满足迁移标准的足够资源。在这个阶段,依照图7B,控制OS识别优先权最低的有效VW(即,VW A)。随后暂停VW A(1138)。暂停VW A(1138)包括暂停VM A(1112)、VNIC A(1122)、VM E(1120)和VNIC E(1132)。
控制OS随后向刀片机箱中的主机(即,主机A(1108)和主机C(1110))重新发送包括迁移标准的请求。主机A(1106)答复它不具有满足迁移标准的足够资源。主机C(1110)答复它具有满足迁移标准的足够资源。在这个阶段,控制OS选择主机C(1110)作为目标主机。
控制OS随后按照步骤712-726,开始将VM C(1116)连同VNICC1(1126)和VNIC C2(1128)一起迁移到主机C(1110)。一旦完成迁移,刀片B(1120)就被掉电。迁移的结果示于图11C中。如图11C中所示,在迁移前后,VW被保持。不过,由于VNIC C2(1128)和VNIC D(1130)现在位于主机C(1118)上,因此使用虚拟交换机(VS)C2(1137),而不是VW C2(1136)来连接VNIC C2(1128)和VNIC D(1130)。
本领域的技术人员会认识到尽管利用刀片说明了本发明,不过可以扩展本发明,供非刀片的其它计算机系统使用。具体地说,本发明可被扩展到至少包括存储器,处理器,和与机箱总线物理连接并通过机箱总线通信的机构的任何计算机。这种计算机的例子包括但不限于多处理器服务器、网络设备和轻量计算设备(例如,只包括存储器、处理器、与机箱总线物理连接并通过机箱总线通信的机构的计算机),和使上述组件能够互相作用的必要硬件。
此外,本领域的技术人员会认识到如果一个或多个非刀片计算机被用于实现本发明,那么可代替刀片机箱使用适当的机箱。
实现本发明的实施例的软件指令可保存在计算机可读介质,比如压缩盘(CD)、磁盘、磁带、文件或者任何其它计算机可读存储装置上。
尽管关于数目有限的实施例说明了本发明,不过在受益于本公开内容的情况下,本领域的技术人员会认识到可以设计出不脱离这里公开的本发明的范围的其它实施例。因此,本发明的范围只由附加的权利要求限定。
Claims (10)
1.一种用于电源管理的方法,包括:
收集刀片机箱上的第一刀片(1104)和第二刀片(1106)的资源使用数据;
根据所述资源使用数据和迁移策略,执行运行于第一刀片(1104)上的每个虚拟机VM到第二刀片(1106)的迁移,其中迁移策略定义何时减少在刀片机箱上运行的刀片的数目,其中执行所述迁移包括:
获取在第一刀片(1104)上运行的第一VM(1116)的迁移标准,
其中,所述第一VM(1116)位于刀片机箱中的第一刀片(1104)上,
其中,所述第一VM(1116)与第一虚拟网络接口VNIC相关联,
其中,所述第一VNIC(1126)使用具有第一优先权的第一虚拟线路(1134)连接到所述刀片机箱中的第三刀片上的第二VNIC(1124),
其中,所述第三刀片(1100)包括与第二VNIC(1124)相关联的第二VM(1114)和与第三VNIC(1122)相关联的第三VM(1112),以及
其中,所述第三VNIC(1122)使用具有第二优先权的第二虚拟线路(1138)连接到所述刀片机箱中的第二刀片(1106)上的第四VNIC(1132),
发送包括所述迁移标准的请求到所述刀片机箱中的第二刀片(1106),
接收来自第二刀片(1106)的对所述请求的响应,其中所述响应指示出第二刀片(1106)不能满足所述迁移标准,
基于第一优先权高于第二优先权而暂停第二虚拟线路(1138),
暂停第一刀片(1104)上的第一VM(1116)的运行并且获取用于迁移第一VM(1116)的信息,
获取迁移第一VNIC(1126)所需的信息,以及
使用迁移第一VM(1116)所需的信息和迁移第一VNIC(1126)所需的信息迁移所述第一VM(1116)和第一VNIC(1126)到第二刀片(1106);
在从第一刀片(1104)迁出运行于第一刀片(1104)上的每个VM之后,使第一刀片(1104)掉电。
2.按照权利要求1所述的方法,其中所述迁移策略包括定义用于运行第一刀片的资源使用的最小百分比的电源管理策略,其中在资源使用的当前百分比低于资源使用的最小百分比时,从第一刀片迁出运行于第一刀片上的每个VM,其中在将所述至少一个VM迁移到第二刀片的过程中,保持由所述第一虚拟线路提供的连接,其中所述第一虚拟线路由虚拟交换表实现。
3.按照权利要求1或2所述的方法,其中执行所述迁移包括:
配置第一VNIC和第一VM以满足该迁移标准;
更新刀片机箱中的虚拟交换表,以反映第一VM从第一刀片到第二刀片的第一迁移;和
在第二刀片上恢复第一VM的运行。
4.按照权利要求1或2所述的方法,还包括:
根据与在所述迁移策略中规定的第一时间相符的第一当前时间,触发所述迁移,其中所述迁移策略定义何时减少在刀片机箱上运行的刀片的数目;和
根据所述迁移的触发,选择要掉电的第一刀片;
其中执行所述迁移是以所述迁移的触发为基础的。
5.一种用于电源管理的系统,包括:
用于收集刀片机箱上的第一刀片(1104)和第二刀片(1106)的资源使用数据的装置;
用于根据资源使用数据和迁移策略,执行运行于第一刀片(1104)上的每个虚拟机VM到第二刀片(1106)的迁移的装置,其中迁移策略定义何时减少在刀片机箱上运行的刀片的数目,其中执行所述迁移包括:
获取在第一刀片(1104)上运行的第一VM(1116)的迁移标准,
其中,所述第一VM(1116)位于刀片机箱中的第一刀片(1104)上,
其中,所述第一VM(1116)与第一虚拟网络接口VNIC(1126)相关联,
其中,所述第一VNIC(1126)使用具有第一优先权的第一虚拟线路(1134)连接到所述刀片机箱中的第三刀片(1100)上的第二VNIC(1124),
其中,所述第三刀片包括与第二VNIC(1124)相关联的第二VM(1114)和与第三VNIC(1122)相关联的第三VM(1112),以及
其中,所述第三VNIC(1122)使用具有第二优先权的第二虚拟线路(1138)连接到所述刀片机箱中的第二刀片(1106)上的第四VNIC(1132),
发送包括所述迁移标准的请求到所述刀片机箱中的第二刀片(1106),
接收来自第二刀片(1106)的对所述请求的响应,其中所述响应指示出第二刀片(1106)不能满足所述迁移标准,
基于第一优先权高于第二优先权而暂停第二虚拟线路(1138),
暂停第一刀片上的第一VM(1116)的运行并且获取用于迁移第一VM(1116)的信息,
获取迁移第一VNIC(1126)所需的信息,以及
使用迁移第一VM(1116)所需的信息和迁移第一VNIC(1126)所需的信息迁移所述第一VM(1116)和第一VNIC(1126)到第二刀片(1106);
用于在从第一刀片(1104)迁出运行于第一刀片(1104)上的每个VM之后,使第一刀片(1104)掉电的装置。
6.按照权利要求5所述的系统,其中迁移策略包括定义用于运行第一刀片的资源使用的最小百分比的电源管理策略,并且其中在资源使用的当前百分比低于资源使用的最小百分比时,从第一刀片迁出运行于第一刀片上的每个VM,其中在将所述至少一个VM迁移到第二刀片的过程中,保持由所述第一虚拟线路提供的连接,并且其中所述第一虚拟线路是由虚拟交换表实现的。
7.按照权利要求5所述的系统,其中所述用于迁移的装置包括:
用于配置第一VNIC和第一VM以满足该迁移标准的装置;
用于更新刀片机箱中的虚拟交换表,以反映第一VM从第一刀片到第二刀片的迁移的装置;和
用于在第二刀片上恢复第一VM的运行的装置。
8.按照权利要求7所述系统,其中该第一虚拟线路是由虚拟交换表实现的。
9.按照权利要求7所述的系统,其中用于配置第一VNIC以满足迁移标准的装置包括:用于请求第二刀片上的主机操作系统将第一VNIC配置成按照带宽约束工作的装置。
10.按照权利要求7所述的系统,其中所述迁移标准还包括硬件资源约束。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/165,456 US8099615B2 (en) | 2008-06-30 | 2008-06-30 | Method and system for power management in a virtual machine environment without disrupting network connectivity |
US12/165,456 | 2008-06-30 | ||
PCT/US2009/049003 WO2010002759A1 (en) | 2008-06-30 | 2009-06-29 | Method and system for power management in a virtual machine environment withouth disrupting network connectivity |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102105865A CN102105865A (zh) | 2011-06-22 |
CN102105865B true CN102105865B (zh) | 2015-04-01 |
Family
ID=40973127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980128632.3A Active CN102105865B (zh) | 2008-06-30 | 2009-06-29 | 虚拟机环境中不中断网络连通性的电源管理方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8099615B2 (zh) |
EP (1) | EP2304565B1 (zh) |
CN (1) | CN102105865B (zh) |
WO (1) | WO2010002759A1 (zh) |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4488072B2 (ja) * | 2008-01-18 | 2010-06-23 | 日本電気株式会社 | サーバシステム、及びサーバシステムの電力削減方法 |
JP2010097533A (ja) * | 2008-10-20 | 2010-04-30 | Hitachi Ltd | パーティションで区切られた計算機システムにおけるアプリケーション移動及び消費電力の最適化 |
US8214829B2 (en) | 2009-01-15 | 2012-07-03 | International Business Machines Corporation | Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost |
JP5476764B2 (ja) * | 2009-03-30 | 2014-04-23 | 富士通株式会社 | サーバ装置、計算機システム、プログラム及び仮想計算機移動方法 |
US9852011B1 (en) * | 2009-06-26 | 2017-12-26 | Turbonomic, Inc. | Managing resources in virtualization systems |
CN101937357B (zh) * | 2009-07-01 | 2013-11-06 | 华为技术有限公司 | 一种虚拟机迁移决策方法、装置及系统 |
US8495629B2 (en) * | 2009-09-24 | 2013-07-23 | International Business Machines Corporation | Virtual machine relocation system and associated methods |
JP5347982B2 (ja) * | 2010-01-18 | 2013-11-20 | 富士通株式会社 | 仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および管理装置 |
WO2011134716A1 (en) * | 2010-04-26 | 2011-11-03 | International Business Machines Corporation | Managing a multiprocessing computer system |
JP5385458B2 (ja) * | 2010-06-17 | 2014-01-08 | 株式会社日立製作所 | 計算機システムおよびその更改方法 |
CN101907917B (zh) * | 2010-07-21 | 2013-08-14 | 中国电信股份有限公司 | 一种测量虚拟机能耗的方法和系统 |
US8505020B2 (en) * | 2010-08-29 | 2013-08-06 | Hewlett-Packard Development Company, L.P. | Computer workload migration using processor pooling |
WO2012045021A2 (en) * | 2010-09-30 | 2012-04-05 | Commvault Systems, Inc. | Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system |
CN102445978B (zh) * | 2010-10-12 | 2016-02-17 | 深圳市金蝶中间件有限公司 | 一种管理数据中心的方法及设备 |
JP5691390B2 (ja) * | 2010-10-25 | 2015-04-01 | サンケン電気株式会社 | 電源装置およびプログラム |
US8484654B2 (en) * | 2010-11-23 | 2013-07-09 | International Business Machines Corporation | Determining suitable network interface for partition deployment/re-deployment in a cloud environment |
US9436515B2 (en) * | 2010-12-29 | 2016-09-06 | Sap Se | Tenant virtualization controller for exporting tenant without shifting location of tenant data in a multi-tenancy environment |
US8874888B1 (en) | 2011-01-13 | 2014-10-28 | Google Inc. | Managed boot in a cloud system |
US9135037B1 (en) | 2011-01-13 | 2015-09-15 | Google Inc. | Virtual network protocol |
US9990215B2 (en) * | 2011-02-22 | 2018-06-05 | Vmware, Inc. | User interface for managing a virtualized computing environment |
US9237087B1 (en) | 2011-03-16 | 2016-01-12 | Google Inc. | Virtual machine name resolution |
US8533796B1 (en) | 2011-03-16 | 2013-09-10 | Google Inc. | Providing application programs with access to secured resources |
GB2492172A (en) * | 2011-06-25 | 2012-12-26 | Riverbed Technology Inc | Controlling the Operation of Server Computers by Load Balancing |
US8667490B1 (en) * | 2011-07-29 | 2014-03-04 | Emc Corporation | Active/active storage and virtual machine mobility over asynchronous distances |
US9075979B1 (en) | 2011-08-11 | 2015-07-07 | Google Inc. | Authentication based on proximity to mobile device |
US9369426B2 (en) | 2011-08-17 | 2016-06-14 | Nicira, Inc. | Distributed logical L3 routing |
US8959367B2 (en) | 2011-08-17 | 2015-02-17 | International Business Machines Corporation | Energy based resource allocation across virtualized machines and data centers |
US8966198B1 (en) | 2011-09-01 | 2015-02-24 | Google Inc. | Providing snapshots of virtual storage devices |
TW201314433A (zh) * | 2011-09-28 | 2013-04-01 | Inventec Corp | 伺服器系統及其電源管理方法 |
US9015823B2 (en) | 2011-11-15 | 2015-04-21 | Nicira, Inc. | Firewalls in logical networks |
US8958293B1 (en) | 2011-12-06 | 2015-02-17 | Google Inc. | Transparent load-balancing for cloud computing services |
US8800009B1 (en) | 2011-12-30 | 2014-08-05 | Google Inc. | Virtual machine service access |
US9047087B2 (en) * | 2012-02-01 | 2015-06-02 | Vmware, Inc. | Power management and virtual machine migration between logical storage units based on quantity of shared physical storage units |
US20130238773A1 (en) * | 2012-03-08 | 2013-09-12 | Raghu Kondapalli | Synchronized and time aware l2 and l3 address learning |
CN102662757A (zh) * | 2012-03-09 | 2012-09-12 | 浪潮通信信息系统有限公司 | 一种云计算程序平滑迁移的资源需求预估方法 |
US9015838B1 (en) | 2012-05-30 | 2015-04-21 | Google Inc. | Defensive techniques to increase computer security |
US8813240B1 (en) * | 2012-05-30 | 2014-08-19 | Google Inc. | Defensive techniques to increase computer security |
JP6044131B2 (ja) * | 2012-06-25 | 2016-12-14 | 富士通株式会社 | プログラム、管理サーバおよび仮想マシン移動制御方法 |
CN102769670A (zh) * | 2012-07-13 | 2012-11-07 | 中兴通讯股份有限公司 | 虚拟机迁移方法、装置及系统 |
US9477710B2 (en) | 2013-01-23 | 2016-10-25 | Microsoft Technology Licensing, Llc | Isolating resources and performance in a database management system |
US9104455B2 (en) * | 2013-02-19 | 2015-08-11 | International Business Machines Corporation | Virtual machine-to-image affinity on a physical server |
JP2014186411A (ja) * | 2013-03-22 | 2014-10-02 | Fujitsu Ltd | 管理装置、情報処理システム、情報処理方法、及びプログラム |
US9602426B2 (en) | 2013-06-21 | 2017-03-21 | Microsoft Technology Licensing, Llc | Dynamic allocation of resources while considering resource reservations |
US10033693B2 (en) | 2013-10-01 | 2018-07-24 | Nicira, Inc. | Distributed identity-based firewalls |
US9374305B2 (en) * | 2013-10-24 | 2016-06-21 | Dell Products L.P. | Packet transfer system |
US9348654B2 (en) * | 2013-11-19 | 2016-05-24 | International Business Machines Corporation | Management of virtual machine migration in an operating environment |
US9276904B2 (en) | 2014-02-20 | 2016-03-01 | Nicira, Inc. | Specifying point of enforcement in a firewall rule |
US9215210B2 (en) | 2014-03-31 | 2015-12-15 | Nicira, Inc. | Migrating firewall connection state for a firewall service virtual machine |
US9503427B2 (en) | 2014-03-31 | 2016-11-22 | Nicira, Inc. | Method and apparatus for integrating a service virtual machine |
US9906494B2 (en) | 2014-03-31 | 2018-02-27 | Nicira, Inc. | Configuring interactions with a firewall service virtual machine |
US9729512B2 (en) | 2014-06-04 | 2017-08-08 | Nicira, Inc. | Use of stateless marking to speed up stateful firewall rule processing |
US9825913B2 (en) | 2014-06-04 | 2017-11-21 | Nicira, Inc. | Use of stateless marking to speed up stateful firewall rule processing |
US9612765B2 (en) * | 2014-11-19 | 2017-04-04 | International Business Machines Corporation | Context aware dynamic composition of migration plans to cloud |
US9692727B2 (en) | 2014-12-02 | 2017-06-27 | Nicira, Inc. | Context-aware distributed firewall |
US9699060B2 (en) * | 2014-12-17 | 2017-07-04 | Vmware, Inc. | Specializing virtual network device processing to avoid interrupt processing for high packet rate applications |
US10320921B2 (en) | 2014-12-17 | 2019-06-11 | Vmware, Inc. | Specializing virtual network device processing to bypass forwarding elements for high packet rate applications |
US9965308B2 (en) * | 2014-12-18 | 2018-05-08 | Vmware, Inc. | Automatic creation of affinity-type rules for resources in distributed computer systems |
US9891940B2 (en) | 2014-12-29 | 2018-02-13 | Nicira, Inc. | Introspection method and apparatus for network access filtering |
CN106155812A (zh) | 2015-04-28 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种对虚拟主机的资源管理的方法、装置、系统及电子设备 |
US10410155B2 (en) * | 2015-05-01 | 2019-09-10 | Microsoft Technology Licensing, Llc | Automatic demand-driven resource scaling for relational database-as-a-service |
CN105094944B (zh) * | 2015-06-10 | 2018-06-29 | 中国联合网络通信集团有限公司 | 一种虚拟机迁移方法及装置 |
US10579403B2 (en) * | 2015-06-29 | 2020-03-03 | Vmware, Inc. | Policy based provisioning of containers |
US9806948B2 (en) | 2015-06-30 | 2017-10-31 | Nicira, Inc. | Providing firewall rules for workload spread across multiple data centers |
US10324746B2 (en) | 2015-11-03 | 2019-06-18 | Nicira, Inc. | Extended context delivery for context-based authorization |
EP3211531B1 (en) * | 2016-02-25 | 2021-12-22 | Huawei Technologies Co., Ltd. | Virtual machine start method and apparatus |
US10348685B2 (en) | 2016-04-29 | 2019-07-09 | Nicira, Inc. | Priority allocation for distributed service rules |
US10135727B2 (en) | 2016-04-29 | 2018-11-20 | Nicira, Inc. | Address grouping for distributed service rules |
US10944722B2 (en) | 2016-05-01 | 2021-03-09 | Nicira, Inc. | Using activities to manage multi-tenant firewall configuration |
US11171920B2 (en) | 2016-05-01 | 2021-11-09 | Nicira, Inc. | Publication of firewall configuration |
US11088990B2 (en) | 2016-06-29 | 2021-08-10 | Nicira, Inc. | Translation cache for firewall configuration |
US11258761B2 (en) | 2016-06-29 | 2022-02-22 | Nicira, Inc. | Self-service firewall configuration |
US10938837B2 (en) | 2016-08-30 | 2021-03-02 | Nicira, Inc. | Isolated network stack to manage security for virtual machines |
US10333983B2 (en) | 2016-08-30 | 2019-06-25 | Nicira, Inc. | Policy definition and enforcement for a network virtualization platform |
US10193862B2 (en) | 2016-11-29 | 2019-01-29 | Vmware, Inc. | Security policy analysis based on detecting new network port connections |
US10346191B2 (en) * | 2016-12-02 | 2019-07-09 | Wmware, Inc. | System and method for managing size of clusters in a computing environment |
US10609160B2 (en) | 2016-12-06 | 2020-03-31 | Nicira, Inc. | Performing context-rich attribute-based services on a host |
US11032246B2 (en) | 2016-12-22 | 2021-06-08 | Nicira, Inc. | Context based firewall services for data message flows for multiple concurrent users on one machine |
US10812451B2 (en) | 2016-12-22 | 2020-10-20 | Nicira, Inc. | Performing appID based firewall services on a host |
US10803173B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Performing context-rich attribute-based process control services on a host |
US10802858B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Collecting and processing contextual attributes on a host |
US10581960B2 (en) | 2016-12-22 | 2020-03-03 | Nicira, Inc. | Performing context-rich attribute-based load balancing on a host |
US10805332B2 (en) | 2017-07-25 | 2020-10-13 | Nicira, Inc. | Context engine model |
US10942758B2 (en) * | 2017-04-17 | 2021-03-09 | Hewlett Packard Enterprise Development Lp | Migrating virtual host bus adaptors between sets of host bus adaptors of a target device in order to reallocate bandwidth to enable virtual machine migration |
US10778651B2 (en) | 2017-11-15 | 2020-09-15 | Nicira, Inc. | Performing context-rich attribute-based encryption on a host |
US10862773B2 (en) | 2018-01-26 | 2020-12-08 | Nicira, Inc. | Performing services on data messages associated with endpoint machines |
US10802893B2 (en) | 2018-01-26 | 2020-10-13 | Nicira, Inc. | Performing process control services on endpoint machines |
US10853126B2 (en) * | 2018-07-26 | 2020-12-01 | Vmware, Inc. | Reprogramming network infrastructure in response to VM mobility |
US10620987B2 (en) | 2018-07-27 | 2020-04-14 | At&T Intellectual Property I, L.P. | Increasing blade utilization in a dynamic virtual environment |
US11310202B2 (en) | 2019-03-13 | 2022-04-19 | Vmware, Inc. | Sharing of firewall rules among multiple workloads in a hypervisor |
US11539718B2 (en) | 2020-01-10 | 2022-12-27 | Vmware, Inc. | Efficiently performing intrusion detection |
JP7338481B2 (ja) | 2020-01-14 | 2023-09-05 | 富士通株式会社 | 設定変更方法および設定変更プログラム |
US11108728B1 (en) | 2020-07-24 | 2021-08-31 | Vmware, Inc. | Fast distribution of port identifiers for rule processing |
US11875172B2 (en) | 2020-09-28 | 2024-01-16 | VMware LLC | Bare metal computer for booting copies of VM images on multiple computing devices using a smart NIC |
US20230007856A1 (en) * | 2021-07-06 | 2023-01-12 | Bank Of America Corporation | Real-time dynamic container optimization computing platform |
US11995024B2 (en) | 2021-12-22 | 2024-05-28 | VMware LLC | State sharing between smart NICs |
US11899594B2 (en) | 2022-06-21 | 2024-02-13 | VMware LLC | Maintenance of data message classification cache on smart NIC |
US11928062B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Accelerating data message classification with smart NICs |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109195A2 (en) * | 2004-05-08 | 2005-11-17 | International Business Machines Corporation | Dynamic migration of virtual machine computer programs |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6070219A (en) * | 1996-10-09 | 2000-05-30 | Intel Corporation | Hierarchical interrupt structure for event notification on multi-virtual circuit network interface controller |
US6714960B1 (en) * | 1996-11-20 | 2004-03-30 | Silicon Graphics, Inc. | Earnings-based time-share scheduling |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
US6041053A (en) * | 1997-09-18 | 2000-03-21 | Microsfot Corporation | Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards |
US6131163A (en) * | 1998-02-17 | 2000-10-10 | Cisco Technology, Inc. | Network gateway mechanism having a protocol stack proxy |
CA2236188C (en) * | 1998-04-28 | 2002-10-01 | Thomas Alexander | Firmware controlled transmit datapath for high-speed packet switches |
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
US6600721B2 (en) * | 1998-12-31 | 2003-07-29 | Nortel Networks Limited | End node pacing for QOS and bandwidth management |
US6757731B1 (en) * | 1999-02-25 | 2004-06-29 | Nortel Networks Limited | Apparatus and method for interfacing multiple protocol stacks in a communication network |
US6766371B1 (en) * | 1999-10-05 | 2004-07-20 | Veritas Operating Corporation | Virtual network environment |
US7046665B1 (en) * | 1999-10-26 | 2006-05-16 | Extreme Networks, Inc. | Provisional IP-aware virtual paths over networks |
US6831893B1 (en) * | 2000-04-03 | 2004-12-14 | P-Cube, Ltd. | Apparatus and method for wire-speed classification and pre-processing of data packets in a full duplex network |
US6985937B1 (en) * | 2000-05-11 | 2006-01-10 | Ensim Corporation | Dynamically modifying the resources of a virtual server |
KR20020017265A (ko) * | 2000-08-29 | 2002-03-07 | 구자홍 | 동일 아이피 서브넷상에 구성된 서로 다른 가상랜 사이의통신방법 |
US6944168B2 (en) * | 2001-05-04 | 2005-09-13 | Slt Logic Llc | System and method for providing transformation of multi-protocol packets in a data stream |
US20030037154A1 (en) * | 2001-08-16 | 2003-02-20 | Poggio Andrew A. | Protocol processor |
US7260102B2 (en) * | 2002-02-22 | 2007-08-21 | Nortel Networks Limited | Traffic switching using multi-dimensional packet classification |
US7177311B1 (en) * | 2002-06-04 | 2007-02-13 | Fortinet, Inc. | System and method for routing traffic through a virtual router-based network switch |
JP3789395B2 (ja) * | 2002-06-07 | 2006-06-21 | 富士通株式会社 | パケット処理装置 |
US7313793B2 (en) * | 2002-07-11 | 2007-12-25 | Microsoft Corporation | Method for forking or migrating a virtual machine |
KR100481614B1 (ko) * | 2002-11-19 | 2005-04-08 | 한국전자통신연구원 | 서비스 거부와 분산 서비스 거부 공격으로부터 정상트래픽을 보호하는 방법 및 그 장치 |
US7590683B2 (en) * | 2003-04-18 | 2009-09-15 | Sap Ag | Restarting processes in distributed applications on blade servers |
US7356818B2 (en) * | 2003-06-24 | 2008-04-08 | International Business Machines Corporation | Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor |
EP1890438A1 (en) * | 2003-08-05 | 2008-02-20 | Scalent Systems, Inc. | Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing |
JP4053967B2 (ja) * | 2003-11-20 | 2008-02-27 | 株式会社日立コミュニケーションテクノロジー | Vlanサーバ |
US7752635B2 (en) * | 2003-12-18 | 2010-07-06 | Intel Corporation | System and method for configuring a virtual network interface card |
KR100608904B1 (ko) * | 2003-12-18 | 2006-08-04 | 한국전자통신연구원 | 서비스 품질 보장을 위한 시스템 및 방법 |
US7257811B2 (en) * | 2004-05-11 | 2007-08-14 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US7543166B2 (en) * | 2004-05-12 | 2009-06-02 | Intel Corporation | System for managing power states of a virtual machine based on global power management policy and power management command sent by the virtual machine |
US7515589B2 (en) * | 2004-08-27 | 2009-04-07 | International Business Machines Corporation | Method and apparatus for providing network virtualization |
US20060070066A1 (en) * | 2004-09-30 | 2006-03-30 | Grobman Steven L | Enabling platform network stack control in a virtualization platform |
CN101019405B (zh) * | 2005-01-28 | 2011-09-28 | 美国博通公司 | 用于在通信网络中缓解拒绝服务的方法和系统 |
US7458066B2 (en) * | 2005-02-28 | 2008-11-25 | Hewlett-Packard Development Company, L.P. | Computer system and method for transferring executables between partitions |
US7613132B2 (en) | 2006-06-30 | 2009-11-03 | Sun Microsystems, Inc. | Method and system for controlling virtual machine bandwidth |
US7885257B2 (en) | 2006-07-20 | 2011-02-08 | Oracle America, Inc. | Multiple virtual network stack instances using virtual network interface cards |
US7984123B2 (en) * | 2007-12-10 | 2011-07-19 | Oracle America, Inc. | Method and system for reconfiguring a virtual network path |
US7962587B2 (en) * | 2007-12-10 | 2011-06-14 | Oracle America, Inc. | Method and system for enforcing resource constraints for virtual machines across migration |
US20090172125A1 (en) * | 2007-12-28 | 2009-07-02 | Mrigank Shekhar | Method and system for migrating a computer environment across blade servers |
US7941539B2 (en) * | 2008-06-30 | 2011-05-10 | Oracle America, Inc. | Method and system for creating a virtual router in a blade chassis to maintain connectivity |
-
2008
- 2008-06-30 US US12/165,456 patent/US8099615B2/en active Active
-
2009
- 2009-06-29 CN CN200980128632.3A patent/CN102105865B/zh active Active
- 2009-06-29 EP EP09774210.0A patent/EP2304565B1/en active Active
- 2009-06-29 WO PCT/US2009/049003 patent/WO2010002759A1/en active Application Filing
-
2011
- 2011-12-13 US US13/323,937 patent/US8386825B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109195A2 (en) * | 2004-05-08 | 2005-11-17 | International Business Machines Corporation | Dynamic migration of virtual machine computer programs |
Non-Patent Citations (1)
Title |
---|
Palo Alto.VMware VirtualCenter User"s Manual.《VMware VirtualCenter User"s Manual》.2004,第154页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102105865A (zh) | 2011-06-22 |
EP2304565A1 (en) | 2011-04-06 |
US8099615B2 (en) | 2012-01-17 |
WO2010002759A1 (en) | 2010-01-07 |
US20090327781A1 (en) | 2009-12-31 |
US20120089981A1 (en) | 2012-04-12 |
US8386825B2 (en) | 2013-02-26 |
EP2304565B1 (en) | 2020-03-25 |
WO2010002759A8 (en) | 2010-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102105865B (zh) | 虚拟机环境中不中断网络连通性的电源管理方法和系统 | |
EP3031174B1 (en) | Hybrid network management | |
US9692707B2 (en) | Virtual resource object component | |
CN104468181B (zh) | 虚拟网络设备故障的检测和处理 | |
US8589919B2 (en) | Traffic forwarding for virtual machines | |
CN102017544B (zh) | 卸载网络处理的方法和系统 | |
CN102845035A (zh) | 在虚拟环境中识别目的地的方法 | |
US20170279672A1 (en) | System and method for policy-based smart placement for network function virtualization | |
US11949559B2 (en) | Composed computing systems with converged and disaggregated component pool | |
CN103368768A (zh) | 混合云环境中具有启发式监视的自动缩放网络覆盖 | |
CN103731295A (zh) | 用于运行虚拟整合设备的方法和系统 | |
Ruiu et al. | On the energy-proportionality of data center networks | |
Rahman et al. | Nutshell—simulation toolkit for modeling data center networks and cloud computing | |
US9391916B2 (en) | Resource management system, resource management method, and computer product | |
CN114124740A (zh) | 一种vnf实例化的方法和装置 | |
CN108650337B (zh) | 一种服务器探测方法、系统及存储介质 | |
US20220283866A1 (en) | Job target aliasing in disaggregated computing systems | |
CN102340412A (zh) | 云计算组网交换设计 | |
Tso et al. | S-CORE: Scalable communication cost reduction in data center environments | |
Hu et al. | D-ZENIC: a scalable distributed SDN controller architecture | |
Belabed et al. | Impact of virtual bridging on virtual machine placement in data center networking | |
Curtis | Reducing the Cost of Operating a Datacenter Network | |
Ma et al. | Cross-Border E-Commerce Risk Analysis Platform Based on SDN and Cloud Virtualization Technology |
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 |