CN114003349B - 一种虚拟机迁移方法及设备 - Google Patents
一种虚拟机迁移方法及设备 Download PDFInfo
- Publication number
- CN114003349B CN114003349B CN202111638810.6A CN202111638810A CN114003349B CN 114003349 B CN114003349 B CN 114003349B CN 202111638810 A CN202111638810 A CN 202111638810A CN 114003349 B CN114003349 B CN 114003349B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- host
- target
- machine
- target virtual
- 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
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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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
-
- 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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种虚拟机迁移方法及设备,在目标虚拟机迁移后,源宿主机停止向汇总器上报包含有目标虚拟机与源宿主机的对应关系的第一路由信息,并通知目的宿主机向汇总器上报包含有目标虚拟机与目的宿主机的对应关系的第二路由信息,以使得汇总器基于第二路由信息更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机,从而解决了虚拟机迁移后的丢包问题。
Description
技术领域
本申请涉及计算机通信领域,尤其涉及一种虚拟机迁移方法及设备。
背景技术
VM(Virtual Machine,虚拟机)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,承载虚拟机的物理设备称之为宿主机。
在实际应用中,由于宿主机故障、负载过重等一些原因,常常需要进行虚拟机迁移,将虚拟机从源宿主机迁移到目的宿主机。然而,当虚拟机发生迁移后,转发节点仍然将发往虚拟机的报文发送给源宿主机,造成迁移后的虚拟机无法接收到报文,从而出现丢包。
发明内容
有鉴于此,本申请提供一种虚拟机迁移方法及设备,用于解决虚拟机迁移后的丢包问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种虚拟机迁移方法,虚拟机迁移系统包括源宿主机、目的宿主机,所述虚拟机迁移系统还配置了汇总器,所述方法应用于所述源宿主机,包括:
周期性地向汇总器上报本宿主机所维护的各虚拟机的路由信息;其中,路由信息至少包括:虚拟机及其所属的宿主机的对应关系;
在接收到针对目标虚拟机的迁移指令时,联合所述迁移指令所指示的目的宿主机执行所述目标虚拟机的迁移操作;
在目标虚拟机迁移完成时,停止周期性地向汇总器上报所述目标虚拟机的第一路由信息,并通知所述目的宿主机向所述汇总器上报迁移后的目标虚拟机的第二路由信息,所述第一路由信息至少包括所述目标虚拟机与所述源宿主机的对应关系;所述第二路由信息包括所述目标虚拟机与所述目的宿主机之间的对应关系;所述第二路由信息用于指示所述汇总器基于所述目标虚拟机与所述目的宿主机之间的对应关系更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机。
可选的,所述联合所述目的宿主机执行所述目标虚拟机的迁移操作,包括:
向所述目的宿主机发送创建指令,以使得目的宿主机按照创建指令携带的目标虚拟机创建要求,创建虚拟机;
当监测到所述目的宿主机上创建的虚拟机满足迁移条件要求时,将所述目标虚拟机的存储信息同步给所述目的宿主机上创建的虚拟机。
可选的,在所述通知所述目的宿主机向所述汇总器上报迁移后的目标虚拟机的第二路由信息之前,所述方法还包括:
通知所述目的宿主机开启创建的虚拟机;
所述通知所述目的宿主机向所述汇总器上报迁移后的目标虚拟机的第二路由信息,包括:
在监测到所述目的宿主机上的虚拟机开启时,通知所述目的宿主机向所述汇总器上报所述目标虚拟机的第二路由信息。
根据本申请的第二方面,提供一种虚拟机迁移方法,虚拟机迁移系统包括源宿主机、目的宿主机,所述虚拟机迁移系统还配置了汇总器,所述方法应用于所述目的宿主机,包括:
响应于源宿主机发送的虚拟机创建指令,所述虚拟机创建指令是所述源宿主机在接收到针对目标虚拟机的迁移指令后发送的,联合源宿主机执行目标虚拟机迁移操作;
响应于所述源宿主机发送的上报通知,将迁移后的目标虚拟机的第二路由信息上报给汇总器;所述上报通知是所述源宿主机在监测到目标虚拟机迁移完成后发送的;
所述第二路由信息包括目标虚拟机和目的宿主机的对应关系,所述第二路由信息包括目标虚拟机与目的宿主机之间的对应关系;所述第二路由信息用于指示所述汇总器基于所述目标虚拟机与所述目的宿主机之间的对应关系更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给所述目的宿主机。
可选的,所述联合源宿主机执行目标虚拟机迁移操作,包括:
按照创建指令携带的虚拟机创建要求,创建虚拟机;
在接收到源宿主机同步的存储信息后,将所述存储信息存储至创建出的虚拟机中,并将完成存储的虚拟机作为迁移后的目标虚拟机。
根据本申请的第三方面,提供一种虚拟机迁移方法,虚拟机迁移系统包括源宿主机、目的宿主机,所述虚拟机迁移系统还配置了汇总器,所述方法应用于所述汇总器,所述汇总器维护了基于各宿主机上报的虚拟机的路由信息所生成的网络拓扑,包括:
在接收到目的宿主机上报的迁移后的目标虚拟机的第二路由信息时,基于所述第二路由信息携带的目标虚拟机和目的宿主机的对应关系,更新已记录的网络拓扑;
基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点;
将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机。
可选的,所述第二路由信息的目的地址为所述目标虚拟机绑定的网卡标识;所述第二路由信息的下一跳为所述目的宿主机的地址。
根据本申请的第四方面,提供一种虚拟机迁移系统,虚拟机迁移系统包括源宿主机、目的宿主机,所述虚拟机迁移系统还配置了汇总器;
所述源宿主机,用于周期性地向汇总器上报本宿主机所维护的各虚拟机的路由信息;其中,路由信息至少包括:虚拟机与其所属的宿主机的对应关系;
所述源宿主机,用于在接收到针对目标虚拟机的迁移指令时,联合所述目的宿主机执行所述目标虚拟机的迁移操作;
所述源宿主机,用于在目标虚拟机迁移完成时,停止周期性向汇总器上报所述目标虚拟机的第一路由信息,并向所述目的宿主机发送上报通知;所述第一路由信息包括所述目标虚拟机和所述源宿主机的对应关系;
所述目的宿主机,用于响应于所述上报通知,将所述目标虚拟机的第二路由信息上报给汇总器;所述第二路由信息包括目标虚拟机和目的宿主机的对应关系;
所述汇总器,用于在接收到目的宿主机上报的目标虚拟机的第二路由信息时,基于目标虚拟机和目的宿主机的对应关系更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机。
根据本申请的第五方面,提供一种网络设备,所述网络设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于在所述网络设备的角色为源宿主机角色时,读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现第一方面所述方法的步骤,在所述网络设备的角色为目的宿主机角色时,读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现上述第二方面所述方法的步骤。
根据本申请的第六方面,提供一种汇总器,所述汇总器包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现上述第三方面所述方法的步骤。
由上述描述可知,本申请利用汇总器和宿主机路由信息上报的机制,在目标虚拟机迁移后,源宿主机停止向汇总器上报包含有目标虚拟机与源宿主机的对应关系的第一路由信息,并通知目的宿主机向汇总器上报包含有目标虚拟机与目的宿主机的对应关系的第二路由信息,以使得汇总器基于第二路由信息更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机,从而解决了虚拟机迁移后的丢包问题。
附图说明
图1是本申请一示例性实施例示出的一种传统的虚拟机迁移场景的示意图;
图2是本申请一示例性实施例示出的一种虚拟机迁移系统的示意图;
图3是本申请一示例性实施例示出的一种虚拟机迁移方法的流程图;
图4是本申请一示例性实施例示出的一种虚拟机迁移方法的流程图;
图5是本申请一示例性实施例示出的一种虚拟机迁移方法的流程图;
图6是本申请一示例性实施例示出的一种虚拟机迁移方法的示意图;
图7是本申请一示例性实施例示出的一种电子设备的硬件架构图;
图8是本申请一示例性实施例示出的一种虚拟机迁移装置的框图;
图9是本申请一示例性实施例示出的另一种虚拟机迁移装置的框图;
图10是本申请一示例性实施例示出的一种电子设备的硬件架构图;
图11是本申请一示例性实施例示出的一种虚拟机迁移装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,图1是本申请一示例性实施例示出的一种传统的虚拟机迁移场景的示意图。
传统的虚拟机迁移场景包括:迁移辅助平台、至少一个宿主机,转发节点、服务器。
其中,宿主机与转发节点相连,服务器与转发节点相连,服务器可以通过转发节点访问在宿主机上的虚拟机。
在传统的迁移方式中,迁移辅助平台确定要将宿主机11上的虚拟机21迁移至宿主机12上,则迁移辅助平台将宿主机11作为源宿主机,将宿主机12作为目的虚拟机。
迁移辅助平台向宿主机11发送迁移指令,宿主机11联合宿主机12执行将虚拟机21由宿主机11迁移至宿主机12的迁移操作。
然而,在虚拟机21迁移前,转发节点会将服务器发往虚拟机21的报文发送给宿主机11,但是在虚拟机21迁移后,转发节点仍然将发往虚拟机21的报文发送给宿主机11,致使虚拟机21无法接收到报文,造成丢包。
有鉴于此,本申请提供一种虚拟机迁移方法,本申请在虚拟机迁移系统中增加了汇总器,本申请利用汇总器和宿主机路由信息上报的机制,在目标虚拟机迁移后,源宿主机停止向汇总器上报包含有目标虚拟机与源宿主机的对应关系的第一路由信息,并通知目的宿主机向汇总器上报包含有目标虚拟机与目的宿主机的对应关系的第二路由信息,以使得汇总器基于第二路由信息更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机,从而解决了虚拟机迁移后的丢包问题。
参见图2,图2是本申请一示例性实施例示出的一种虚拟机迁移系统的示意图。
如图2所示,本申请提供的虚拟机迁移系统除了包括传统的迁移辅助平台,至少一个宿主机,还增加了汇总器,通过汇总器基于目的宿主机上报的目标虚拟机的新路由信息更改已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将新路由信息发送给关联的转发节点,以使关联的转发节点基于新路由信息将发往目标虚拟机的报文发送给目的宿主机。
参见图3,图3是本申请一示例性实施例示出的一种虚拟机迁移方法的流程图,该方法可应用在源宿主机上,可包括如下所示步骤:
步骤301:源宿主机周期性地向汇总器上报本宿主机所维护的各虚拟机的路由信息;其中,路由信息至少包括:虚拟机及其所属的宿主机的对应关系。
本申请在各宿主机上设置了路由信息上报机制。下面以源宿主机为例,对宿主机的路由信息上报机制进行详细地说明。
在实现时,源宿主机可以周期性地获取虚拟机信息。比如,虚拟机所关联的网卡标识、虚拟机所归属的宿主机信息、虚拟机的负载、虚拟机的配置信息等信息。
然后,源宿主机可以基于各虚拟机的虚拟机信息生成各虚拟机的路由信息。
在生成路由信息时,由于在本申请中,将虚拟机与至少一个网卡绑定,所以源宿主机以该虚拟机关联的网卡标识作为目的地址,以该虚拟机所属的宿主机地址作为下一跳,生成该虚拟机的路由信息。当然,在实际应用中,路由信息里还可包括其他信息,比如虚拟机的负载信息等,这里只是对路由信息进行示例性地说明,不对其进行具体地限定。
汇总器在接收到每一个宿主机上报的该宿主机承载的虚拟机路由信息后,可以更新该转发网络的网络拓扑。
此外,汇总器还可针对每一个虚拟机,从网络拓扑中确定出与该虚拟机连接的转发节点,并向该转发节点发送该虚拟机的路由,以使得发往该虚拟机的报文可以通过该虚拟机所在的宿主机发送给该虚拟机。
可选的,在本申请中,在各宿主机上设置了网络辅助模块,网络辅助模块可以执行上述步骤301。当然,步骤301的执行主体也可以是其他模块,这里不对执行步骤301的模块进行具体地限定。
步骤302:源宿主机在接收到针对目标虚拟机的迁移指令时,联合所述迁移指令所指示的目的宿主机执行所述目标虚拟机的迁移操作。
迁移辅助平台在确定要将源宿主机上的目标虚拟机迁移到目的宿主机时,迁移辅助平台向源宿主机发送针对目标虚拟机的迁移指令。该迁移指令携带了目标虚拟机的标识、目的宿主机标识。
源宿主机在接收到该迁移指令后,联合所述迁移指令所指示的目的宿主机执行所述目标虚拟机的迁移操作。
具体地,源宿主机响应于针对目标虚拟机的迁移指令,与该迁移指令所指示的目的宿主机之间建立隧道,并通过隧道向该迁移指令所指示的目的宿主机发送针对目标虚拟机的创建指令。该创建指令携带了用于创建目标虚拟机的创建要求,比如创建目标虚拟机的环境要求等。
目的宿主机在接收到该创建指令后,依据该创建指令携带的针对目标虚拟机的创建要求,创建虚拟机。比如,目的宿主机可以依据创建要求中的环境要求初始化创建环境,然后在初始化的创建环境中创建虚拟机。
源宿主机可以监听目的宿主机创建的虚拟机,当源宿主机监听到目的宿主机上创建的虚拟机满足迁移条件要求时,通过源宿主机与目的宿主机之间的隧道,将目标虚拟机的存储信息同步给目的宿主机,目的宿主机可以将同步的存储信息存储在本地创建的虚拟机上。
其中,存储信息可包括:目标虚拟机内存信息、配置信息和设备信息等,这里只是对存储信息进行示例性地说明,不对其进行具体地限定。
在所有存储信息同步至目的宿主机上创建的虚拟机后,可将目的宿主机上创建的虚拟机作为迁移后的虚拟机。
步骤303:源宿主机在目标虚拟机迁移完成时,停止周期性地向汇总器上报所述目标虚拟机的第一路由信息,并通知所述目的宿主机向所述汇总器上报所述目标虚拟机的第二路由信息。所述第一路由信息至少包括所述目标虚拟机与所述源宿主机的对应关系;所述第二路由信息包括所述目标虚拟机与所述目的宿主机之间的对应关系;所述第二路由信息用于指示所述汇总器基于所述目标虚拟机与所述目的宿主机之间的对应关系更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机。
在本申请实施例中,在将所有存储信息同步至目的宿主机上创建的虚拟机上时,则标志着虚拟机迁移完成。因此,可选的,源宿主机在确定将所有存储信息同步至目的宿主机上创建的虚拟机后,源宿主机可以停止周期性地向汇总器上报所述目标虚拟机的第一路由信息。
“源宿主机在确定将所有存储信息同步至目的宿主机上创建的虚拟机后,停止周期性地向汇总器上报所述目标虚拟机的第一路由信息”好处在于:在目标虚拟机迁移开始后至源宿主机将所有存储信息同步至目的宿主机上创建的虚拟机之前,仍由源宿主机接收发往目标虚拟机的报文,并将报文数据同步给目的宿主机,采用这种方式就不会造成发往目标虚拟机的报文在目标虚拟机迁移过程中发生丢包。
此外,在本申请实施例中,源宿主机在确定目标虚拟机的所有存储信息同步至目的宿主机上创建的虚拟机后,源宿主机通知目的宿主机启动创建的虚拟机。源宿主机在监测到目的宿主机上创建的虚拟机启动后,向目的宿主机发送上报通知。
目的宿主机在接收到上报通知时,可以获取迁移后的目标虚拟机的虚拟机信息,生成迁移后的目标虚拟机的第二路由信息。然后,目的宿主机可以将第二路由信息上报给汇总器。其中,第二路由信息包括目标虚拟机和目的宿主机的对应关系。
具体地,这种对应关系以如下方式表示:
第二路由信息的目的地址为迁移后的虚拟机关联的网卡标识、第二路由信息的下一跳为目的宿主机地址。
汇总器在接收到目的宿主机上报的第二路由信息时,基于第二路由信息更新已记录的网络拓扑。比如,汇总器上记录的网络拓扑中的目标虚拟机与源宿主机的对应关系更新为目标虚拟机与目的宿主机的对应关系等。
然后,汇总器可以基于更新后的网络拓扑,确定与目标虚拟机关联的转发节点。比如,汇总器可以基于更新后的网络拓扑,确定与目的宿主机直连或者间接相连的转发节点,作为与目标虚拟机关联的转发节点。
然后,汇总器可以将上述第二路由信息转发给关联的转发节点。
上述关联的转发节点在接收到该第二路由信息后,可以基于该第二路由信息修改本地的针对目标虚拟机的转发表项(即目的地址为目标虚拟机信息的转发表项)。比如,转发节点可以将本地记录的针对目标虚拟机的转发表项中的下一跳由源宿主机地址修改目的宿主机地址。
转发节点在接收到发往目标虚拟机的报文后,可以基于修改后的针对目标虚拟机的转发表项,将发往目标虚拟机的报文发送给目的宿主机。
需要说明的是,转发节点是指具有消息转发能力的节点,比如转发节点可以是路由器、交换机等,也可以是指宿主机、服务器等,这里只是对转发节点进行示例性地说明,不对其进行具体地限定。
由上述描述可知,一方面,由于源宿主机在确定将所有存储信息同步至目的宿主机上创建的虚拟机后,才停止周期性地向汇总器上报迁移前的目标虚拟机的路由信息,这就使得在目标虚拟机迁移过程中,发往目标虚拟机的报文可以发送给源宿主机,并由源宿主机同步给目的宿主机,因此可以有效地防止在目标虚拟机机迁移过程中的丢包。
另一方面,在目标虚拟机迁移完成后,源宿主机通知目的宿主机向汇总器上报目标虚拟机迁移后的路由信息,以使得汇总器基于目标虚拟机迁移后的路由信息,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将目标虚拟机迁移后的路由信息发送给关联的转发节点,以使关联的转发节点基于迁移后的路由信息将发往目标虚拟机的报文发送给目的宿主机,从而解决了虚拟机在迁移后发生丢包的问题。
参见图4,图4是本申请一示例性实施例示出的一种虚拟机迁移方法的流程图,该方法可应用在目的宿主机上,可包括如下所示步骤。
步骤401:目的宿主机响应于源宿主机发送的虚拟机创建指令,所述虚拟机创建指令是所述源宿主机在接收到针对目标虚拟机的迁移指令后发送的,联合源宿主机执行目标虚拟机迁移操作;
步骤402:目的宿主机响应于所述源宿主机发送的上报通知,将迁移后的目标虚拟机的第二路由信息上报给汇总器;所述上报通知是所述源宿主机在监测到目标虚拟机迁移完成后发送的;所述第二路由信息包括目标虚拟机和目的宿主机的对应关系,所述第二路由信息包括目标虚拟机与目的宿主机之间的对应关系;所述第二路由信息用于指示所述汇总器基于所述目标虚拟机与所述目的宿主机之间的对应关系更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给所述目的宿主机。
具体实现请参见步骤301至步骤303。
参见图5,图5是本申请一示例性实施例示出的一种虚拟机迁移方法的流程图,该方法可应用在汇总器上,所述汇总器维护了基于各宿主机上报的虚拟机的路由信息所生成的网络拓扑,可包括如下所示步骤。
需要说明的是,在本申请中,在转发网络初始化完成后(比如转发网络的各网络设备初始化完成,包括各宿主机上创建的虚拟机初始化完成),转发网络中的各宿主机向汇总器上报该宿主机承载的路由信息。
汇总器在接收到每一个宿主机上报的该宿主机承载的虚拟机路由后,可以生成该转发网络的网络拓扑。
此外,在生成网络拓扑后,针对每一个虚拟机,汇总器可从网络拓扑中确定出与该虚拟机连接的转发节点,并向该转发节点发送该虚拟机的路由,以使得发往该虚拟机的报文可以通过该虚拟机所在的宿主机发送给该虚拟机。
由此可以形成初始的网络拓扑,之后,随着虚拟机迁移等操作,汇总器上维护的网络拓扑在不断更新变化。
步骤501:汇总器在接收到目的宿主机上报的迁移后的目标虚拟机的第二路由信息时,基于所述第二路由信息携带的目标虚拟机和目的宿主机的对应关系,更新已记录的网络拓扑。
在实现时,汇总器当前维护的网络拓扑记载的是源宿主机与目标虚拟机的对应关系。当汇总器接收到目的宿主机上报的迁移后的目标虚拟机的第二路由信息时,汇总器可将已记录的网络拓扑中记载的源宿主机与目标虚拟机的对应关系修改为目的宿主机与目标虚拟机的对应关系。
步骤502:汇总器基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点。
在实现时,汇总器可以基于更新后的网络拓扑,确定与目的宿主机直连或者通过间接相连的转发节点,作为与目标虚拟机关联的转发节点。
步骤503:汇总器将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机。
在实现时,汇总器可以将上述第二路由信息转发给关联的转发节点。
上述关联的转发节点在接收到该第二路由信息后,可以基于该第二路由信息修改本地的针对目标虚拟机的转发表项(即目的地址为目标虚拟机信息的转发表项)。比如,转发节点可以将本地记录的针对目标虚拟机的转发表项中的下一跳由源宿主机地址修改目的宿主机地址。
转发节点在接收到发往目标虚拟机的报文后,可以基于修改后的针对目标虚拟机的转发表项,将发往目标虚拟机的报文发送给目的宿主机。
参见图6,图6是本申请一示例性实施例示出的一种虚拟机迁移方法的示意图。
在图6中,迁移辅助平台分别与宿主机611、宿主机612和宿主机613相连。
宿主机611上运行有虚拟机621,宿主机613上运行有虚拟机622。
宿主机613与转发节点631相连,宿主机611和宿主机612分别与转发节点632相连,转发节点631和转发节点632分别与访问者相连。
下面通过步骤A1步骤A10对本申请提供的虚拟机迁移方法进行详细地说明。
步骤A1:迁移辅助平台在确定要将虚拟机621从宿主机611迁移至宿主机612时,迁移辅助平台向宿主机611发送迁移指令,该迁移指令携带了虚拟机621的标识信息和宿主机612的标识信息。
步骤A2:宿主机611向宿主机612发送创建指令,所述创建指令携带了虚拟机621的创建要求。
步骤A3:宿主机612响应于创建指令,按照创建要求创建出虚拟机621'。
步骤A4:宿主机611在检测到创建出的虚拟机621'满足迁移条件时,将虚拟机621的存储信息同步给所述宿主机612。宿主机612将同步来的存储信息存储至创建出的虚拟机621'。具有存储信息的虚拟机621'就是迁移后的虚拟机621。
步骤A5:宿主机611在确定存储信息同步完成后,停止周期性地向汇总器上报虚拟机621的路由信息(即目的地址为虚拟机621关联的网卡标识,下一跳为宿主机611的地址),并通知宿主机612启动创建出的虚拟机621'。
步骤A6:宿主机611在检测到宿主机612启动了虚拟机621',向宿主机发送针对迁移后的虚拟机的上报通知。
步骤A7:宿主机响应于上报通知,向汇总器上报虚拟机621'的路由信息(即目的地址为虚拟机621'关联的网卡标识,下一跳为宿主机612的地址)。
步骤A8:汇总器接收到虚拟机621'的路由信息后,更新已记录的网络拓扑,并基于更新后的网络拓扑确定出虚拟机621'关联的转发节点632。
步骤A9:汇总器将虚拟机621'的路由信息发送给转发节点632。
步骤A10:转发节点632基于接收到的虚拟机621'的路由信息,将本地虚拟机621的转发表项的下一跳由宿主机611的地址更新为宿主机612的地址。
当访问者要访问虚拟机621时,访问者向转发节点632发送报文。转发节点632依据虚拟机621对应的转发表项,将该报文发送给宿主机612,以使得宿主机612将报文发送给虚拟机621'。
其中,需要说明的是,虚拟机621'可以理解为迁移后的虚拟机,虚拟机621'与虚拟机621是同一台虚拟机。
参见图7,图7是本申请一示例性实施例示出的一种电子设备的硬件架构图。
该电子设备包括:通信接口701、处理器702、机器可读存储介质703和总线704;其中,通信接口701、处理器702和机器可读存储介质703通过总线704完成相互间的通信。当该电子设备的角色为源宿主机时,处理器702通过读取并执行机器可读存储介质703中与步骤301至步骤303所示的虚拟机迁移控制逻辑对应的机器可执行指令,可执行上文描述的虚拟机迁移方法。当该电子设备的角色为目的宿主机时,处理器702通过读取并执行机器可读存储介质703中与步骤401至步骤402所示的虚拟机迁移控制逻辑对应的机器可执行指令,可执行上文描述的虚拟机迁移方法。
本文中提到的机器可读存储介质703可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质703可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
参见图8,图8是本申请一示例性实施例示出的一种虚拟机迁移装置的框图,该装置可应用在源宿主机上,可包括如下所示单元。
上报单元801,用于周期性地向汇总器上报本宿主机所维护的各虚拟机的路由信息;其中,路由信息至少包括:虚拟机及其所属的宿主机的对应关系;
迁移单元802,用于在接收到针对目标虚拟机的迁移指令时,联合所述迁移指令所指示的目的宿主机执行所述目标虚拟机的迁移操作;
通知单元803,用于在目标虚拟机迁移完成时,停止周期性地向汇总器上报所述目标虚拟机的第一路由信息,并通知所述目的宿主机向所述汇总器上报迁移后的目标虚拟机的第二路由信息,所述第一路由信息至少包括所述目标虚拟机与所述源宿主机的对应关系;所述第二路由信息包括所述目标虚拟机与所述目的宿主机之间的对应关系;所述第二路由信息用于指示所述汇总器基于所述目标虚拟机与所述目的宿主机之间的对应关系更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机。
可选的,所述迁移单元802,在联合所述目的宿主机执行所述目标虚拟机的迁移操作时,具体用于向所述目的宿主机发送创建指令,以使得目的宿主机按照创建指令携带的目标虚拟机创建要求,创建虚拟机;当监测到所述目的宿主机上创建的虚拟机满足迁移条件要求时,将所述目标虚拟机的存储信息同步给所述目的宿主机上创建的虚拟机。
可选的,所述通知单元803,在所述通知所述目的宿主机向所述汇总器上报迁移后的目标虚拟机的第二路由信息之前,还用于通知所述目的宿主机开启创建的虚拟机;在通知所述目的宿主机向所述汇总器上报迁移后的目标虚拟机的第二路由信息时,用于在监测到所述目的宿主机上的虚拟机开启时,通知所述目的宿主机向所述汇总器上报所述目标虚拟机的第二路由信息。
参见图9,图9是本申请一示例性实施例示出的另一种虚拟机迁移装置的框图,该装置可应用在目的宿主机上,可包括如下所示单元:
迁移单元901,用于响应于源宿主机发送的虚拟机创建指令,所述虚拟机创建指令是所述源宿主机在接收到针对目标虚拟机的迁移指令后发送的,联合源宿主机执行目标虚拟机迁移操作;
上报单元902,用于响应于所述源宿主机发送的上报通知,将迁移后的目标虚拟机的第二路由信息上报给汇总器;所述上报通知是所述源宿主机在监测到目标虚拟机迁移完成后发送的;所述第二路由信息包括目标虚拟机和目的宿主机的对应关系,所述第二路由信息包括目标虚拟机与目的宿主机之间的对应关系;所述第二路由信息用于指示所述汇总器基于所述目标虚拟机与所述目的宿主机之间的对应关系更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给所述目的宿主机。
可选的,所述迁移单元901,在联合源宿主机执行目标虚拟机迁移操作时,用于按照创建指令携带的虚拟机创建要求,创建虚拟机,在接收到源宿主机同步的存储信息后,将所述存储信息存储至创建出的虚拟机中,并将完成存储的虚拟机作为迁移后的目标虚拟机。
参见图10,图10是本申请一示例性实施例示出的一种电子设备的硬件架构图。
该电子设备包括:通信接口1001、处理器1002、机器可读存储介质1003和总线1004;其中,通信接口1001、处理器1002和机器可读存储介质1003通过总线1004完成相互间的通信。处理器1002通过读取并执行机器可读存储介质1003中与步骤501至步骤503所示的虚拟机迁移控制逻辑对应的机器可执行指令,可执行上文描述的虚拟机迁移方法。
本文中提到的机器可读存储介质1003可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质1003可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
参见图11,图11是本申请一示例性实施例示出的一种虚拟机迁移装置的框图,该装置可应用在汇总器上,可包括如下所示单元:
更新单元1101,用于在接收到目的宿主机上报的迁移后的目标虚拟机的第二路由信息时,基于所述第二路由信息携带的目标虚拟机和目的宿主机的对应关系,更新已记录的网络拓扑;
确定单元1102,用于基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点;
发送单元1103,用于将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机。
可选的,所述第二路由信息的目的地址为所述目标虚拟机绑定的网卡标识;所述第二路由信息的下一跳为所述目的宿主机的地址。
此外,本申请还提供一种虚拟机迁移系统,虚拟机迁移系统包括源宿主机、目的宿主机,所述虚拟机迁移系统还配置了汇总器;
所述源宿主机,用于周期性地向汇总器上报本宿主机所维护的各虚拟机的路由信息;其中,路由信息至少包括:虚拟机与其所属的宿主机的对应关系;
所述源宿主机,用于在接收到针对目标虚拟机的迁移指令时,联合所述目的宿主机执行所述目标虚拟机的迁移操作;
所述源宿主机,用于在目标虚拟机迁移完成时,停止周期性向汇总器上报所述目标虚拟机的第一路由信息,并向所述目的宿主机发送上报通知;所述第一路由信息包括所述目标虚拟机和所述源宿主机的对应关系;
所述目的宿主机,用于响应于所述上报通知,将所述目标虚拟机的第二路由信息上报给汇总器;所述第二路由信息包括目标虚拟机和目的宿主机的对应关系;
所述汇总器,用于在接收到目的宿主机上报的目标虚拟机的第二路由信息时,基于目标虚拟机和目的宿主机的对应关系更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给关联的转发节点,以使关联的转发节点基于所述第二路由信息将发往目标虚拟机的报文发送给目的宿主机。
可选的,所述源宿主机在联合所述目的宿主机执行所述目标虚拟机的迁移操作时,用于向所述目的宿主机发送创建指令,以使得目的宿主机按照创建指令携带的目标虚拟机创建要求,创建虚拟机;当监测到所述目的宿主机上创建的虚拟机满足迁移条件要求时,将所述目标虚拟机的存储信息同步给所述目的宿主机上创建的虚拟机。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (7)
1.一种虚拟机迁移方法,其特征在于,虚拟机迁移系统包括源宿主机、目的宿主机和迁移辅助平台,所述虚拟机迁移系统还配置了汇总器,所述汇总器维护了基于由各虚拟机所属的宿主机上报的各虚拟机的路由信息而生成的网络拓扑;所述方法应用于所述源宿主机,包括:
周期性地向所述汇总器上报本宿主机所维护的目标虚拟机的第一路由信息;其中,所述第一路由信息至少包括所述目标虚拟机与所述源宿主机的对应关系;所述第一路由信息的目的地址为所述目标虚拟机关联的网卡标识,所述第一路由信息的下一跳为所述源宿主机的地址;
在接收到所述迁移辅助平台针对所述目标虚拟机的迁移指令时,向所述迁移指令所指示的目的宿主机发送创建指令,所述创建指令用于指示所述目的宿主机按照所述目标虚拟机的创建要求来创建虚拟机;
当监测到所述目的宿主机上创建的虚拟机满足迁移条件要求时,将所述目标虚拟机的存储信息同步给所述目的宿主机上创建的虚拟机;
在确定将所述目标虚拟机的所有存储信息同步至所述目的宿主机上创建的虚拟机后,将所述目的宿主机上创建的虚拟机作为迁移后的目标虚拟机,停止周期性地向所述汇总器上报所述目标虚拟机的第一路由信息,并向所述目的宿主机发送上报通知,所述上报通知用于指示所述目的宿主机向所述汇总器上报所述迁移后的目标虚拟机的第二路由信息;其中,所述第二路由信息至少包括所述迁移后的目标虚拟机与所述目的宿主机之间的对应关系;所述第二路由信息的目的地址为所述迁移后的目标虚拟机关联的网卡标识,所述第二路由信息的下一跳为所述目的宿主机的地址;
所述第二路由信息用于指示所述汇总器将其记录的网络拓扑中的所述目标虚拟机与所述源宿主机的对应关系更新为所述迁移后的目标虚拟机与所述目的宿主机之间的对应关系,并基于更新后的网络拓扑将所述第二路由信息发送给与所述目标虚拟机关联的转发节点,以使所述关联的转发节点将本地记录的针对所述目标虚拟机的转发表项中的下一跳由所述源宿主机的地址更新为所述目的宿主机的地址,以及将针对所述目标虚拟机的转发表项中的目的地址由所述目标虚拟机关联的网卡标识更新为所述迁移后的目标虚拟机关联的网卡标识。
2.根据权利要求1所述的方法,其特征在于,在所述通知所述目的宿主机向所述汇总器上报所述迁移后的目标虚拟机的第二路由信息之前,所述方法还包括:
通知所述目的宿主机开启创建的虚拟机;
所述通知所述目的宿主机向所述汇总器上报所述迁移后的目标虚拟机的第二路由信息,包括:
在监测到所述目的宿主机上创建的虚拟机开启时,通知所述目的宿主机向所述汇总器上报所述迁移后的目标虚拟机的第二路由信息。
3.一种虚拟机迁移方法,其特征在于,虚拟机迁移系统包括源宿主机、目的宿主机和迁移辅助平台,所述虚拟机迁移系统还配置了汇总器,所述汇总器维护了基于由各虚拟机所属的宿主机上报的各虚拟机的路由信息而生成的网络拓扑;所述方法应用于所述目的宿主机,包括:
响应于所述源宿主机发送的创建指令,按照所述创建指令携带的目标虚拟机的创建要求,创建虚拟机;所述创建指令是所述源宿主机在接收到所述迁移辅助平台针对所述目标虚拟机的迁移指令时发送的,所述创建指令所指示的目的宿主机为本宿主机;
接收所述源宿主机同步的所述目标虚拟机的存储信息,以将所述存储信息同步至在本宿主机上创建的虚拟机,并在将所述目标虚拟机的所有存储信息同步至所述本宿主机上创建的虚拟机后,将所述本宿主机上创建的虚拟机作为迁移后的目标虚拟机;
响应于所述源宿主机在确定将所述目标虚拟机的所有存储信息同步至所述目的宿主机上创建的虚拟机后发送的上报通知,向所述汇总器上报所述迁移后的目标虚拟机的第二路由信息;其中,所述第二路由信息至少包括所述迁移后的目标虚拟机与所述目的宿主机之间的对应关系;所述第二路由信息的目的地址为所述迁移后的目标虚拟机关联的网卡标识,所述第二路由信息的下一跳为所述目的宿主机的地址;
所述源宿主机在确定将所述目标虚拟机的所有存储信息同步至所述目的宿主机上创建的虚拟机后还停止了周期性地向所述汇总器上报所述目标虚拟机的第一路由信息;其中,所述第一路由信息至少包括所述目标虚拟机与所述源宿主机的对应关系;所述第一路由信息的目的地址为所述目标虚拟机关联的网卡标识,所述第一路由信息的下一跳为所述源宿主机的地址;
所述第二路由信息用于指示所述汇总器将其记录的网络拓扑中的所述目标虚拟机与所述源宿主机的对应关系更新为所述迁移后的目标虚拟机与所述目的宿主机之间的对应关系基于所述目标虚拟机与所述目的宿主机之间的对应关系更新已记录的网络拓扑,并基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给与所述目标虚拟机关联的转发节点,以使所述关联的转发节点将本地记录的针对所述目标虚拟机的转发表项中的下一跳由所述源宿主机的地址更新为所述目的宿主机的地址,以及将针对所述目标虚拟机的转发表项中的目的地址由所述目标虚拟机关联的网卡标识更新为所述迁移后的目标虚拟机关联的网卡标识。
4.一种虚拟机迁移方法,其特征在于,虚拟机迁移系统包括源宿主机、目的宿主机和迁移辅助平台,所述虚拟机迁移系统还配置了汇总器,所述汇总器维护了基于由各虚拟机所属的宿主机上报的各虚拟机的路由信息而生成的网络拓扑;所述方法应用于所述汇总器,包括:
在接收到所述目的宿主机上报的迁移后的目标虚拟机的第二路由信息时,将记录的网络拓扑中的所述目标虚拟机与所述源宿主机的对应关系,更新为所述迁移后的目标虚拟机与所述目的宿主机之间的对应关系;其中,所述第二路由信息是所述目的宿主机在接收到所述源宿主机发送的上报通知后发送的;所述上报通知是所述源宿主机在确定将所述目标虚拟机的所有存储信息同步至所述目的宿主机上创建的虚拟机后发送的;所述源宿主机在确定将所述目标虚拟机的所有存储信息同步至所述目的宿主机上创建的虚拟机后还停止了周期性地向所述汇总器上报所述目标虚拟机的第一路由信息;其中,所述第一路由信息至少包括所述目标虚拟机与所述源宿主机的对应关系;所述第一路由信息的目的地址为所述目标虚拟机关联的网卡标识,所述第一路由信息的下一跳为所述源宿主机的地址;所述第二路由信息至少包括所述迁移后的目标虚拟机与所述目的宿主机之间的对应关系;所述第二路由信息的目的地址为所述迁移后的目标虚拟机关联的网卡标识,所述第二路由信息的下一跳为所述目的宿主机的地址;
基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点;
将所述第二路由信息发送给与所述目标虚拟机关联的转发节点,以使所述关联的转发节点将本地记录的针对所述目标虚拟机的转发表项中的下一跳由所述源宿主机的地址更新为所述目的宿主机的地址,以及将针对所述目标虚拟机的转发表项中的目的地址由所述目标虚拟机关联的网卡标识更新为所述迁移后的目标虚拟机关联的网卡标识。
5.一种虚拟机迁移系统,其特征在于,虚拟机迁移系统包括源宿主机、目的宿主机和迁移辅助平台,所述虚拟机迁移系统还配置了汇总器,所述汇总器维护了基于由各虚拟机所属的宿主机上报的各虚拟机的路由信息而生成的网络拓扑;
所述源宿主机,用于周期性地向所述汇总器上报本宿主机所维护的目标虚拟机的第一路由信息;其中,所述第一路由信息至少包括所述目标虚拟机与所述源宿主机的对应关系;所述第一路由信息的目的地址为所述目标虚拟机关联的网卡标识,所述第一路由信息的下一跳为所述源宿主机的地址;
所述迁移辅助平台,用于向所述源宿主机下发针对所述目标虚拟机的迁移指令;
所述源宿主机,还用于在接收到所述迁移指令时,向所述迁移指令所指示的目的宿主机发送创建指令;
所述目的宿主机,用于响应于所述创建指令,按照所述创建指令携带的目标虚拟机的创建要求,创建虚拟机;
所述源宿主机,还用于当监测到所述目的宿主机上创建的虚拟机满足迁移条件要求时,将所述目标虚拟机的存储信息同步给所述目的宿主机上创建的虚拟机;
所述目的宿主机,还用于接收所述源宿主机同步的所述目标虚拟机的存储信息,以将所述存储信息同步至在本宿主机上创建的虚拟机,并在将所述目标虚拟机的所有存储信息同步至所述本宿主机上创建的虚拟机后,将所述本宿主机上创建的虚拟机作为迁移后的目标虚拟机;
所述源宿主机,还用于在确定将所述目标虚拟机的所有存储信息同步至所述目的宿主机上创建的虚拟机后,停止周期性地向所述汇总器上报所述目标虚拟机的第一路由信息,并向所述目的宿主机发送上报通知;
所述目的宿主机,还用于响应于所述上报通知,向所述汇总器上报所述迁移后的目标虚拟机的第二路由信息;其中,所述第二路由信息至少包括所述迁移后的目标虚拟机与所述目的宿主机之间的对应关系;所述第二路由信息的目的地址为所述迁移后的目标虚拟机关联的网卡标识,所述第二路由信息的下一跳为所述目的宿主机的地址;
所述汇总器,用于在接收到所述目的宿主机上报的迁移后的目标虚拟机的第二路由信息时,将记录的网络拓扑中的所述目标虚拟机与所述源宿主机的对应关系,更新为所述迁移后的目标虚拟机与所述目的宿主机之间的对应关系;
所述汇总器,还用于基于更新后的网络拓扑确定与所述目标虚拟机关联的转发节点,并将所述第二路由信息发送给与所述目标虚拟机关联的转发节点,以使所述关联的转发节点将本地记录的针对所述目标虚拟机的转发表项中的下一跳由所述源宿主机的地址更新为所述目的宿主机的地址,以及将针对所述目标虚拟机的转发表项中的目的地址由所述目标虚拟机关联的网卡标识更新为所述迁移后的目标虚拟机关联的网卡标识。
6.一种网络设备,其特征在于,所述网络设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于在所述网络设备的角色为源宿主机角色时,读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现权利要求1或2所述方法的步骤,在所述网络设备的角色为目的宿主机角色时,读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现权利要求3所述方法的步骤。
7.一种汇总器,其特征在于,所述汇总器包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现权利要求4所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111638810.6A CN114003349B (zh) | 2021-12-30 | 2021-12-30 | 一种虚拟机迁移方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111638810.6A CN114003349B (zh) | 2021-12-30 | 2021-12-30 | 一种虚拟机迁移方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114003349A CN114003349A (zh) | 2022-02-01 |
CN114003349B true CN114003349B (zh) | 2022-07-12 |
Family
ID=79932502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111638810.6A Active CN114003349B (zh) | 2021-12-30 | 2021-12-30 | 一种虚拟机迁移方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003349B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844833A (zh) * | 2022-03-30 | 2022-08-02 | 阿里云计算有限公司 | 报文处理方法和系统,存储介质及计算机终端 |
CN115065630B (zh) * | 2022-05-10 | 2024-04-09 | 深信服科技股份有限公司 | 虚拟路由器的迁移方法、装置、电子设备及存储介质 |
CN116094923B (zh) * | 2023-01-30 | 2023-08-25 | 杭州优云科技有限公司 | 云实例迁移后的网关更新方法及装置和电子设备 |
CN116319354B (zh) * | 2023-01-30 | 2023-11-28 | 杭州优云科技有限公司 | 基于云实例迁移的网络拓扑更新方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208048A (zh) * | 2014-05-30 | 2015-12-30 | 株式会社日立制作所 | 全局迁移管理器、网关、虚拟机迁移系统及其方法 |
CN106470155A (zh) * | 2015-08-14 | 2017-03-01 | 中国电信股份有限公司 | 一种虚拟机数据的转发方法、sdn控制器和sdn系统 |
CN107819708A (zh) * | 2016-09-12 | 2018-03-20 | 阿里巴巴集团控股有限公司 | 基于虚拟机迁移的数据处理方法、系统及设备 |
CN111988223A (zh) * | 2020-08-19 | 2020-11-24 | 杭州迪普科技股份有限公司 | 虚拟机迁移方法与网络系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429647B2 (en) * | 2009-05-06 | 2013-04-23 | Vmware, Inc. | Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine |
CN104079507B (zh) * | 2013-03-27 | 2019-04-09 | 联想企业解决方案(新加坡)私人有限公司 | 同步ip信息的方法和装置 |
CN103716221B (zh) * | 2013-12-10 | 2017-02-01 | 同济大学 | 一种在未来网络ndn下的广域网中虚拟机在线迁移方法 |
CN105760218B (zh) * | 2016-01-05 | 2019-12-06 | 新华三技术有限公司 | 一种虚拟机在线迁移方法及装置 |
CN106911534A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种虚拟机热迁移方法及其系统 |
CN108964949A (zh) * | 2017-05-19 | 2018-12-07 | 中兴通讯股份有限公司 | 虚拟机迁移方法、sdn控制器及计算机可读存储介质 |
-
2021
- 2021-12-30 CN CN202111638810.6A patent/CN114003349B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208048A (zh) * | 2014-05-30 | 2015-12-30 | 株式会社日立制作所 | 全局迁移管理器、网关、虚拟机迁移系统及其方法 |
CN106470155A (zh) * | 2015-08-14 | 2017-03-01 | 中国电信股份有限公司 | 一种虚拟机数据的转发方法、sdn控制器和sdn系统 |
CN107819708A (zh) * | 2016-09-12 | 2018-03-20 | 阿里巴巴集团控股有限公司 | 基于虚拟机迁移的数据处理方法、系统及设备 |
CN111988223A (zh) * | 2020-08-19 | 2020-11-24 | 杭州迪普科技股份有限公司 | 虚拟机迁移方法与网络系统 |
Non-Patent Citations (2)
Title |
---|
"A VM allocation strategy for cluster of open host in cloud environment";Vivek Rajani等;《2016 International Conference on Advanced Communication Control and Computing Technologies (ICACCCT)》;20170126;第569-572页 * |
"云计算中基于软件定义网络的虚拟机迁移研究";贾坤荥;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190315(第03期);第I137-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114003349A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114003349B (zh) | 一种虚拟机迁移方法及设备 | |
EP3620905B1 (en) | Method and device for identifying osd sub-health, and data storage system | |
CN102761566B (zh) | 迁移虚拟机的方法和装置 | |
CN106528327B (zh) | 一种数据处理方法以及备份服务器 | |
CN106059791B (zh) | 一种存储系统中业务的链路切换方法和存储设备 | |
EP3598301B1 (en) | Cloud management platform, virtual machine management method, system thereof | |
CN109714239B (zh) | 一种管理消息的下发方法、vnfm设备和服务器 | |
CN109587286B (zh) | 一种设备接入控制方法及装置 | |
TW201824823A (zh) | 虛擬互聯網協定位址的切換方法及裝置 | |
CN107329859B (zh) | 一种数据保护方法及存储设备 | |
CN109407975B (zh) | 写数据方法与计算节点以及分布式存储系统 | |
CN101808010A (zh) | 一种设备管理方法、装置和主控板 | |
CN104793981A (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN106201772A (zh) | 一种基于数据中心的操作系统备份、恢复方法及装置 | |
CN108804129B (zh) | 一种软件升级方法及装置 | |
CN113590049B (zh) | 一种存储卷跨节点克隆的方法、装置、设备及可读介质 | |
CN109088830B (zh) | 一种端口状态同步方法及装置 | |
CN104917800A (zh) | 建立用于虚拟机的冗余连接的方法及装置 | |
JP4806382B2 (ja) | 冗長化システム | |
CN111083160A (zh) | 资源信息恢复方法及装置 | |
JP4551662B2 (ja) | 計算機システム、計算機、データ通信方法及びプログラム | |
CN108471364B (zh) | 一种异常处理方法及装置 | |
CN110704249A (zh) | 一种保证应用一致性的方法、装置及系统 | |
CN113839801B (zh) | 运行状态的切换方法及装置、主备管理系统、网络系统 | |
US20070030813A1 (en) | Monitoring a problem condition in a communications protocol implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |