CN102576343A - 计算机***和虚拟机迁移方法 - Google Patents
计算机***和虚拟机迁移方法 Download PDFInfo
- Publication number
- CN102576343A CN102576343A CN2010800435342A CN201080043534A CN102576343A CN 102576343 A CN102576343 A CN 102576343A CN 2010800435342 A CN2010800435342 A CN 2010800435342A CN 201080043534 A CN201080043534 A CN 201080043534A CN 102576343 A CN102576343 A CN 102576343A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- migration
- stream
- communication
- switch
- 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.)
- Granted
Links
Images
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
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)
- Debugging And Monitoring (AREA)
Abstract
本发明的计算机***提供有OpenFlow控制器3和交换机4i。当来自迁移已经完成的虚拟机的分组数据与设置到该交换机4i中的流所示的规则不相适应时,交换机4i向OpenFlow控制器3通告包含在分组数据中的MAC地址。OpenFlow控制器3设置用于迁移目的地VM的通信流,该通信流是根据向交换机4i通告的MAC地址生成的。交换机4i基于用于迁移目的地VM的通信流所示的行动445,传输遵循用于所述迁移目的地VM的通信流所示出的规则444的所述虚拟机的分组数据到迁移目的地虚拟机。
Description
技术领域
本发明涉及计算机***和虚拟机的迁移方法,更具体地说,涉及一种计算机***,其在实施网络环境和IT环境的整合管理时可能进行虚拟机的迁移。
背景技术
在最近几年,通过运行在单物理服务器中的多个虚拟机,使得更灵活的***配置变得可能。在这种***中,***负荷分配、故障避免等等可通过迁移技术来实现,该迁移技术中不需要停止运行的虚拟机,运行的虚拟机可被迁移到另外一物理服务器和一内存区域。
作为迁移技术,已知的有例如WO2005/083569(专利文献1),JP2009-146106A(专利文献2),JP2004-78465A(专利文献3)。
专利文献1揭示一网络***,其提供了一连接控制器和运行服务器的交换控制器,将连接目的地从包含主服务器的目标网络切换到包含备份服务器的切换目的地目标网络。在这种配置中,在专利文献1中揭示的***可能实施迁移操作而没有对用户的服务停止和通信的重设。
专利文献2揭示一存储***,在该存储***中,通过切换作为虚拟端口的附加目的地的物理端口到另外一物理端口,并且基于切换目的地的物理端口的标识数据更新交换机单元的路由表,来改变到相同存储器的接入路由。
专利文献3揭示一技术,在该技术在进程迁移处理中的迁移对象进程的停止时间被减少。
在一计算机***中,其中多个计算机通过一个网络连接,通常单独地需要管理网络的网络管理者和管理计算机的IT(信息技术)管理者。IT管理者考虑到在计算机侧的负载(例如CPU和内存的使用率),但是没有考虑到在网络侧的负载,来实施虚拟机的迁移。当迁移虚拟机的内存映像时,有一种情况是数据的传输通过网络来进行。在这个时期,不考虑在网络侧的内存映像的迁移,对虚拟机的访问继续着。所以担心出现随虚拟机的迁移而出现的流量会阻碍迁移对象虚拟机和另一虚拟机的通信。
引用列表
[专利文献1]WO2005/083569
[专利文献2]JP2009-146106A
[专利文献3]JP2004-78465A
发明内容
以这种方式,因为计算机***在网络侧和IT侧被独立地管理,所以虚拟机迁移的设置在网络侧和IT侧被单独地实施。但是,为了执行虚拟机的迁移,考虑到在网络侧和IT(计算机)侧的影响,需要实施在网络侧和IT侧的集成管理。
本发明的一个目的是提供一计算机***,其中虚拟机的迁移可以通过集成地控制网络侧和计算机侧而实施。
为了得到上述的目的,本发明使用下述的方案。
本发明的计算机***提供有VM管理装置、Openflow控制器和交换机。VM管理装置被配置为指令运行在物理服务器上的虚拟机迁移到管理所述虚拟机的虚拟机监控器和迁移目的地虚拟机监控器。当来自迁移已经完成的虚拟机的分组数据与设置到该交换机中的流所示的规则不相适应时,交换机向OpenFlow控制器通告包含在分组数据中的MAC地址。OpenFlow控制器设置用于迁移目的地VM的通信流,该通信流是根据向交换机通告的MAC地址生成的。交换机基于用于迁移目的地VM的通信流所示的行动,传输遵循用于所述迁移目的地VM的通信流所示出的规则的所述虚拟机的分组数据到迁移目的地虚拟机。
本发明的虚拟机迁移方法包括:VM管理装置指令运行在物理服务器上的虚拟机迁移到管理所述虚拟机的虚拟机监控器和迁移目的地虚拟机监控器;当来自迁移已经完成的虚拟机的分组数据与设置到交换机中的流所示的规则不相适应时,向OpenFlow控制器通告分组数据的MAC地址;OpenFlow控制器设置用于迁移目的地VM的通信流到交换机,该通信流根据通告到所述交换机的MAC地址而生成;
所述交换机根据用于迁移目的地VM的通信流所示的行动,传输遵循用于所述迁移目的地VM的通信流所示出的规则的所述虚拟机的分组数据到迁移目的地虚拟机。
如上所述,根据本发明,通过设置根据所接收的第一个分组的MAC地址的流到交换机,与迁移对象虚拟机的通信可以被切换到迁移目的地虚拟机。通过至少设置虚拟机的迁移目的地到虚拟机管理装置,可以对虚拟机的内存映像的传输和与迁移目的地虚拟机的通信进行切换。而且,在本发明中,因为交换机目的地的切换是通过OpenFlow控制器设置的流来实施的,所以从网络侧来看伴随着虚拟机的迁移,虚拟机停止的时间可以被减少。
根据本发明,虚拟机的迁移可以通过集成控制网络侧和像源的计算机侧来进行。
而且,可减少在虚拟机的迁移中的分组损失。
附图说明
结合附图,依据示范性实施例的描述,本发明的目的、效果和特征将变得更加清楚:
图1为示出了依据本发明的第一和第二示范性实施例的计算机***结构的图。
图2为示出了本发明的虚拟机管理装置的结构的图。
图3为示出了本发明的OpenFlow控制器的结构的图。
图4为示出了本发明的OpenFlow控制器中流表的结构例子的图。
图5为示出了本发明的OpenFlow控制器中拓扑数据的例子的图。
图6为示出了本发明的OpenFlow控制器中通信路由数据的例子的图。
图7为示出了依据本发明的OpenFlow交换机的结构的图。
图8为示出了本发明的交换机中流表的例子的图。
图9为示出了依据本发明的OpenFlow控制的图。
图10为示出了第一示范性实施例中虚拟机在迁移操作中的准备流程的序列图。
图11为示出了第一和第二示范性实施例中虚拟机在迁移操作中的内存映像传输流程的序列图。
图12为示出了第一示范性实施例中虚拟机在迁移操作中的访问目的地改变流程的序列图。
图13为示出了第二示范性实施例中虚拟机在迁移操作中的准备流程的序列图。
图14为示出了第二示范性实施例中虚拟机在迁移操作中的访问目的地改变流程的序列图。
图15为示出了依据本发明第三示范性实施例的计算机***的结构的图。
图16为示出了第三示范性实施例中虚拟机在迁移操作中的访问目的地改变流程的序列图。
图17为示出了依据本发明第四示范性实施例的计算机***的结构的图。
具体实施方式
在下文中,将参照附图,描述本发明的示范性实施例。在附图中,相同和相似的参考数字表示相同和相似的组件。
第一示范性实施例
计算机***的结构
参考图1-图9,将描述根据本发明第一示范性实施例的计算机***的结构。图1为示出根据本发明第一和第二示范性实施例的计算机***的结构的方块图。本发明的计算机***提供有一集成管理装置1、虚拟机管理装置2(下文中称为VM管理装置2)、OpenFlow(开流)控制器3(下文中称为OFC3)、交换机组4(下文中称为OpenFlow交换机(OFS)组4)、物理服务器5和6和例如共享磁盘的存储单元7。
物理服务器5和6通过具有至少一个OpenFlow交换机的OFS组4相互地连接。而且,物理服务器5和6通过OFS组4,与例如因特网的外部网络8相连接。要注意的是,在本示范性实施例中,两个物理服务器5和6被描述了,但是物理服务器的数量不限于是两个。
物理服务器5和6是计算机,各个计算机提供了CPU和RAM,并运行存储在物理服务器5和6中或者在存储单元7中相互分开存储的程序。所以,实现了至少一个虚拟机。详细来说,物理服务器5提供有虚拟机101-10n(其中n为自然数),这些虚拟机通过逻辑地或者物理地划分CPU(未示出)和存储单元7的使用区域来实现。或者,通过使用运行在客户操作***(GOS)上软件程序或者运行在于主机操作***上模拟的GOS中的软件程序,可实现虚拟机101到10n。虚拟机101到10n通过虚拟机监控器10(在下文中,称为VMM)而被管理,其中虚拟机监控器10通过使用CPU(未示出)执行存储在存储单元7中的程序来实现。物理服务器6提供有至少一个虚拟机201到20m(m为自然数),像物理服务器5那样,这些虚拟机201到20m由VMM20来管理。
需要由虚拟机101到10n,201到20m所使用的磁盘映像(内存映像)被存储在共享的磁盘中。例如,所述共享磁盘被描述为磁盘阵列、NAS(网络附属存储)和数据库服务器,等等,它们通过FC(光纤通道)和以太(注册商标)网络连接
一种使用VMM10管理虚拟机101到10n的方法,和一种使用VMM20管理虚拟机201到20m的方法是与常规现有技术相同的。例如,VMM10管理由虚拟机101到10n所使用内存映像,VMM20管理由虚拟机201到20m所使用内存映像。
虚拟机101到10n中的每个虚拟机,经物理NIC(未示出)和由VMM10管理的虚拟交换机11,发送数据到另一单元并接收来自另一单元(例如,外部网络8中的计算机或者另一物理服务器6中的虚拟机)的数据。在本示范性实施例中,作为例子,分组传输是基于TCP/IP(传输控制协议/互联网协议)来实施的。以相同的方式,虚拟机201到20m中的每个虚拟机经虚拟交换机21,发送数据到另一单元并接收来自另一单元的数据。而且,在相同物理服务器中的虚拟机之间的通信经虚拟交换机11或21而实施。
假设即使虚拟机101到10n、虚拟机201到20m根据本发明迁移到不同的VMM或者物理服务器,MAC地址不发生改变。而且,虚拟交换机11和21可通过于后描述的OpenFlow技术而被控制,并且可实施常规技术中的交换操作(层2)。将描述一个在下述示范性实施例中的虚拟交换机11和21处理OpenFlow技术的例子。而且,在虚拟机101到10n和201到20m中,以及物理服务器的外部单元中实施桥连接。也就是说,通过使用虚拟机101到10n和虚拟机201到20m的MAC地址和IP地址,可以直接向外部实施通信。
VM管理装置2管理运行在物理服务器5和6中的虚拟机101到10n和虚拟机201到20m。图2是示出本发明的VM管理装置2的结构的图。需要VM管理装置2通过一提供有CPU和存储单元的计算机来实现。在VM管理装置2中,通过CPU(未示出)运行保存在存储单元中的程序,实现如图2所示的VM迁移控制部321和VM管理部322中的功能。
VM迁移控制部321控制虚拟机的迁移。详细地说,基于存储在存储单元中的VMM管理数据323,VM迁移控制部321指明一虚拟机作为迁移目标,一虚拟机监控器作为迁移目的地,并且指令虚拟机到作为迁移源和迁移目的地的虚拟机监控器的迁移。因此,在被指令过的虚拟机监控器之间,实施虚拟机的迁移。
VMM管理部322管理受管理的虚拟交换机和虚拟机监控器的数据(VMM管理数据323)。VMM管理数据323包含各个虚拟机监控器的标识和由虚拟机监控器管理的虚拟机的标识的数据(即VMM数据324);VMM管理数据323还包含像虚拟交换机的标识和与虚拟交换机相连的虚拟机的标识这样的数据(VSW数据325)。需要VMM数据324和VSW数据325与各个管理虚拟交换机的虚拟机监控器相关联。
VMM管理数据323可以被事先保存在存储单元中,并可以在可选的时间点或者周期性地从VMM10和VMM20获取。当从VMM10和VMM20获取VMM管理数据323时,需要响应于来自VMM管理部322的指令,从VMM10和VMM20处获取VMM管理数据323,并且基于所获取的数据,更新在存储单元中的VMM管理数据323。因此,变得有可能在虚拟机迁移之后,监控虚拟交换机的被改变后的连接目的地和虚拟机的被改变后的迁移目的地。
OFC3通过OpenFlow技术控制在***中的通信。在OpenFlow技术中,根据路由策略(流:规则+行动),控制器(在本例子中的OFC3)设置在流单元中的多层单元的路由数据到交换机,以便实施路由控制和节点控制。这样,路由控制功能被与路由器和交换机相分隔开,通过控制器实现的集中控制,最佳路由和流量控制变得可能。应用了OpenFlow技术的交换机(OFS组4)将通信作为端对端的流,该端对端的流不是以常规路由器和交换机的分组和帧为单位。
详细地说,通过设置各个交换机或者节点的流(规则+行动),OFC3控制交换机和节点的运作(例如,分组数据的中继操作)。在本例子中,由OFC3控制的交换机被举例示为OFS组4,虚拟交换机11和21等。由OFC3控制的节点被举例示为虚拟机101到10n,201到20m,VMM10和20,物理服务器5和6,存储单元7等。
图3为示出了本发明OFC3的结构的图。需要OFC3通过提供有CPU和存储单元的计算机来实现。在OFC3中,通过CPU执行存储在存储单元中的程序,实现在图3中示出的交换机控制部331、流管理部332、流生成部333的功能。
所以,根据流表格334,交换机控制部331实施各个交换机或者节点的流(规则+行动)的设置或删除。根据本发明,交换机和节点参考设置的流,并根据接收分组的头数据,执行对应于规则的行动(例如,中继和丢弃分组数据)。所述规则和行动的细节将稍后描述。
图4为示出了由本发明的OFC3所保存的流表格334的结构例子的图。参见图4,在流表格334中,用于指明流的流标识441、用于指明流的设置对象(交换机和节点)的标识(对象单元442)、路由数据443、规则444、行动数据445和设置数据446相互关联并被存储。到所有交换机和节点的流(规则444+行动数据445)(是OFC3的控制目标)被设置到流表格334。在流表格334中,可以定义处理通信的方法,例如编码各个流和Qos的数据。
在规则441中,例如,定义了标识与OSI(开放式***互联)参考模型中层1到层4的地址的结合体,并且其被包含在TCP/IP协议的分组数据的头数据中。例如,层1的物理端口、层2的MAC地址、层3的IP地址、层4的端口号和VLAN标签的结合体被设置为规则444,如图9所示。这里,端口号的地址和标识的预定范围可被设置到规则444。而且,需要在规则444中标识和设置目的地地址和源地址。例如,在规则444中设置有:MAC目的地地址的范围、指明了连接目的地的应用的目的地端口号的范围、指明了连接源的应用的源端口号的范围。此外,标明了数据传输协议的标识可以被设置为规则444。
例如,在行动数据445中规定了处理TCP/IP分组数据的方法。例如,设置了显示是否中继接收分组数据,以及在中继时的发送目的地的数据。并且,指令丢弃的数据和分组数据的复制件可以被设置在行动数据445中。
路由数据443是用于指明路由的数据,其中流(规则444+行动数据445)被用于所述路由。这是一个与通信路径数据336相关的标识,该通信路径数据336将在后面被描述。
设置数据446包含显示是否当前流(规则444+行动数据445)被设置到通信路径、交换机等的数据(“已经设置”或者“没有设置”)。而且,因为设置数据446与对象单元442和路径数据443相关联,有可能确认是否流被设置到了通信路径,以及有可能确认是否流被设置到了在通信路径中的各个交换机和节点。而且,设置数据446包括显示是否产生的流是在可使用(合法)的状态或者是在不可使用(非法)的状态的数据。交换机控制部331参考设置数据446,以仅设置合法流到交换机(OFS)和节点,并且不设置非法流。
流管理部332参考流表格334,以提取出对应于交换机和节点所通告的第一分组数据的头数据的流(规则444+行动数据445),并通告该提取出的流到交换机控制部331。而且,流管理部332将流标识441和由流产生部333产生的流(规则444+行动数据445)相关联,并将它们保存在存储单元中。这时,流被使用的通信路径的标识(路由数据443)、流被使用的交换机或者节点的标识(对象单元442)被加入到流(规则444+行动数据445)中并被保存。
流产生部333通过使用拓扑数据335计算通信路径,并将计算结果作为通信路由数据336保存到存储单元中。在这个例子中,设置了通信路由末端的节点,以及通信路由上的交换机和节点。而且,基于通信路由数据336,流产生部333产生流(规则444+行动数据445),该流被设置到通信路由上的交换机和节点。
拓扑数据335包含交换机(例如,OFS组4,虚拟交换机11和21等)、节点(例如,虚拟机101到10n,虚拟机201到20m,VMM10和VMM20,物理服务器5和6和存储单元7)和外部网络(例如,因特网)的连接状态的数据。特别地,指明了交换机或者节点(单元)的单元标识451与单元中的端口数452和端口连接目的地数据453相关联,并且它们作为拓扑数据335存储在存储单元中。端口连接目的地数据453包含连接类型(交换机/节点/外部网络),该连接类型指明连接对端和指明了连接的目的地的数据(在是交换机时,为交换机ID;在是节点时,为MAC地址;在是外部网络时,为外部网络ID)。
通信路由数据336为用于指明通信路由的数据。详细地说,作为通信路由数据336,指明一组节点(例如,虚拟机101到10n,虚拟机201到20m,VMM10和20,物理服务器5和6,存储单元7等)或者作为端点的外部网络接口的端点数据461、指明通道交换机(例如,OFS组4,虚拟交换机11和21等)和端口对组的通道交换机数据462、附属数据463被关联在一起,并被保存在存储单元中。例如,当通信路由连接外部网络和节点时,外部网络ID和节点的MAC地址作为端点数据461保存。或者,当通信路由连接于节点之间时,一对作为端点的节点的MAC地址作为端点数据461保存。通道交换机数据462包含交换机(OpenFlow交换机和虚拟交换机)的标识,该交换机被提供在端点之间的通信路由中,其中所述端点由端点数据461所示出。而且,通道交换机数据462可包含用于关联被设置到交换机的流(规则444+行动数据445)和交换机的数据。在端点被改变之后,附属数据463包含在路由上的交换机(通道交换机)的数据。
本发明的流管理部332响应于虚拟机的迁移指令(迁移准备指令)控制流产生部333,产生用于传输内存映像的流(内存映像传输流),并控制交换机控制部331以设置内存映像传输流到在内存映像传输路径上OFS和节点。而且,本发明的流管理部332响应于虚拟机的迁移指令(迁移准备指令)控制流产生部333,以产生在迁移后访问虚拟机的流(用于迁移目的地VM的通信流),并控制交换机控制部331以将用于迁移目的地VM的通信流设置到迁移目的地VM的通信路由上的OFS组和节点。
OFS组4被提供有至少一个OpenFlow交换机41到4i(i是自然数)。图7为示出了依据本发明的OpenFlow交换机4i(于下称作OFS4i)的结构的图。所以,OFS4i根据由OFC3设置的流表格343决定接收分组的处理方法(行动)。OFS4i提供有传输处理部341和流管理部342。传输处理部341和流管理部342可以被配置为硬件,并可实现为由CPU执行的软件程序。
图8所示的流表格343被设置在OFS4i的存储单元中。流管理部342设置从OFC3获取的流(规则444+行动数据445)到流表格343。而且,当由传输处理部341接收的接收分组的头数据与存储在流表格343中的规则444相匹配(相一致)时,流管理部342向传输处理部341通告对应于规则444的行动数据445。另一方面,当由传输处理部341接收的接收分组的头数据与存储在流表格343中的规则444不相匹配(相一致)时,流管理部342向OFC3通告接收到了第一分组,并且发送头数据到OFC3。
传输处理部341根据所述接收分组的头数据实施传输操作。详细地说,传输处理部341从所接收的分组数据中提取头数据,并向流管理部342通告该头数据。当从流管理部342接收行动数据445时,传输处理部341根据行动数据445实施处理。例如,传输处理部341传输所述接收分组数据到行动数据445所示的目的地节点。而且,当接收分组数据不具有在流表格343中规定的规则444时,传输处理部341在预定时间内保留分组数据,并且等待直到流被从OFC3所设置(流表格343被更新)。
具体地说,设置有流的OFS4i的运作将被描述,其中规则444:“A1-A3”的MAC发送源地址(L2),“B1-B3”的IP目的地地址(L3),“HTTP”的协议,“C1-C3”的目的地端口号(L4);和行动数据445:“中继到物理服务器5的虚拟机101”是相关联的。当接收的分组具有:“A1”的MAC源地址(L2)、“B2”的IP目的地地址(L3)、“HTTP”的协议、“C3”的目的地端口号(L4),OFS4i决定头数据匹配规则444,并且发送所接收的分组数据到虚拟机101。另一方面,当接收的分组具有:“A5”的MAC源地址(L2)、“B2”的IP目的地地址(L3)、“HTTP”的协议、“C4”的目的地端口号(L4),OFS4i决定头数据不匹配规则444,并且通告OFC3接收到了该第一分组,并发送所述头数据到OFC3。OFC3从流表格334提取对应于所接收头数据的流(规则444+行动数据445),并将其发送到OFS4i。要注意的是在流表格334中没有合适的流时,可新产生一个流。OFS4i设置所发送的流到其自己的流表格343,并根据流表格343执行接收分组的中继操作。
如前所提及的,OpenFlow技术(称为可编程流技术)被运用到本发明的计算机***中。要注意的是,除了OFS组4,虚拟交换机11和21可以提供有一流表格,其中像OFS4i那样OFC3设置所述流表格中的流。在这种情形下,像OFS组4那样OFC3可控制虚拟交换机11和21的运行。
在第一示范性实施例中的计算机***提供有集成管理装置1,该装置控制VM管理装置2和OFC3。可取的是集成管理装置1通过提供有CPU和存储单元的计算机来实现。集成管理装置1可取地具有输入单元(例如键盘和鼠标)、显示单元(例如显示器和打印机)其可视地显示各种类型的从VM管理装置2或者OFC3传输来的数据。用户(管理者)通过使用集成管理装置1控制VM管理装置2和OFC3,并执行虚拟机的迁移。
集成管理装置1、VM管理装置2和OFC3中的每一个可以被提供在同一个计算机中或者分别地在不同的计算机中。
虚拟机的迁移
接着参见图10-图12,描述了依据本发明的第一示范性实施例的虚拟机的迁移操作。图10为显示了在虚拟机进行迁移操作时本发明第一示范性实施例中的准备处理的序列图。
管理者操作输入单元(未示出)以指令集成管理装置1来控制虚拟机的迁移(以下,称作VM迁移)。在这时,迁移虚拟机(于下,称为迁移对象VM)运行于其上的物理服务器(或者虚拟机监控器)、迁移对象VM和作为迁移目的地的物理服务器(或者虚拟机监控器)被指明。集成管理装置1响应于VM迁移指令,发布数据通告指令到VM管理装置2(步骤S101)。这里,集成管理装置1发布一指令,以通告迁移源和迁移目的地的物理服务器的虚拟机监控器的数据。VM管理装置2传输迁移源和迁移目的地的物理服务器的VMM管理数据323到集成管理装置1(步骤S102)。因此,集成管理装置1获取迁移源的虚拟机监控器(于下,称为迁移源VMM)的数据、迁移对象VM的数据、迁移目的地的虚拟机监控器(于下,称为迁移目的地VMM)的数据和迁移目的地的虚拟交换机(于下,称为迁移目的地VSW)。
当获取VMM管理数据323时,集成管理装置1发布迁移准备指令到OFC3(步骤S103)。在这时,集成管理装置1基于VMM管理数据323向OFC3指明迁移源VMM、迁移对象VM、迁移目的地VMM和迁移目的地VSW。
当接收所述迁移准备指令时,OFC3首先针对内存映像迁移设置通信路由和流。OFC3基于拓扑数据335计算通信路由(内存映像传输路由)以在迁移源VMM和迁移目的地VMM之间传输迁移对象VM的内存映像(步骤S104)。这里,在迁移前迁移对象VM的内存映像保存于其中的区域,和在迁移后迁移对象VM的内存映像保存于其中的区域被设置为两个端点,并被用于计算内存映像传输路由。所述被计算的内存映像传输路由的数据作为通信路由数据336进行保存。
OFC3产生应当被设置到各个OFS4i中的流(内存映像传输流)(步骤105),其中所述各个OFS4i处在于步骤S104中计算的内存映像传输路由上。针对各个OFS4i所产生的内存映像传输的流(规则444+行动数据445)与各个OFS4i相关联,并且被注册在流表格334中。在这时,内存映像传输流的设置数据446被设置为“未设置”和“非法”。
OFC3设置内存映像传输流到各个OFS4i或者节点(步骤S106到步骤S108)。详细地说,OFC3指令在通信路由上的对应的OFS4i,以设置内存映像传输流(步骤106)。已经下指令设置流的OFS4i设置所发送的流(规则444+行动数据445)到其自己的流表格343(步骤S107)。完成了流设置的OFS4i向OFC3报告流设置完成(步骤S108)。这里,除了OFS4i,内存映像传输流被设置到了内存映像传输路由上的节点。而且,当虚拟交换机具有对应于OpenFlow技术的结构时,内存映像传输流被设置到内存映像传输路由上的虚拟交换机。设置到OFS4i和虚拟交换机的内存映像传输流的设置数据446被设置为“设置”和“合法”。
接着,OFC3设置通信路径,和用于在VM迁移后访问迁移对象VM(于下,称为迁移目的地VM)的流。首先,OFC3计算通信路由(用于迁移目的地VM的通信路由)(步骤S109)。详细地说,OFC3从预先保存的合法通信路由数据336选择有关迁移对象VM的通信路由的通信路由数据336。这里,合法通信路由(合法通信路由数据336)显示:流可能设置到OFS4i的通信路由存在。通过将所选择的通信路由的一端由迁移对象VM改变为与迁移目的地VM相连接的虚拟交换机,OFC3使用拓扑数据335更正通信路由,并且计算作为迁移目的地VM的通信路由。所计算的迁移目的地VM的通信路由的数据被作为通信路由数据336进行保存。
OFC3产生设置到各个OFS4i的流(用于迁移目的地VM的通信流)(步骤S110),其中所述各个OFS4i是处于在步骤S109中计算的迁移目的地VM的通信路由上的。针对各个OFS4i所产生的迁移目的地VM的通信流(规则444+行动数据445)与各个OFS4i相关联,并被注册在流表格334中。在这时,迁移目的地VM的通信流的设置数据446被设为“未设置”和“非法”。
当产生用于迁移目的地VM的通信流时,OFC3向集成管理装置1报告迁移准备完成(步骤S111)。
如前所提及,在本示范性实施例中的准备流程中实施了:计算迁移对象VM的内存映像的传输路由;为进行迁移控制的流设置;计算为访问迁移目的地VM的通信路由;产生用于通信控制的流。在第一示范性实施例中,当设置内存映像传输流到OFS4i完成,并且产生用于迁移目的地VM的通信流完成后,迁移准备就结束了。
图11是示出了依据虚拟机的第一示范性实施例在迁移处理时内存映像传输处理的序列图。参见图11,当接收到迁移准备完成的报告时,集成管理装置1发布迁移指令到VM管理装置2(步骤S201)。VM管理装置2发布迁移指令到迁移源VMM(在本例子中为VMM10)和迁移目的地VMM(在本例子中为VMM20),其中迁移源VMM和迁移目的地VMM在准备处理中被指明(步骤S202和步骤S203)。这时,VM管理装置2通告迁移对象VM到VMM10和20。要注意的是,在步骤S201中的迁移指令中,可指明迁移源VMM和迁移目的地VMM。
响应于从VM管理装置2来的迁移指令,在VMM10和VMM20之间实施虚拟机的内存映像传输(步骤S204到S212)。详细地说,在迁移目的地VMM(于下,迁移目的地VMM20)中产生由VM管理装置2指明的VM(步骤S204)。响应于由迁移目的地VMM20通告的VM产生结束报告,迁移源VMM(在本例子中为迁移源VMM10)传输迁移对象VM的内存映像(步骤S205到步骤S207)。迁移源VMM10发送内存映像到在步骤S204中产生的VM。经过在步骤S104到步骤S107中设置的内存映像传输路径,内存映像被传输。在这时,根据在步骤S107中设置的内存映像传输流,在内存映像传输路由上的OFS4i传输所述内存映像。
在传输内存映像期间,当访问(例如数据传输)另一虚拟机,除了迁移对象VM之外,的情形出现时,与所述访问相关的OFS4i根据设置在其流表格343中的流,执行对应于接收分组的头数据的行动(例如,数据中继处理)。通过设置内存映像传输路由,以至不会阻碍对与迁移无关的另一虚拟机的访问,这样就变得可能迁移迁移对象VM,而不阻碍与另一虚拟机的通信。
另一方面,在传输内存映像期间(例如,当用于迁移对象VM的数据被传输时),当访问迁移对象VM的情形出现时,到迁移对象VM的通信路由上的OFS4i根据设置在其流表格343中的流,执行对应于接收分组的头数据的行动(例如,数据中继处理)。这里,因为流是在假设迁移对象VM是运行在VMM10上时而进行设置的,用于迁移对象VM的数据被传输到在物理服务器5上的迁移对象VM。迁移源VMM10记录被指派给迁移对象VM的数据到迁移对象VM的内存页中。
在传输内存映像时,由于对迁移对象VM的处理和对指派给迁移对象VM的数据传输的处理,存在内存页被修改或者被更新的情形。被改变的内存页作为一复制对象被保存在保存单元的改变页记录区域(步骤S208)。可取的是,改变页的记录处理被实施一直到迁移目的地VM开始。
当与迁移对象VM相关的所有内存映像的传输完成时,迁移源VMM10通过在步骤S104到S107中设置的内存映像传输路由,传输改变的页到迁移目的地VMM20(步骤S209)。但是,可取的是当在与迁移对象VM相关的所有内存映像的传输完成时记录的改变页的数量等于或者小于预定的数目时,在步骤S209中的对改变页的传输处理被省略去。而且,在步骤S209中改变页的传输处理时,存在一种内存页被修改的情形。所以,在步骤S209中,迁移源VMM10在更多另一区域中保存保存在改变页记录区域中的改变页,并且在清除改变页记录区域之后,传输所述改变页到迁移目的地VMM20。
当与迁移对象VM相关的所有内存映像的传输(包含改变页的传输)完成时,运行在迁移源VMM10上的迁移对象VM(于下,称为迁移源VM)的操作被停止(步骤S210)。在这时,迁移源VM的虚拟网络接口也被停止。要注意:可取的是通过重复在步骤S209中的改变页的传输和改变页的记录,在改变页的数量等于或者小于预定的数量的情况下,迁移源VMM10停止迁移源VM。在迁移源VM停止后,迁移源VMM10通过如步骤S104到步骤S107中的内存映像传输路由,传输改变页到迁移目的地VMM20(S211)。因此,从迁移源VMM10到迁移目的地VMM的内存映像的传输完成。在迁移目的地VMM20上产生的VM(于下,称为迁移目的地VM)可开始运行,但是可取的是实施在迁移源VM和迁移目的地VM中的内存映像的匹配判断。详细地说,迁移源VMM10确认迁移源VM的停止,并发布传输确认指令到迁移目的地VMM20(步骤S212)。响应于传输确认指令,迁移目的地VMM20通过在步骤S104到步骤S107中设置的内存映像传输路由,传输迁移目的地VM的内存映像到迁移源VMM10(步骤S213)。迁移源VMM10判断从迁移目的地VMM20传输来的内存映像与迁移源VM的内存映像是否相互匹配(步骤S214)。
当在步骤S214迁移目的地VM的内存映像与迁移源VM的内存映像相匹配被确认时,迁移源VMM10通告迁移目的地VMM20一匹配确认完成报告(步骤S215)。迁移目的地VMM20接收所述匹配确认完成报告,并控制迁移目的地VM运作(步骤S216)。在这时,迁移目的地VM的虚拟网络接口变成运行状态。
在另一方面,在步骤S214中,当迁移目的地VM的内存映像与迁移源VM的内存映像不相匹配时,实施不匹配的内存页的传输处理(未示出)。
如前所提及的,通过使用由集成管理装置1指明的路由(内存映像传输路由),实施VM的内存映像的传输。在这时,根据在迁移前被设置到OFS组4的流,实施对迁移源VM的访问。因此,VM的内存映像可以被传输而不停止到迁移源VM的通信。而且,因为内存映像传输路由可由集成管理装置1可选地进行设置,所以路由可被选择以不阻碍到另一虚拟机的通信。因此,不影响通信到其它虚拟机的内存映像传输变得可能。
通常,当物理服务器属于相同子网时,在物理服务器之间的数据传输通过层2的交换机而实施。但是,当物理服务器属于不同的子网时,需要在物理服务器之间提供层3交换机。在另一方面,在本发明中通过使用OpenFlow技术传输内存映像,其中在OpenFlow技术中基于从层1到层4的标识和地址的组合确定行动(例如中继操作)。所以,即使当物理服务器5和6属于不同的子网时,仅仅通过改变流的设置,在物理服务器之间的数据传输变得可能。
图12为示出了第一示范性实施例的虚拟机的迁移操作中的访问目的地切换操作的序列图。这里,将描述在于步骤S218中开始的迁移目的地VM被涉及为VM20m的条件下,从迁移源VM到迁移目的地VM20m的访问目的地切换操作。参见图12,当在迁移目的地VMM20中产生的VM20m变为运行状态时,VM20m实施RARP(反向地址解析协议)传输(步骤S301)。RARP被虚拟交换机21所检测到,并被传输到OFS4i。OFS4i检测到RARP,并向OFC3通告所检测到的RARP(步骤S302)。详细地说,因为OFS4i通过RARP传输从变成运行状态的迁移目的地VM接收分组数据,并且适合于分组数据的流(规则)没有被设置,OFS4i向OFC3通告第一分组的接收。在这时,OFS4i向OFC3通告分组数据或者含在分组数据中的MAC地址。OFC3选择对应于所通告的MAC地址的通信路由作为迁移目的地VM的通信路由,并选择出用于迁移目的地VM的通信流,该通信流是被设置到在所选择的用于迁移目的地VM的通信路由上的交换机的。这里,RARP的分组数据从OFS4i被传输,并且OFC3获取在RARP中被传输的VM20m的MAC地址。
OFC3选择被保存的合法通信路由数据336中对应于在步骤S302中通告的RARP(MAC地址)的通信路由(通信路由数据336)(步骤303)。这里,传递RARP(MAC地址)的通信路由被从用于迁移目的地VM的通信路由中选出,其中所述用于迁移目的地VM的通信路由是在步骤S109中计算的。接着,OFC3设置在步骤S110中产生的用于迁移目的地VM的通信流到OFS4i和所选择通信路由上的节点(步骤S304到步骤S307)。详细地说,OFC3从通信路由数据336和拓扑数据335中,提取出在所选择的用于迁移目的地VM的通信路由上的节点和OFS4i,并且选择对应于每个的迁移目的地VM的通信流(步骤S304)。接着,OFC3发布针对各个OFS4i选择的迁移目的地VM的通信流的设置指令(步骤S305)。响应于用于迁移目的地VM的通信流的设置指令,OFS4i设置传输的迁移目的地VM的通信流到其流表格343(步骤S306)。OFS4i结束流的设置,并向OFC3通告流设置结束报告(步骤S307)。被设置到OFS4i的迁移目的地VM的通信流的设置数据446被设置为“已经设置”或者“合法”.
OFC3设置用于迁移目的地VM的通信流到用于迁移目的地VM的通信路由上的节点和OFS4i,并且在确认设置完成时,通过使用拓扑数据335产生用于在迁移目的地VM和虚拟交换机21之间连接的流(步骤S308),其中所述节点和OFS4i在上。OFC3设置产生的流到虚拟交换机21(步骤S309和S310)。详细地说,OFC3发布对在步骤S308处产生的流的设置指令到虚拟交换机21(步骤S309)。响应于流的设置指令,虚拟交换机21设置从OFC3发送来的流到其自己的流表格343(步骤S310)。虚拟交换机21结束流的设置,并向OFC3通告流设置完成报告(步骤S311)。设置到了虚拟交换机21的迁移目的地VM的通信流的设置数据446被设置为“已经设置”和“合法”。
当OFC3确认在迁移目的地VM20m和虚拟交换机21之间连接的流的设置完成时,OFC3选择用于迁移源VM的流,并发布流的删除指令(步骤S312和S313)。OFS4i和节点删除用于迁移源VM的流或者设置该流到不使用状态(步骤S314)。OFS4i和节点结束流的删除,接着向OFC3通告流删除完成报告(步骤S315)。当确认了在用于迁移源VM的通信路由上的节点和OFS4i中的流的删除时,OFC3设置用于迁移目的地VM的通信流为当前使用的流,并且设置用于迁移源VM的通信流为不使用的流(步骤S316)。这里,显示“使用”或者“不使用”(合法或者非法)的数据被设置在对应于各个流(规则444+行动数据445)的设置数据446中。这时,用于迁移源VM的没被使用的通信流可以从流表格334中删除。但是,通过改变设置数据446而不删除不使用的流来设置流的使用或者不使用(合法或者非法),这样当迁移的虚拟机被返回到初始物理服务器或者VMM时,流可以被再次设置而不需要产生流。
于下,根据设置到各个OFS4i的迁移目的地VM的通信流,向运行于物理服务器6上的VMM20执行迁移目的地VM20m的通信。
如前所述,根据本发明的迁移方法,虚拟机的迁移变得可能而不打断与虚拟机的通信。在本示范性实施例中,在不同物理服务器之间的迁移作为一个例子已经进行了描述,但是可以以相似的方法实现在相同物理服务器中的迁移。
而且,根据本发明,可以通过集成管理装置1实施用于内存映像传输的设置和用于与迁移目的地VM通信的设置。也就是说,通过一个管理部来控制虚拟机迁移是所希望的。所以,根据本发明,由网络管理者和IT管理者分别管理的计算机***变得可有一个管理部来管理和操作。
要注意的是,当虚拟交换机21为实施了常规交换(层2)操作的虚拟交换机时,步骤S308到S311的处理将被省略去。
第二示范性实施例
接着,参见图11、图13和图14,将描述依据本发明第二示范性实施例在计算机***中的虚拟机的迁移方法。因为在第二示范性实施例中的计算机的结构与第一示范性实施例中的相同,所以其描述被省略。不同于第一示范性实施例的操作将被描述。而且,通过添加相同的数字符号描述与第一示范性实施例的相同的操作。
在第二示范性实施例中的虚拟机的迁移方法中,在迁移准备处理阶段,用于迁移目的地VM的通信流被设置到OFS4i。所以,用于迁移对象VM的分组数据被复制并被传输到迁移源VM和迁移目的地VM。在第一示范性实施例中,因为在传输了迁移对象VM的内存映像之后,用于迁移目的地VM的通信流被设置了,所以有一种情形是:在从迁移对象VM的停止到对用于迁移目的地VM的通信流进行设置(切换访问目的地到迁移对象VM)的这段期间,出现分组丢失。但是,在第二示范性实施例中,因为在迁移准备阶段用于迁移源VM的流和用于迁移目的地VM的流都被设置了,所以在切换访问目的地到迁移目的地VM的场合,可以防止分组丢失的出现。
图13为示出了在第二示范性实施例中在虚拟机进行迁移处理时准备处理的序列图。参见图13,在第二示范性实施例的准备处理中,像第一示范性实施例那样,首先实施步骤S101到S110中的处理。在第二示范性实施例中,在迁移准备步骤中OFC3设置用于迁移目的地VM的通信流到各个OFS4i(步骤S401到S403)。详细地说,OFC3提取在用于迁移目的地VM的通信路由上节点和OFS4i,并且选择用于对应迁移目的地VM的通信流,其中所述通信路由是基于通信路由数据336和拓扑数据335而选择的。接着,OFC3发布用于迁移目的地VM的通信流的设置指令(步骤S401),其中所述通信流是为各个OFS4i而选择的。响应于用于迁移目的地VM的通信流的设置指令,OFS4i设置传输的用于迁移目的地VM的通信流到其流表格343(步骤S402)。当流设置结束时,OFS4i向OFC3通告流设置结束报告(步骤S403)。设置到OFS4i的迁移目的地VM的通信流的设置数据446被设置为“已经设置”或者“合法”状态。
当用于迁移目的地VM的通信流的设置完成时,OFC3向集成管理装置1通告迁移准备的完成(步骤S405)。
如前所述,在本示范性实施例的准备流程中,实施了对迁移对象VM的内存映像的传输路由以及对控制迁移的流的设置,以及对用于访问迁移目的地VM的通信路由以及对控制通信的流的设置。在第二示范性实施例中,当对OFS4i进行内存映像传输流设置和用于迁移目的地VM的通信流设置结束时,迁移准备结束。
参见图11,在第二示范性实施例的映像传输处理中,像第一示范性实施例那样,首先执行在步骤S201到S207中的处理(内存映像的传输处理)。在内存映像的传输期间,当出现对任何一除迁移对象VM之外的其它虚拟机的访问(例如数据传输)时,与访问相关的OFS4i根据设置在其自身中的流表格343中的流,执行对应于接收分组的头数据的动作(例如,数据的中继处理)。在这种情况下,通过设置内存映像传输路由而不阻碍对其它与迁移不相关虚拟机的访问,迁移对象VM可以被传输而不阻止与其它虚拟机的通信。
另一方面,在内存映像的传输期间(例如当用于迁移对象VM的数据被传输时)出现对迁移对象VM的访问时,在到迁移对象VM的通信路由上的OFS4i,根据设置在其自己的流表格343中的流,执行对应于接收分组的头数据的动作(例如,数据的中继操作)。在本示范性实施例中,因为流是在假设迁移对象VM是运行在VMM10或者VMM20上而设置的,所以用于迁移对象VM的数据被拷贝并被传输到在物理服务器5上的迁移对象VM(迁移源VM)和在物理服务器6上的迁移目的地VM。迁移源VMM10记录为迁移对象VM而传输的数据在迁移对象VM的内存页中。在这时,为迁移对象VM而传输的数据被存储在迁移目的地VMM20的迁移目的地VM的内存页中。
在内存映像的传输期间,有一种情况存在:通过在进程处理中的迁移对象VM,基于为迁移对象VM而传输的数据内存页被改变了。被改变的内存页被作为复制对象而存储在存储单元的被改变页记录区域(步骤S208)。可取的是:实施被改变页的记录处理,直到迁移目的地VM开始运行。
自从那之后,从被改变页(步骤S208)的记录到迁移目的地VM的运行(步骤S216),实施像第一示范性实施例那样的处理。
如前所提及,在第二示范性实施例的迁移方法中,像第一示范性实施例那样,通过使用由集成管理装置1指定的路由(内存映像传输路由),实施VM的内存映像的传输。在这时,因为依据在迁移之前设置到OFS组4的流,实施对迁移源VM的访问,VM的内存映像可以被传输到迁移源VM而不停止通信。而且,因为内存映像传输路由可通过集成管理装置1随意地设置,一路由可被选择以不阻碍到另一虚拟机的通信。通过这样,不影响与其它虚拟机通信的内存映像的传输变得可能。
图14为示出了第二示范性实施例中在虚拟机迁移处理时访问目的地切换处理的序列图。参见图14,在第二示范性实施例的访问目的地切换处理中,像在第一示范性实施例中那样,首先实施步骤S301到步骤S303的通信路由选择处理。接着,如在第一示范性实施例中所实施的那样,在迁移准备处理时,实施用于迁移目的地VM的通信流设置到OFS4i的处理(步骤S304到S307)。所以,所述描述被省略。
从那以后,像第一示范性实施例那样,实施从用于在迁移目的地VM和虚拟交换机21之间进行连接的流生成处理(步骤S308)到流设置处理(步骤S316)的流程。
如前所提及,在第二示范性实施例中,在准备处理中,用于迁移源VM的流和用于迁移目的地VM的流被设置。所以,在从步骤S213中的迁移源VM停止到步骤S316中的流设置期间,用于迁移对象VM而传输的数据到达迁移目的地VM而不被丢弃。这样,在本示范性实施例的计算机***中,在虚拟机的迁移中可以防止分组丢失。而且,不会从外部网络8侧故意进行虚拟机迁移。
而且,在本示范性实施例中,在VM的迁移之后,对应于新通信路由(用于迁移目的地VM的通信路由)的流(用于迁移目的地VM的通信流)在迁移准备处理步骤中被设置。因此,与第一示范性实施例中的新通信路由是在检测到VM迁移之后建立相比,在本示范性实施例中建立新通信路由所需时间缩短了。
第三示范性实施例
接着,将参考图15和图16,描述在依据本发明的第三示范性实施例的计算机***中的虚拟机迁移方法。图15是示出了依据本发明的第三示范性实施例的计算机***的配置的图。参见图15,在第三示范性实施例中的计算机***具有一结构,在该结构中集成管理装置1被从第一示范性实施例中的计算机***中排除出去。于下,将描述与第一示范性实施例不同的操作。而且,通过使用相同的参考数字,描述与第一示范性实施例相同的操作。
在第三示范性实施例中的虚拟机的迁移方法中,VM迁移的设置仅被实施到VM管理装置2,并且OFC3检测到虚拟机的迁移目的地,并实施流设置以改变数据传输目的地。所以,在第三示范性实施例中,通过集成管理装置1对VM管理装置2和OFC3的控制没有实施。也就是说,在第三示范性实施例中,不实施在VM管理装置2和OFC3之间的合作。所以,在第三示范性实施例的虚拟机的迁移方法中,不像第一示范性实施例和第二示范性实施例那样,不实施迁移准备流程。
在内存映像的传输处理之前,管理者操作输入单元(未示出)并指令VM管理装置2来执行VM迁移。在这时,其中有迁移对象VM运行的物理服务器(或者虚拟机监控器)、迁移对象VM和作为迁移目的地的物理服务器(或者虚拟机监控器)被指明。不像第一和第二示范性实施例,VM管理装置2响应于管理者的操作(指令)发布迁移指令到VMM10和VMM20。此后,像常规技术那样,实施迁移对象VM的内存映像的传输处理。也就是说,实施在迁移目的地VMM中的VM生成流程,和到迁移目的地VM的迁移对象VM的内存映像的传输流程。在这时,通过与传统技术相同的方法,实施在传输中被改变的内存页记录、所述改变等。当内存映像的传输完成时,如果在内存映像的传输期间被改变的内存页的数量等于或者小于预定的数值,实施迁移源VM和迁移目的地VM的内存映像的匹配判决。当相互匹配时,迁移源VM停止,并且迁移目的地VM变到运行状态。在另一方面,当被改变的内存页的数量大于预定的数量时,实施被改变页的重新发送,直到被改变页的数量变得等于或者小于预定的数量。
图16是示出了第三示范性实施例中虚拟机的迁移操作时访问目的地切换流程的序列图。这里,将描述从迁移源VM到迁移目的地VM20m的访问目的地切换操作,并假设运行迁移目的地VM是VM20m。参见图16,当产生在迁移目的地VMM20上的VM20m进入运行状态时,VM20m首先实施RARP(反向地址解析协议)传输(步骤S501)。RARP被虚拟交换机21检测并被传输到OFS4i。OFS4i检测到所述RARP并向OFC3通告被检测的RARP(步骤S502)。详细地说,所以OFS4i经RARP传输从进入运行状态的迁移目的地接收分组数据,并向OFC3通告第一分组的接收,原因是与分组数据相合适的流(规则)没有被设置。在这时,OFS4i向OFC3通告包含在分组数据中的MAC地址或者分组数据。OFC3选择对应于被通告MAC地址的通信路由作为用于迁移目的地VM的通信路由,并产生用于迁移目的地VM的通信流。这里,分组数据经RARP传输被从OFS4i所传输,并且经RARP传输而传输的VM20m的MAC地址被OFC3所获取。
基于来自虚拟交换机21(或者OFS4i)的RARP通告,OFC3检测到开始操作的虚拟机的连接目的地(迁移目的地VM20m)的改变(步骤S503)。详细地说,OFC3从保存的合法通信路由数据336中,查询(提取)出对应于在步骤S502中被通告的RARP通告的通信路由(通信路由数据336)。明确地说,OFC3提取出带有包含在被通告的RARP中的MAC地址作为一端点的通信路由(通信路由数据336)。接着,OFC3检测到在被查询(提取)出的通信路由上的作为端点的VM(或者物理服务器)的连接目的地不同于接收RARP传输的虚拟交换机21(或者OFS4i)。因此,OFC3可以检测到在运行状态的虚拟机(迁移目的地VM20m)的连接目的地改变了。要注意的是,当物理服务器5和6被连接到相同的OFS4i时,OFS4i被连接至各个服务器的端口是不同的。所以,通过检测作为在OFC3中查询(提取)到的通信路由上的端点的物理服务器的连接目的地端口与接收RARP传输的交换机的连接目的地端口不同,虚拟机的迁移可以被检测出来。
当检测到迁移目的地VM20m的连接目的地的改变时,OFC3在迁移目的地VM20m中复制与迁移源VM相关的通信路由(步骤S504到S516)。详细地说,通过使用拓扑数据335,OFC3计算一通信路由(用于迁移目的地VM的通信路由)(步骤S504),该通信路由是在不同于在步骤S503中查询到的通信路由上的VM一侧的端点与在步骤S502中检测到RARP传输的端点之间的。计算出来的用于迁移目的地VM的通信路由的数据被保存为通信路由数据336。OFC3产生被设置到各个OFS4i的流(用于迁移目的地VM的通信流)(步骤S505),其中所述各个OFS4i是在于步骤S504中计算出来的迁移目的地VM的通信路由上的。用于迁移目的地VM的通信流(规则444+行动数据445)针对各个OFS4i而产生,并被关联到各个OFS4i,且保存在流表格334中。在这时,用于迁移目的地VM的通信流的设置数据446被设置为“未设置”和“无效”状态。
接着,OFC3设置在步骤S505处产生的迁移目的地VM的通信流,到在步骤S504中计算的通信路由上的虚拟交换机21和OFS4i(步骤S506到步骤S511)。详细地说,OFC3提取在从通信路由数据336和拓扑数据335计算而来的迁移目的地VM的通信路由上的虚拟交换机21和OFS4i,并且OFC3发布对应于OFS4i和虚拟交换机21的迁移目的地VM的通信流的设置指令(步骤S506和S507)。OFS4i和虚拟交换机21,响应于用于迁移目的地VM的通信流的设置指令,设置传输的用于迁移目的地VM的通信流到其自己的流表格343(步骤S508和步骤S510)。接着,OFS4i结束流的设置,并且虚拟交换机21向OFC3通告流设置完成报告(步骤S509和S511)。设置到OFS4i和虚拟交换机21的迁移目的地VM的通信流的设置数据446被设置为“已经设置”和“合法”状态。
当确认了迁移目的地VM的通信流到OFS4i和虚拟交换机21的设置完成时,OFC3选择用于迁移源VM的流,并发布流的删除指令(步骤S512和S513)。OFS4i和虚拟交换机21设置对用于迁移源VM的流的删除,以及设置使用不可能状态(步骤S514)。当流的删除结束时,OFS4i和虚拟交换机21向OFC3通告流删除完成报告(步骤S515)。当确认了用于迁移源VM的通信路由上的OFS4i和节点中的用于迁移源VM的流被删除时,OFC3设置用于迁移目的地VM的通信流为当前使用流,并设置用于迁移源VM的通信流为不使用的流(步骤S516)。这里,显示了使用或者没有使用的状态的数据被设置到对应各个流(规则444+行动数据445)的设置数据446。这时,没有被使用的用于迁移源VM的通信流也可以从流表格334中删除。但是,通过改变设置数据446来设置流的使用或者不使用而不删除不使用的流,这样在迁移虚拟机被迁移到初始物理服务器或者VMM时,可以设置流而不再产生流。
如前所述,在第三示范性实施例中,不可能通过OFC3控制内存页的传输路由。但是,通过设置迁移对象VM和迁移目的地VMM仅到VM管理装置2,这可能控制虚拟机的迁移和迁移目的地VM的访问目的地的改变。也就是说,即使在第三示范性实施例的计算机***中,VM迁移可以经一管理部被集成地控制。
在第三示范性实施例中,根据RARP传输,实施用于迁移目的地VM的通信路由的计算和流生成。但是,可以根据在VMM之间的通信状态,实施通信路由的计算和流生成。在这种情形下,OFC3监控在VMM之间的通信,并计算响应于内存页的传输开始,变得合法的迁移目的地VM的通信路由,并产生将被设置到各个OFS4i和虚拟交换机21的流(规则444+行动数据445)。因此,在图16中示出的步骤S501到S511的流程可以被删除去。而且,因为从迁移源VM的停止到用于迁移目的地VM的通信流的设置的时间周期可以被缩减去,所以在上述时间周期中的分组丢失量可以被减少。
第四示范性实施例
图17为示出了第四示范性实施例中的计算机***的结构的图。除了在第一和第二示范性实施例中的计算机***,在第四示范性实施例中的计算机***被进一步提供了一负载均衡器9,其被提供在外部网络8和OFS组4之间。
负载均衡器9在物理服务器5和6中实施VMM101到VMM10n,VMM201到VMM20m的负载分配。在第四示范性实施例中的计算机***中,像第一到第三示范性实施例中的任意一个那样实施VM迁移。但是,在第四示范性实施例中,集成管理装置1或者VM管理装置2发布一指令到负载均衡器9,以便在VM迁移的执行被指令的步骤中不产生迁移源VM的处理(访问)。以这种方式,因为被改变页的记录和传输被省略去,而且处理量被降低,VM迁移的时间被减少。而且,在迁移对象VM的内存页的传输期间,迁移源VM的负载减少了。
已经详细地描述了本发明的示范性实施例。但是,所述的结构不限于是上述示范性实施例中的结构,在不超出本发明范围的范围内修改是被包含在本发明中的。例如,在第一、二、四示范性实施例中的VM迁移方法中,内存映像传输路由的QoS(服务质量)可以被设置为比其它通信具有更高的优先权。因此,用于VM迁移所需的时间被减少。或者,内存映像传输路由的QoS可以被设置为比其它通信具有更低的优先权。在这种情形下,VM迁移对其它通信的影响可以被减少。此外,在第一、二、四示范性实施例中的VM迁移的初步准备中(迁移准备处理),用于迁移目的地VM的通信路由的计算和用于迁移目的地VM的通信流的生成可以与内存映像的传输同时实施。因此,从网络侧的迁移准备处理时间可以被减少,并且VM迁移的处理时间也被减少。
OFC3通过使用由RARP传输所通告的MAC地址,实施“用于迁移目的地VM的通信路由的选择”和“迁移目的地VM的改变的确认”。但是,本发明不是限于此的。例如,OFS4i接收在迁移后、进入运行状态的迁移目的地VM所传输的分组数据,并向OFC3通告第一分组的接收,原因是与所接收分组数据相适用的流(规则)没有被设置。在这时,OFS4i向OFC3通告分组数据的MAC地址。OFC3选择对应于所通告的MAC地址的通信路由作为用于迁移目的地VM的通信路由,并且生成用于迁移目的地VM的通信流。或者,以相同的方式,OFC3提取出具有经第一分组的通告所获取的MAC地址作为一端点的通信路由,并检测出通信路由上作为端点的VM的连接目的地和接收分组数据的交换机不相同。因此,接收的连接目的地的改变可以被确认。
这个专利申请主张基于申请号为JP2009-222857的日本专利申请的优先权。其揭示通过引用被合并于此。
Claims (19)
1.一种计算机***,包括:
VM管理装置,其被配置为指令运行在物理服务器上的虚拟机迁移到管理所述虚拟机的虚拟机监控器和迁移目的地虚拟机监控器;
控制器,其被配置为生成用于迁移目的地VM的通信流,作为控制用于所述迁移目的地虚拟机控制器的通信的通信流;和
交换机,其被配置为当来自迁移已经完成的虚拟机的分组数据与设置到该交换机中的流所示的规则不相适应时,向所述控制器通告包含在分组数据中的第一数据;
其中所述交换机基于用于迁移目的地VM的通信流所示的行动,传输遵循用于所述迁移目的地VM的通信流所示出的规则的所述虚拟机的分组数据到迁移目的地虚拟机。
2.根据权利要求1所述的计算机***,其中,所述控制器设置对应于迁移对象的虚拟机的内存映像的传输路由的内存映像传输流,到所述交换机;并且
其中所述交换机基于内存映像传输流所示的行动,传输遵循了由内存映像传输流示出的规则的内存映像到所述迁移目的地虚拟机。
3.根据权利要求2所述的计算机***,进一步包括:
集成管理装置,其配置为指明迁移对象虚拟机、所述迁移源虚拟机监控器和所述迁移目的地虚拟机监控器,并指令所述VM管理装置和所述控制器实施所述虚拟机的迁移;
其中所述控制器响应于所述指令,计算所述迁移对象虚拟机的内存映像的传输路由,并生成将被设置到所述传输路由上的交换机上的内存映像传输流;并且
其中所述VM管理装置响应于所述指令,传输所述迁移对象虚拟机的内存映像到产生于所述迁移目的地虚拟机监控器上的虚拟机。
4.根据权利要求1或权利要求2所述的计算机***,进一步包括:
集成管理装置,其配置为指明所述迁移对象虚拟机、所述迁移源虚拟机监控器和所述迁移目的地虚拟机监控器,并向所述控制器发布虚拟机迁移指令,
其中所述控制器响应于所述指令,计算用于所述迁移目的地虚拟机的通信路由,并生成将被设置到在所述通信路由上的交换机上的所述迁移目的地VM的通信流。
5.根据权利要求4所述的计算机***,其中,所述控制器选择用于所述迁移对象虚拟机的通信路由,将该通信路由的一个端点从所述迁移对象虚拟机改变为所述迁移目的地虚拟机,并设置用于所述迁移目的地虚拟机的通信路由。
6.根据权利要求5所述的计算机***,其中,所述控制器基于来自于从运行的虚拟机接收RARP(反向地址解析协议)的交换机的通告,从所保存的通信路由中选择用于所述迁移目的地虚拟机的通信路由,并且所述控制器从所保存的流中选择将被设置到在所选择通信路由上的交换机的所述迁移目的地VM的通信流,并且设置所选择的流到在所选择通信路由上的所述交换机。
7.根据权利要求1所述的计算机***,其中,基于检测到了运行虚拟机的RARP(反向地址解析协议)传输的交换机,与在已被从所保存通信路由中提取出的通信路由中的端点之间的不同,所述控制器检测到所述虚拟机的连接目的地的改变。
8.根据权利要求7所述的计算机***,其中,基于运行虚拟机的RARP传输中包含的MAC地址,所述控制器从被保存的通信路由中提取通信路由,并计算在所提取通信路由中的虚拟机不同一侧的端点和检测了RARP传输的端点之间的通信路由,以作为用于迁移目的地虚拟机的通信路由,并生成将被设置到所述通信路由上的交换机的迁移目的地VM的通信流。
9.根据权利要求1到8中任一权利要求所述的计算机***,其中,所述控制器基于拓扑数据设置通信路由,并指明在所述被设置通信路由上的交换机,并保存对应于所述被指明交换机的规则和行动到流表格,以作为到指定交换机的流。
10.根据权利要求1到9中任一权利要求所述的计算机***,其中,所述规则是基于包含在基于TCP/IP(传输控制协议/互联网协议)的分组数据的头数据中的OSI(开放式***互联)参考模型的标识符1和层1到层4的地址的组合进行规定的。
11.一种虚拟机的迁移方法,包括:
指令运行在物理服务器上的虚拟机从VM管理装置迁移到管理所述虚拟机的虚拟机监控器和迁移目的地虚拟机监控器;
通过一控制器生成用于迁移目的地VM的通信流,作为用于控制所述迁移目的地虚拟机控制器的通信的流;
当接收自迁移已经完成的虚拟机的分组数据与设置到交换机中的流所示的规则不相适应时,向所述控制器通告包含在分组数据中的第一数据;和
所述交换机基于用于迁移目的地VM的通信流所示的行动,向迁移目的地虚拟机传输遵循用于所述迁移目的地VM的通信流所示出的规则的所述虚拟机的分组数据。
12.根据权利要求11所述的迁移方法,进一步包括:
所述控制器设置对应于迁移对象虚拟机的内存映像传输路由的内存映像传输流到所述交换机;并且
所述交换机基于所述内存映像传输的流所示的行动,传输遵循了由所述内存映像传输流示出的规则的内存映像到所述迁移目的地虚拟机。
13.根据权利要求12所述的迁移方法,进一步包括:
所述集成管理装置指明迁移对象虚拟机、所述迁移源虚拟机监控器和所述迁移目的地虚拟机监控器,并指令所述VM管理装置和所述控制器进行虚拟机的迁移;
所述控制器响应于所述指令,计算被指明迁移对象虚拟机的内存映像的传输路由;
所述控制器生成将被设置到所述传输路由上的交换机上的内存映像传输流;并且
所述VM管理装置响应于所述指令,传输所述被指明迁移对象虚拟机的内存映像到产生于所述迁移目的地虚拟机监控器上的虚拟机。
14.根据权利要求11或权利要求12所述的迁移方法,进一步包括:
所述集成管理装置指明所述迁移对象虚拟机、所述迁移源虚拟机监控器和所述迁移目的地虚拟机监控器,并向所述控制器发布虚拟机的迁移指令;
所述控制器响应于所述指令,计算用于所述迁移目的地虚拟机的通信路由;和
所述控制器生成将被设置到在所述通信路由上的交换机上的所述迁移目的地VM的通信流。
15.根据权利要求14所述的迁移方法,其中,所述计算用于所述迁移目的地虚拟机的通信路由包括:
所述控制器选择所述迁移对象虚拟机的通信路由;和
所述控制器将所选择的通信路由的一个端点由所述迁移对象虚拟机改变为所述迁移目的地虚拟机,以设置用于所述迁移目的地虚拟机的通信路由。
16.根据权利要求15所述的迁移方法,进一步包括:
所述控制器基于来自运行的虚拟机接收RARP(反向地址解析协议)交换机的通告,从所保存的通信路由中选择用于所述迁移目的地虚拟机的通信路由;
所述控制器从所保存的流中选择将被设置到在所选择通信路由上的交换机的所述迁移目的地VM的通信流;和
所述控制器设置用于所选择的迁移目的地VM的通信流到在所选择通信路由上的交换机。
17.根据权利要求11所述的迁移方法,进一步包括:
基于检测到运行虚拟机的RARP(反向地址解析协议)传输的交换机与在从所保存通信路由中提取出的通信路由中的端点之间的不同,所述控制器检测到所述虚拟机的连接目的地的改变。
18.根据权利要求17所述的迁移方法,进一步包括:
基于运行虚拟机的RARP传输中包含的MAC地址,所述控制器从所保存的通信路由中提取通信路由;
所述控制器计算在所提取通信路由中的虚拟机不同一侧的端点和检测了RARP传输的端点之间的通信路由,以作为用于迁移目的地虚拟机的通信路由;和
所述控制器生成将被设置到所述通信路由上的交换机的迁移目的地VM的通信流。
19.根据权利要求11到18中任一权利要求所述的迁移方法,其中,所述规则是基于包含在基于TCP/IP(传输控制协议/互联网协议)的分组数据的头数据中的OSI(开放式***互联)参考模型的标识符和层1到层4的地址的组合进行规定的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009222857A JP5446040B2 (ja) | 2009-09-28 | 2009-09-28 | コンピュータシステム、及び仮想マシンのマイグレーション方法 |
JP2009-222857 | 2009-09-28 | ||
PCT/JP2010/066444 WO2011037148A1 (ja) | 2009-09-28 | 2010-09-22 | コンピュータシステム、及び仮想マシンのマイグレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102576343A true CN102576343A (zh) | 2012-07-11 |
CN102576343B CN102576343B (zh) | 2015-09-16 |
Family
ID=43795894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080043534.2A Expired - Fee Related CN102576343B (zh) | 2009-09-28 | 2010-09-22 | 计算机***和虚拟机迁移方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9323570B2 (zh) |
EP (1) | EP2485155A4 (zh) |
JP (1) | JP5446040B2 (zh) |
CN (1) | CN102576343B (zh) |
WO (1) | WO2011037148A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023826A (zh) * | 2012-12-26 | 2013-04-03 | 华中科技大学 | 一种OpenFlow控制器的路由控制方法 |
CN103023615A (zh) * | 2012-12-26 | 2013-04-03 | 华中科技大学 | 一种在OpenFlow交换机上实现网络编码的方法 |
CN103036653A (zh) * | 2012-12-26 | 2013-04-10 | 华中科技大学 | 一种对OpenFlow网络进行网络编码的方法 |
CN103530167A (zh) * | 2013-09-30 | 2014-01-22 | 华为技术有限公司 | 一种虚拟机内存数据的迁移方法及相关装置和集群*** |
CN103581062A (zh) * | 2012-08-09 | 2014-02-12 | 国际商业机器公司 | 用于处理未知单播数据包的方法和*** |
WO2014082493A1 (zh) * | 2012-11-30 | 2014-06-05 | 中兴通讯股份有限公司 | 软件定义网络报文转发方法和*** |
CN103905303A (zh) * | 2012-12-28 | 2014-07-02 | ***通信集团公司 | 一种虚拟机vm跨网迁移后的数据处理方法、装置及*** |
CN103974380A (zh) * | 2013-01-24 | 2014-08-06 | 杭州华三通信技术有限公司 | 一种终端接入位置保活的方法及装置 |
CN104243427A (zh) * | 2013-06-19 | 2014-12-24 | 日电(中国)有限公司 | 虚拟机在线迁移方法、数据包传输方法和设备 |
WO2015062291A1 (zh) * | 2013-10-31 | 2015-05-07 | 华为技术有限公司 | 一种冲突检测及解决的方法、装置 |
CN104618240A (zh) * | 2013-11-05 | 2015-05-13 | 国际商业机器公司 | 用于软件定义数据中心网络中动态多径转发的方法和设备 |
CN104737503A (zh) * | 2012-10-10 | 2015-06-24 | 日本电气株式会社 | 通信节点、通信***、控制装置、包转发方法、以及程序 |
CN104904165A (zh) * | 2013-01-04 | 2015-09-09 | 日本电气株式会社 | 控制装置、通信***、隧道端点的控制方法以及程序 |
CN105519052A (zh) * | 2013-05-09 | 2016-04-20 | 华为技术有限公司 | 报文转发方法、设备和*** |
US9584546B2 (en) | 2012-10-01 | 2017-02-28 | International Business Machines Corporation | Providing services to virtual overlay network traffic |
US9854036B2 (en) | 2013-09-30 | 2017-12-26 | Huawei Technologies Co., Ltd. | Method for migrating memory data of virtual machine, and related apparatus and cluster system |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5402688B2 (ja) * | 2010-02-02 | 2014-01-29 | 日本電気株式会社 | パケット転送システム、パケット転送システム内におけるパケット集中回避方法 |
US8826272B2 (en) * | 2010-11-29 | 2014-09-02 | International Business Machines Corporation | Planning a reliable migration in a limited stability virtualized environment |
WO2012093495A1 (ja) | 2011-01-07 | 2012-07-12 | 富士通株式会社 | プロファイル処理プログラム、データ中継装置およびプロファイル制御方法 |
US9258271B1 (en) | 2011-01-13 | 2016-02-09 | Google Inc. | Network address translation for virtual machines |
JP5760647B2 (ja) * | 2011-04-27 | 2015-08-12 | 日本電気株式会社 | 仮想環境における仮想ルーティング方法及び仮想ルーティングシステム |
CN102185774A (zh) * | 2011-05-10 | 2011-09-14 | 中兴通讯股份有限公司 | 虚拟机无缝迁移的方法、管理器及*** |
US8971334B2 (en) * | 2011-08-02 | 2015-03-03 | Telefonaktiebolaget L M Ericsson (Publ) | Packet broadcast mechanism in a split architecture network |
US9489222B2 (en) | 2011-08-24 | 2016-11-08 | Radware, Ltd. | Techniques for workload balancing among a plurality of physical machines |
JP5838661B2 (ja) * | 2011-08-29 | 2016-01-06 | 富士通株式会社 | データ処理システム、データ中継装置およびデータ中継方法 |
JP5776600B2 (ja) | 2011-09-05 | 2015-09-09 | 富士通株式会社 | データ中継装置、データ中継プログラムおよびデータ中継方法 |
WO2013042358A1 (en) * | 2011-09-21 | 2013-03-28 | Nec Corporation | Communication apparatus, communication system, communication control method, and program |
JP5536962B2 (ja) * | 2011-11-15 | 2014-07-02 | 独立行政法人科学技術振興機構 | パケットデータ抽出装置、パケットデータ抽出装置の制御方法、制御プログラム、コンピュータ読み取り可能な記録媒体 |
CN102394831A (zh) * | 2011-11-28 | 2012-03-28 | 杭州华三通信技术有限公司 | 基于虚拟机vm迁移的流量不中断方法和装置 |
JP5881465B2 (ja) * | 2012-02-27 | 2016-03-09 | 株式会社日立製作所 | 管理計算機、転送経路管理方法及び計算機システム |
JP5682070B2 (ja) * | 2012-02-28 | 2015-03-11 | 日本電信電話株式会社 | 統合制御装置及び統合制御方法 |
CN102546351B (zh) * | 2012-03-15 | 2014-05-14 | 北京邮电大学 | openflow网络和现有IP网络互联的***和方法 |
WO2013140524A1 (ja) * | 2012-03-19 | 2013-09-26 | 富士通株式会社 | プログラム、管理サーバおよびパッチスケジューリング方法 |
WO2013145780A1 (en) * | 2012-03-30 | 2013-10-03 | Nec Corporation | Communication system, control apparatus, communication apparatus, communication control method, and program |
EP2844001A4 (en) | 2012-04-27 | 2015-12-09 | Nec Corp | COMMUNICATION SYSTEM AND PATH CONTROL METHOD |
JPWO2013179542A1 (ja) | 2012-05-31 | 2016-01-18 | 日本電気株式会社 | ネットワークシステム、経路制御装置、経路制御方法及びプログラム |
WO2013186825A1 (en) | 2012-06-12 | 2013-12-19 | Nec Corporation | Computer system, communication control server, communication control method, and program |
JP2014006792A (ja) * | 2012-06-26 | 2014-01-16 | Ntt Comware Corp | 通信制御装置、通信制御方法、通信制御プログラム |
US10387201B2 (en) * | 2012-06-26 | 2019-08-20 | Vmware, Inc. | Storage performance-based virtual machine placement |
JP5992245B2 (ja) * | 2012-08-06 | 2016-09-14 | 日本電信電話株式会社 | 仮想マシンのマイグレーションシステムおよびその方法 |
CN103825915B (zh) * | 2012-11-16 | 2017-08-22 | 中国电信股份有限公司 | 虚拟化环境下服务移动性管理方法及*** |
EP2866393B1 (en) | 2012-12-13 | 2024-02-14 | Huawei Technologies Co., Ltd. | Method and apparatus for determining virtual machine drifting |
JP6032026B2 (ja) * | 2013-01-24 | 2016-11-24 | 富士通株式会社 | 中継プログラム、中継方法および中継処理装置 |
US20150381480A1 (en) * | 2013-03-01 | 2015-12-31 | Nec Corporation | Network system, resource control device, and virtual machine generation device |
US9513970B2 (en) * | 2013-03-01 | 2016-12-06 | Cisco Technology, Inc. | Optimizing handling of virtual machine mobility in data center environments |
US9450981B2 (en) | 2013-03-14 | 2016-09-20 | Radware, Ltd. | System and method thereof for mitigating denial of service attacks in virtual networks |
US9596192B2 (en) | 2013-03-15 | 2017-03-14 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9407560B2 (en) | 2013-03-15 | 2016-08-02 | International Business Machines Corporation | Software defined network-based load balancing for physical and virtual networks |
US9444748B2 (en) | 2013-03-15 | 2016-09-13 | International Business Machines Corporation | Scalable flow and congestion control with OpenFlow |
US9118984B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Control plane for integrated switch wavelength division multiplexing |
US9609086B2 (en) | 2013-03-15 | 2017-03-28 | International Business Machines Corporation | Virtual machine mobility using OpenFlow |
US9769074B2 (en) | 2013-03-15 | 2017-09-19 | International Business Machines Corporation | Network per-flow rate limiting |
US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
WO2014143118A1 (en) | 2013-03-15 | 2014-09-18 | Hewlett-Packard Development Company, L.P. | Loop-free hybrid network |
JP6056578B2 (ja) * | 2013-03-19 | 2017-01-11 | 富士通株式会社 | 仮想マシンの移動終了を検出する装置、方法、及びプログラム |
JP2014186411A (ja) * | 2013-03-22 | 2014-10-02 | Fujitsu Ltd | 管理装置、情報処理システム、情報処理方法、及びプログラム |
WO2014157512A1 (ja) * | 2013-03-29 | 2014-10-02 | 日本電気株式会社 | 仮想マシン提供システム、経路決定装置、経路制御方法及びプログラム |
JP5911448B2 (ja) * | 2013-05-10 | 2016-04-27 | 株式会社日立製作所 | 移行支援装置、移行支援方法およびプログラム |
JP6079426B2 (ja) * | 2013-05-16 | 2017-02-15 | 富士通株式会社 | 情報処理システム、方法、装置及びプログラム |
JP5976603B2 (ja) * | 2013-07-22 | 2016-08-23 | 日本電信電話株式会社 | 統合制御装置および統合制御方法 |
US20150071091A1 (en) * | 2013-09-12 | 2015-03-12 | Alcatel-Lucent Usa Inc. | Apparatus And Method For Monitoring Network Performance |
CN103516802B (zh) * | 2013-09-30 | 2017-02-08 | 中国科学院计算技术研究所 | 一种实现跨异构虚拟交换机无缝迁移的方法和装置 |
CN103546556B (zh) * | 2013-10-22 | 2017-04-05 | 同济大学 | 一种在未来网络xia中虚拟机在线迁移方法 |
JP6160446B2 (ja) * | 2013-10-31 | 2017-07-12 | 富士通株式会社 | 情報処理装置、情報処理システム及び情報処理方法 |
JP6096647B2 (ja) * | 2013-11-27 | 2017-03-15 | 日本電信電話株式会社 | マネジメントシステム及び移動制御方法 |
US20150169345A1 (en) * | 2013-12-18 | 2015-06-18 | International Business Machines Corporation | Software-defined networking (sdn) for management of traffic between virtual processors |
CN104734988B (zh) * | 2013-12-23 | 2018-10-30 | 杭州华为数字技术有限公司 | 软件定义网络中路由控制的方法和开放流控制器 |
CN103763121B (zh) * | 2013-12-24 | 2018-01-09 | 新华三技术有限公司 | 一种网络配置信息快速下发的方法及装置 |
US9921867B2 (en) * | 2013-12-30 | 2018-03-20 | Huawei Technologies Co., Ltd. | Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space |
US9934056B2 (en) * | 2014-01-06 | 2018-04-03 | Red Hat Israel, Ltd. | Non-blocking unidirectional multi-queue virtual machine migration |
JP6256594B2 (ja) * | 2014-03-28 | 2018-01-10 | 富士通株式会社 | プログラム、管理方法およびコンピュータ |
EP3138251A4 (en) * | 2014-04-28 | 2017-09-13 | Hewlett-Packard Enterprise Development LP | Data distribution based on network information |
JP6277853B2 (ja) * | 2014-05-12 | 2018-02-14 | 富士通株式会社 | 制御装置、通信装置、および、通信方法 |
JP6318910B2 (ja) | 2014-06-26 | 2018-05-09 | 富士通株式会社 | 管理装置,情報処理システム,プログラム |
CN105245428B (zh) * | 2014-07-07 | 2018-07-31 | 北京东土科技股份有限公司 | 一种报文处理规则的配置方法及装置 |
CN104184803B (zh) * | 2014-08-08 | 2017-12-15 | 同济大学 | 基于dag的自适应完成xia网络中虚拟机在线迁移的方法 |
CN104486209A (zh) * | 2014-12-12 | 2015-04-01 | 上海斐讯数据通信技术有限公司 | 一种OpenFlow协议网络的报文传输***及方法 |
TW201624277A (zh) | 2014-12-31 | 2016-07-01 | 萬國商業機器公司 | 協助虛擬機器即時遷移的方法 |
TWI552077B (zh) | 2015-02-12 | 2016-10-01 | 國立中央大學 | 虛擬機器即時轉移方法 |
US9792138B2 (en) * | 2015-02-18 | 2017-10-17 | Red Hat Israel, Ltd. | Virtual machine migration to hyper visors with virtual function capability |
EP3274822A4 (en) * | 2015-03-27 | 2018-11-07 | Intel Corporation | Technologies for virtual machine migration |
US9998356B2 (en) * | 2015-07-15 | 2018-06-12 | Cisco Technology, Inc. | Synchronizing network convergence and virtual host migration |
CN105227357B (zh) * | 2015-09-15 | 2018-10-16 | 清华大学 | 虚拟机策略迁移配置方法及装置 |
US9965311B2 (en) * | 2015-11-10 | 2018-05-08 | Red Hat Israel, Ltd. | Application of a pattern to inactive pages in guest memory |
US10768959B2 (en) * | 2015-11-24 | 2020-09-08 | Red Hat Israel, Ltd. | Virtual machine migration using memory page hints |
CN107046810A (zh) * | 2015-12-03 | 2017-08-15 | 华为技术有限公司 | 一种虚拟机备份信息迁移方法、装置和*** |
US10237239B2 (en) * | 2015-12-03 | 2019-03-19 | International Business Machines Corporation | Policy-based load distribution between host-based packet processing units |
CN105553746A (zh) * | 2016-01-08 | 2016-05-04 | 广州西麦科技股份有限公司 | 一种基于sdn的配置自动迁移的***及其方法 |
US11070628B1 (en) | 2016-05-26 | 2021-07-20 | Nutanix, Inc. | Efficient scaling of computing resources by accessing distributed storage targets |
JP2018137643A (ja) * | 2017-02-22 | 2018-08-30 | 日本電信電話株式会社 | 管理装置および管理方法 |
US10528376B2 (en) | 2017-04-20 | 2020-01-07 | International Business Machines Corporation | Virtual machine management |
US10430227B2 (en) | 2018-01-09 | 2019-10-01 | Microsoft Technology Licensing, Llc | Fast instantiation of virtual machines in distributed computing systems |
US10664323B2 (en) * | 2018-03-07 | 2020-05-26 | Microsoft Technology Licensing, Llc | Live migration of virtual machines in distributed computing systems |
CN109582223B (zh) | 2018-10-31 | 2023-07-18 | 华为技术有限公司 | 一种内存数据迁移的方法及装置 |
US10922142B2 (en) | 2018-10-31 | 2021-02-16 | Nutanix, Inc. | Multi-stage IOPS allocation |
US11321112B2 (en) * | 2019-04-22 | 2022-05-03 | International Business Machines Corporation | Discovery and recreation of communication endpoints in virtual machine migration |
WO2021166110A1 (ja) * | 2020-02-19 | 2021-08-26 | 日本電信電話株式会社 | 制御装置、制御方法及びプログラム |
US20220237026A1 (en) * | 2021-01-28 | 2022-07-28 | Microsoft Technology Licensing, Llc | Volatile memory acquisition |
WO2022226400A1 (en) * | 2021-04-23 | 2022-10-27 | Transitional Data Services, Inc. | Transition manager system |
US20220014381A1 (en) * | 2021-09-22 | 2022-01-13 | Intel Corporation | Message authentication code (mac) generation for live migration of encrypted virtual machiness |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
US7478173B1 (en) * | 2003-12-18 | 2009-01-13 | Wmware, Inc. | Method and system for sharing a network connection in a virtual computer system |
US20090138752A1 (en) * | 2007-11-26 | 2009-05-28 | Stratus Technologies Bermuda Ltd. | Systems and methods of high availability cluster environment failover protection |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3749208B2 (ja) | 2002-08-14 | 2006-02-22 | 株式会社東芝 | プロセスマイグレーション方法、計算機 |
WO2005083569A1 (ja) | 2004-02-26 | 2005-09-09 | Nec Corporation | ネットワーク間のプロセス移動方法およびそのネットワークシステム |
US8799891B2 (en) * | 2005-03-02 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | System and method for attributing CPU usage of a virtual machine monitor to a corresponding virtual machine |
US8074262B2 (en) * | 2005-05-13 | 2011-12-06 | Intel Corporation | Method and apparatus for migrating virtual trusted platform modules |
JP5317010B2 (ja) * | 2006-11-24 | 2013-10-16 | 日本電気株式会社 | 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置 |
US20080189769A1 (en) * | 2007-02-01 | 2008-08-07 | Martin Casado | Secure network switching infrastructure |
JP2009146106A (ja) | 2007-12-13 | 2009-07-02 | Hitachi Ltd | 物理的な通信ポートに付加される仮想的な通信ポートを移行する機能を有したストレージシステム |
JP2009222857A (ja) | 2008-03-14 | 2009-10-01 | Seiko Epson Corp | 光スキャナ装置および画像形成装置 |
US8032730B2 (en) * | 2008-05-15 | 2011-10-04 | Hitachi, Ltd. | Method and apparatus for I/O priority control in storage systems |
US8385202B2 (en) * | 2008-08-27 | 2013-02-26 | Cisco Technology, Inc. | Virtual switch quality of service for virtual machines |
-
2009
- 2009-09-28 JP JP2009222857A patent/JP5446040B2/ja not_active Expired - Fee Related
-
2010
- 2010-09-22 US US13/498,581 patent/US9323570B2/en active Active
- 2010-09-22 CN CN201080043534.2A patent/CN102576343B/zh not_active Expired - Fee Related
- 2010-09-22 EP EP10818821.0A patent/EP2485155A4/en not_active Withdrawn
- 2010-09-22 WO PCT/JP2010/066444 patent/WO2011037148A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7478173B1 (en) * | 2003-12-18 | 2009-01-13 | Wmware, Inc. | Method and system for sharing a network connection in a virtual computer system |
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
US20090138752A1 (en) * | 2007-11-26 | 2009-05-28 | Stratus Technologies Bermuda Ltd. | Systems and methods of high availability cluster environment failover protection |
Non-Patent Citations (2)
Title |
---|
AKIO IIJIMA: "Sentan Kankyo Gijutsu Cloud Computing Jidai no Data Center to network no Energy Saving Gijutsu", 《NEC TECHNICAL JOURNAL》 * |
TOSHIKAZU WATANABE: "《Data Center Kanzen Guide》", 1 July 2009 * |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341131B2 (en) | 2012-08-09 | 2019-07-02 | International Business Machines Corporation | Avoiding unknown unicast floods resulting from MAC address table overflows |
CN103581062A (zh) * | 2012-08-09 | 2014-02-12 | 国际商业机器公司 | 用于处理未知单播数据包的方法和*** |
CN103581062B (zh) * | 2012-08-09 | 2017-05-24 | 国际商业机器公司 | 用于处理未知单播数据包的方法和*** |
US9584546B2 (en) | 2012-10-01 | 2017-02-28 | International Business Machines Corporation | Providing services to virtual overlay network traffic |
CN104737503A (zh) * | 2012-10-10 | 2015-06-24 | 日本电气株式会社 | 通信节点、通信***、控制装置、包转发方法、以及程序 |
CN104737503B (zh) * | 2012-10-10 | 2018-01-02 | 日本电气株式会社 | 通信节点、通信***、控制装置以及包转发方法 |
US9819584B2 (en) | 2012-10-10 | 2017-11-14 | Nec Corporation | Communication node, communication system, control apparatus, packet forwarding method, and program |
CN103856417B (zh) * | 2012-11-30 | 2018-01-23 | 中兴通讯股份有限公司 | 软件定义网络报文转发方法和*** |
WO2014082493A1 (zh) * | 2012-11-30 | 2014-06-05 | 中兴通讯股份有限公司 | 软件定义网络报文转发方法和*** |
CN103856417A (zh) * | 2012-11-30 | 2014-06-11 | 中兴通讯股份有限公司 | 软件定义网络报文转发方法和*** |
CN103036653B (zh) * | 2012-12-26 | 2015-11-18 | 华中科技大学 | 一种对OpenFlow网络进行网络编码的方法 |
CN103023615B (zh) * | 2012-12-26 | 2015-05-20 | 华中科技大学 | 一种在OpenFlow交换机上实现网络编码的方法 |
CN103023826B (zh) * | 2012-12-26 | 2015-06-10 | 华中科技大学 | 一种OpenFlow控制器的路由控制方法 |
CN103023615A (zh) * | 2012-12-26 | 2013-04-03 | 华中科技大学 | 一种在OpenFlow交换机上实现网络编码的方法 |
CN103036653A (zh) * | 2012-12-26 | 2013-04-10 | 华中科技大学 | 一种对OpenFlow网络进行网络编码的方法 |
CN103023826A (zh) * | 2012-12-26 | 2013-04-03 | 华中科技大学 | 一种OpenFlow控制器的路由控制方法 |
CN103905303A (zh) * | 2012-12-28 | 2014-07-02 | ***通信集团公司 | 一种虚拟机vm跨网迁移后的数据处理方法、装置及*** |
CN104904165B (zh) * | 2013-01-04 | 2018-02-16 | 日本电气株式会社 | 控制装置、通信***以及隧道端点的控制方法 |
CN104904165A (zh) * | 2013-01-04 | 2015-09-09 | 日本电气株式会社 | 控制装置、通信***、隧道端点的控制方法以及程序 |
CN103974380B (zh) * | 2013-01-24 | 2018-05-15 | 新华三技术有限公司 | 一种终端接入位置保活的方法及装置 |
CN103974380A (zh) * | 2013-01-24 | 2014-08-06 | 杭州华三通信技术有限公司 | 一种终端接入位置保活的方法及装置 |
CN105519052A (zh) * | 2013-05-09 | 2016-04-20 | 华为技术有限公司 | 报文转发方法、设备和*** |
CN104243427A (zh) * | 2013-06-19 | 2014-12-24 | 日电(中国)有限公司 | 虚拟机在线迁移方法、数据包传输方法和设备 |
CN104243427B (zh) * | 2013-06-19 | 2018-04-06 | 日电(中国)有限公司 | 虚拟机在线迁移方法、数据包传输方法和设备 |
CN103530167A (zh) * | 2013-09-30 | 2014-01-22 | 华为技术有限公司 | 一种虚拟机内存数据的迁移方法及相关装置和集群*** |
US9854036B2 (en) | 2013-09-30 | 2017-12-26 | Huawei Technologies Co., Ltd. | Method for migrating memory data of virtual machine, and related apparatus and cluster system |
CN103530167B (zh) * | 2013-09-30 | 2017-04-05 | 华为技术有限公司 | 一种虚拟机内存数据的迁移方法及相关装置和集群*** |
US10044759B2 (en) | 2013-10-31 | 2018-08-07 | Huawei Technologies Co., Ltd. | Conflict detection and resolution methods and apparatuses |
WO2015062291A1 (zh) * | 2013-10-31 | 2015-05-07 | 华为技术有限公司 | 一种冲突检测及解决的方法、装置 |
US10917437B2 (en) | 2013-10-31 | 2021-02-09 | Huawei Technologies Co., Ltd. | Conflict detection and resolution methods and apparatuses |
CN104618240A (zh) * | 2013-11-05 | 2015-05-13 | 国际商业机器公司 | 用于软件定义数据中心网络中动态多径转发的方法和设备 |
CN104618240B (zh) * | 2013-11-05 | 2017-09-26 | 国际商业机器公司 | 用于软件定义数据中心网络中动态多径转发的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102576343B (zh) | 2015-09-16 |
WO2011037148A1 (ja) | 2011-03-31 |
EP2485155A4 (en) | 2014-03-05 |
JP5446040B2 (ja) | 2014-03-19 |
US9323570B2 (en) | 2016-04-26 |
US20120185856A1 (en) | 2012-07-19 |
JP2011070549A (ja) | 2011-04-07 |
EP2485155A1 (en) | 2012-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102576343B (zh) | 计算机***和虚拟机迁移方法 | |
CN101656732B (zh) | 路径控制*** | |
JP5850068B2 (ja) | 制御装置、通信システム、通信方法およびプログラム | |
CN103155497B (zh) | 通信***、控制设备、节点、处理规则设置方法以及程序 | |
JP5488979B2 (ja) | コンピュータシステム、コントローラ、スイッチ、及び通信方法 | |
CN105262667A (zh) | Overlay网络中控制组播传输的方法、装置 | |
CN105323330B (zh) | 采用网络环拓扑的工业控制装置的互联网协议寻址 | |
CN106452857A (zh) | 生成配置信息的方法和网络控制单元 | |
CN104488238A (zh) | 用于网络环境中集群链路聚合控制的***和方法 | |
JP5625217B2 (ja) | ネットワーク管理システム、及び管理計算機 | |
JP5861772B2 (ja) | ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム | |
FI3782334T3 (fi) | Järjestelmä ja menetelmä ryhmäverkkojen luomiseksi verkkolaitteiden välille | |
TW201308942A (zh) | 中繼伺服器及中繼通訊系統 | |
JP5904285B2 (ja) | 通信システム、仮想ネットワーク管理装置、通信ノード、通信方法及びプログラム | |
CN108023968A (zh) | 一种会话信息同步方法、装置及设备 | |
WO2014157512A1 (ja) | 仮想マシン提供システム、経路決定装置、経路制御方法及びプログラム | |
WO2010109767A1 (ja) | データ同期システム、データ同期方法、及び同期管理サーバ | |
JP5437290B2 (ja) | サービス振分方法、サービス振分装置、およびプログラム | |
CN103797762A (zh) | 通信终端、通信方法和通信*** | |
JP3785101B2 (ja) | 通信コネクション確立方法及び通信制御装置並びに記録媒体及び制御プログラム | |
CN104885417A (zh) | 控制装置、通信***、通信节点控制方法以及程序 | |
JP4579850B2 (ja) | ブレード型システムおよびコネクション管理方法 | |
JP6127569B2 (ja) | スイッチ、制御装置、通信システム、制御チャネルの管理方法及びプログラム | |
JP6288633B2 (ja) | ネットワーク制御方法 | |
JP2003244210A (ja) | ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150916 Termination date: 20210922 |