CN103430149B - 虚拟机迁移通知方法和系统 - Google Patents
虚拟机迁移通知方法和系统 Download PDFInfo
- Publication number
- CN103430149B CN103430149B CN201180001418.9A CN201180001418A CN103430149B CN 103430149 B CN103430149 B CN 103430149B CN 201180001418 A CN201180001418 A CN 201180001418A CN 103430149 B CN103430149 B CN 103430149B
- Authority
- CN
- China
- Prior art keywords
- address
- router
- migrated
- server
- controlling vertex
- 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/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
Abstract
本发明提供一种虚拟机迁移通知方法和系统。目标控制节点根据目标服务器发送的包含待迁移VM地址的第一ARP消息更新IP路由表并通过第一路由协议报文向源控制节点发送更新后待迁移VM的IP地址路由信息,源控制节点根据第一路由协议报文更新IP路由表并通过第二ARP消息向源服务器发送待迁移VM的地址。采用本发明提供的拟机迁移方法和系统,能够节省控制信令占用的带宽。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种虚拟机(VirtualMachine,简称VM)迁移方法和系统。
背景技术
随着计算机技术以及通信技术的不断发展,数据中心(DataCenter,简称DC)网络得到越来越广泛的应用。
在DC网络中,在服务器上设置多个VM进行计算。当某个服务器的负载过大或发生故障时,需要将该服务器上设置的VM迁移到其它服务器。目前,在VM迁移时,通过广播地址解析协议(AddressResolutionProtocol,简称ARP)消息的方式向DC网络中的相关节点通知待迁移VM的媒体访问控制(MediaAccessControl,简称MAC)地址。由于每个DC内部包括大量的VM,因此,采用现有的VM迁移方法会在DC网络中形成广播风暴,与迁移相关的控制信令占用大量网络带宽,造成网络带宽资源的浪费。
发明内容
本发明实施例提供一种虚拟机迁移通知方法,用以解决现有技术中的缺陷,节省控制信令占用的带宽。
本发明实施例还提供一种虚拟机迁移系统,用以解决现有技术中的缺陷,节省控制信令占用的带宽。
本发明实施例提供一种虚拟机VM迁移方法,包括:
目标服务器启动待迁移VM并通过第一地址解析协议ARP消息向目标控制节点发送所述待迁移VM的媒体访问控制MAC地址和网际协议IP地址;
所述目标控制节点根据所述第一ARP消息更新IP路由表,通过第一路由协议报文向源控制节点发送更新后待迁移VM的IP地址路由信息,所述更新后待迁移VM的IP地址路由信息包括所述待迁移VM的IP地址和所述目标控制节点的IP地址;
所述源控制节点根据所述第一路由协议报文中的所述待迁移VM的IP地址和所述目标控制节点的IP地址更新IP路由表,通过第二ARP消息向源服务器发送待迁移VM的IP地址或IP地址和MAC地址。
本发明实施例还提供一种虚拟机VM迁移系统,包括:
目标服务器,用于启动待迁移VM并通过第一地址解析协议ARP消息向目标控制节点发送所述待迁移VM的媒体访问控制MAC地址和网际协议IP地址;
目标控制节点,用于根据所述第一ARP消息更新IP路由表,通过第一路由协议报文向源控制节点发送更新后待迁移VM的IP地址路由信息,所述更新后待迁移VM的IP地址路由信息包括所述待迁移VM的IP地址和所述目标控制节点的IP地址;
源控制节点,用于根据所述第一路由协议报文中的所述待迁移VM的IP地址和所述目标控制节点的IP地址更新IP路由表,通过第二ARP消息向源服务器发送待迁移VM的IP地址或IP地址和MAC地址;
源服务器,用于从所述源控制节点接收所述第二ARP消息。
由上述技术方案可知,本发明实施例通过在各个站点内的交互过程采用ARP协议,在各个站点之间的交互过程采用路由协议,由目标控制节点和源控制节点对完成ARP消息与路由协议报文之间的相互触发和转化。从而将ARP协议的报文限制在各个站点内部,避免了将ARP协议发到各个站点之间的DC互联网络中,因此避免了在DC互联网络中广播ARP消息带来的广播风暴,从而节省了控制信令占用的带宽。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本发明实施例一的虚拟机迁移通知方法的流程图;
图2为本发明实施例二和本发明实施例三的网络结构示意图;
图3为本发明实施例二的虚拟机迁移通知方法的信令流程图;
图4为本发明实施例三的虚拟机迁移通知方法的信令流程图;
图5为本发明实施例四的虚拟机迁移系统的结构示意图;
图6为本发明实施例五的目标控制节点52的结构示意图;
图7为本发明实施例六的源控制节点53的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1本发明实施例一的虚拟机迁移通知方法的流程图。如图1所示,该方法包括如下过程。
步骤101:目标服务器启动待迁移VM并通过第一ARP消息向目标控制节点发送待迁移VM的MAC地址和网际协议(InternetProcotol,简称IP)地址。
其中,目标服务器是指迁移后的VM所在的服务器。目标控制节点是指迁移后的VM所在的站点的控制节点,具体可以是迁移后的VM所在的站点的用户边缘(CustomerEdge,简称CE)路由器或运营商边缘(ProviderEdge,简称PE)路由器。在本发明实施例一以及后续的各个实施例中,ARP消息可以采用免费ARP(GratuitousARP,简称GARP)。
步骤102:目标控制节点根据第一ARP消息更新IP路由表,通过第一路由协议报文向源控制节点发送更新后待迁移VM的IP地址路由信息。
其中,源控制节点是指迁移前的VM所在的站点的控制节点,具体可以是迁移前VM所在的站点的CE路由器或PE路由器。
在本步骤中,更新后待迁移VM的IP地址路由信息包括待迁移VM的IP地址和目标控制节点的IP地址。在本发明实施例一以及以下的各个实施例中,所涉及的路由协议报文是指采用路由协议发送的报文,路由协议可以采用边界网关协议(BorderGatewayProtocol,简称BGP)或中间系统到中间系统(InternediateSystemtoIntermediateSystem,简称IS-IS)协议。
由于根据ARP和路由协议的规定,一个ARP消息只能包含一个VM的地址,而一个路由协议报文可以包括多个VM的地址,因此当目标控制节点接收到多个第一ARP消息时,能够将多个第一ARP消息中的VM的地址整合到一个第一路由协议报文中发送给源控制节点。各个站点以各自的控制节点作为信息交互的边缘节点,采用上述方案,在各个站点之间采用路由协议报文,将每个站点内对于多个VM的ARP消息整合为一个路由协议报文,在各个站点之间采用路由协议报文进行消息传输,与将每个ARP消息均在各个站点之间进行传输相比,采用路由协议报文进行整合集中的方式可以大量减少站点之间的消息传输量。
步骤103:源控制节点根据第一路由协议报文中的待迁移VM的IP地址和目标控制节点的IP地址更新IP路由表,通过第二ARP消息向源服务器发送待迁移VM的IP地址,或IP地址和MAC地址的组合。
源服务器是指迁移前的VM所在的服务器。
在本发明实施例一中,在VM迁移控制过程中,在各个站点内的交互过程采用ARP协议,ARP协议是数据链路层(datalinklayer)协议,各站点之间的交互过程采用路由协议,由目标控制节点和源控制节点对完成ARP消息与路由协议报文之间的相互触发和转化。从而将ARP协议的报文限制在各个站点内部,避免了将ARP协议发到各个站点之间的DC互联网络中。因为一个ARP消息只能针对一个地址,而一个路由协议报文可以包括多个地址,因此,通过在DC互联网络中采用路由协议报文替代ARP消息,避免了在DC互联网络中广播ARP消息带来的广播风暴,从而节省了控制信令占用的带宽。
图2为本发明实施例二和本发明实施例三的网络结构示意图。如图2所示,该网络为支持VM迁移的DC网络。该网络中包括三个站点,三个站点通过各自的CE路由器分别连接一个PE路由器,三个PE路由器相连,构成一个DC互联网络。具体地,以第一站点包括第一服务器为例,在第一服务器上设置有多个VM,例如VM11和VM12等,并且,第一站点包括第一CE路由器,该第一CE路由器连接到第一PE路由器;以第二站点包括第二服务器为例,在第二服务器上设置有多个VM,例如VM21等,并且,第二站点包括第二CE路由器,该第二CE路由器连接到第二PE路由器;以第三站点包括第三服务器为例,在第三服务器上设置有多个VM,例如VM31等,并且,第三站点包括第三CE路由器,该第三CE路由器连接到第三PE路由器。上述第一PE路由器、第二PE路由器与第三PE路由器相互连接。在以下的本发明实施例二和本发明实施例三中,以将本发明实施例一中的虚拟机迁移通知方法应用到图2所示的网络架构中为例,详细说明本发明实施例一的虚拟机迁移通知方法。在本发明实施例二和本发明实施例三中,以第一服务器上的VM12迁移到第三服务器上为例,则,待迁移虚拟机为VM12;第一服务器为源服务器,第一CE路由器为源CE路由器,第一PE路由器为源PE路由器;第三服务器为目标服务器,第三CE路由器为目标CE路由器,第三PE路由器为目标PE路由器。其中,源控制节点可以为第一CE路由器,相应地,目标控制节点为第三CE路由器。或者,源控制节点可以为第一PE路由器,相应地,目标控制节点为第三PE路由器。以下分别通过本发明实施例二和本发明实施例三对上述两种情况进行具体说明。
图3为本发明实施例二的虚拟机迁移通知方法的信令流程图。在本发明实施例二中,以控制节点为CE路由器为例,在各个CE路由器上设置ARP代理功能。
以VM12从第一站点中的第一服务器迁移到第三站点中的第三服务器的过程为例,则第一站点为源站点,第一服务器为源服务器,第一CE路由器为源CE路由器;第三站点为目标站点,第三服务器为目标服务器,第三CE路由器为目标CE路由器。如图3所示,该方法包括如下过程。
步骤301:第一CE路由器通过ARP消息从第一服务器获取第一服务器的VM12的MAC地址和IP地址的映射关系。
在本步骤中,各个CE路由器通过ARP消息从自身对应的服务器获取自身对应的站点内的VM的MAC地址和IP地址的映射关系。具体地,第一服务器向第一CE路由器发送ARP消息,该消息中包括第一站点内VM的MAC地址和IP地址的映射关系;第一CE路由器从第一服务器接收上述ARP消息,根据该ARP消息获取第一站点内VM的MAC地址和IP地址的映射关系,第二CE路由器通过ARP消息从第二服务器获取第二站点内VM的MAC地址和IP地址的映射关系,第三CE路由器通过ARP消息从第三服务器获取第三站点内VM的MAC地址和IP地址的映射关系。在本发明实施例二中,仅以VM12从第一站点内的第一服务器迁移到第三站点内的第三服务器的过程为例,因此,在本步骤中,第一CE路由器通过ARP消息从第一服务器获取第一站点内VM的MAC地址和IP地址的映射关系。由于迁移前VM12位于第一站点内,所以第一CE路由器获取的第一站点内VM的MAC地址和IP地址的映射关系中,包括VM12的MAC地址和IP地址的映射关系。
在本步骤中,各个CE路由器在获取到各自对应的站点内的VM的MAC地址和IP地址的映射关系之后,还根据对应的站点内的VM的MAC地址和IP地址的映射关系,在自身存储MAC地址与IP地址的映射表。仍以第一CE路由器为例,表1为第一CE路由器的MAC地址和IP地址的映射表。在表1以及本发明各个实施例的以下各表中,表示地址的具体内容。第一CE路由器通过ARP消息从第一服务器获取第一站点内VM的MAC地址和IP地址的映射关系之后,将上述映射关系存储到表1中。其中,表1中包括第一服务器的VM12的MAC地址和IP地址的映射关系。
表1第一CE路由器的MAC地址和IP地址的映射表
IP地址 | MAC地址 |
VM11 IP | VM11MAC |
VM12 IP | VM12MAC |
… | … |
步骤302:第一CE路由器通过路由协议报文向第三CE路由器发送第一服务器的VM12的IP地址路由信息。
在本步骤中,各个CE路由器通过路由协议报文向其它CE路由器发送自身对应站点的VM的IP地址路由信息。具体地,第一CE路由器通过路由协议报文向第二CE路由器和第三CE路由器发送第一站点的VM的IP地址路由信息,第二CE路由器通过路由协议报文向第一CE路由器和第三CE路由器发送第二站点的VM的IP地址路由信息,第三CE路由器通过路由协议报文向第一CE路由器和第二CE路由器发送第三站点的VM的IP地址路由信息。在本发明实施例二中,仅以VM12从第一站点中的第一服务器迁移到第三站点中的第三服务器的过程为例,因此,在本步骤中,仅以第一CE路由器通过路由协议报文向第三CE路由器发送第一站点的VM的IP地址路由信息为例。其它CE路由器发送各自对应站点的VM的IP地址路由信息的具体过程可以参照第一CE路由器发送第一站点的VM的IP地址路由信息的过程实现,在此不再赘述。
具体地,第一CE路由器通过路由协议报文向第三CE路由器发送第一站点的VM的IP地址路由信息的具体过程包括:首先,第一CE路由器将第一站点内VM的IP地址与第一CE路由器的IP地址组成第一站点的IP地址路由信息。在本发明实施例二中,迁移前的VM12位于第一站点中的第一服务器中,属于第一站点内的VM,因此,第一CE路由器所在的第一站点的VM的IP地址路由信息中,包括第一服务器的VM12的IP地址路由信息。具体地,第一服务器的VM12的IP地址路由信息包括第一服务器的VM12的IP地址和第一CE路由器的IP地址。然后,第一CE路由器通过路由协议报文向第三CE路由器发送第一站点的VM的IP地址路由信息。通过发送第一站点的VM的IP地址路由信息,第一CE路由器将位于第一站点中第一服务器的VM12的IP地址路由信息发送给第三CE路由器。
在本步骤中,各个CE路由器通过路由协议报文向其它CE路由器发送自身对应站点的VM的IP地址路由信息之后,其它CE路由器根据获得的站点的VM的IP地址路由信息,在自身存储各自的IP路由表,并更新自身存储的MAC地址和IP地址的映射表。参见表2至表5,其中:表2为第三CE路由器的IP路由表;表3为第二CE路由器的IP路由表;表4为第一CE路由器的IP路由表;表5为第二CE路由器的MAC地址和IP地址的映射表。
表2第三CE路由器的IP路由表
目的IP地址 | 下一跳地址 |
VM11 IP | =第一CE路由器 |
VM12 IP | =第一CE路由器 |
VM21 IP | 第二CE路由器 |
VM31 IP | 本地 |
… | … |
表3第二CE路由器的IP路由表
目的IP地址 | 下一跳地址 |
VM11 IP | 第一CE路由器 |
VM12 IP | 第一CE路由器 |
VM21 IP | 本地 |
VM31 IP | 第三CE路由器 |
… | … |
表4第一CE路由器的IP路由表
目的IP地址 | 下一跳地址 |
VM11 IP | 本地 |
VM12 IP | 本地 |
VM21 IP | 第二CE路由器 |
VM31 IP | 第三CE路由器 |
… | … |
表5第二CE路由器的MAC地址和IP地址的映射表
IP地址 | MAC地址 |
VM11 IP | 第二CE路由器MAC |
VM12 IP | 第二CE路由器MAC |
VM21 IP | VM21MAC |
VM31 IP | 第二CE路由器MAC |
… | … |
步骤303:第三服务器通过ARP消息向第三服务器与第三CE路由器之间的节点发送第三服务器的VM12的MAC地址和IP地址。
在本步骤中,第三服务器与第三CE路由器之间的节点可以包括交换机、集线器、路由器等等。当第一服务器由于负荷过重或发生故障时,需要将第一服务器中的VM12迁移到第三服务器。在此情况下,可以通过网络管理员手动触发VM12的迁移过程,或者由第一服务器触发VM12的迁移过程。VM12的迁移过程具体包括如下步骤:首先,第三服务器启动一个VM,该VM的MAC地址和IP地址都与第一服务器的VM12的MAC地址和IP地址相同。在本发明实施例二中,第三服务器启动的该VM最终将代替第一服务器的VM12,该VM也被称为VM12。第三服务器的VM12的MAC地址和IP地址分别与第一服务器的VM12的MAC地址和IP地址相同。然后,第三服务器向第三服务器与第三CE路由器之间的节点发送ARP消息,该ARP消息中携带有第三服务器的VM12的MAC地址和IP地址。
步骤304:第三服务器与第三CE路由器之间的节点学习第三服务器的VM12的MAC地址并更新MAC地址转发表。
在本步骤中,在第三站点内广播上述步骤303中第三服务器发送的ARP消息,则第三站点内的所有节点,即第三服务器与第三CE路由器之间的所有节点,都将学习到第三服务器的VM12的MAC地址,并根据该MAC地址更新各自的MAC地址转发表。
步骤305:第三CE路由器通过ARP消息从第三服务器与第三CE路由器之间的节点获取第三服务器的VM12的MAC地址和IP地址。
在本步骤中,第三服务器与第三CE路由器之间的节点向第三CE路由器转发ARP消息,从而使得步骤303中第三服务器发送的携带有第三服务器的VM12的MAC地址和IP地址的ARP消息被第三CE路由器接收。
步骤306:第三CE路由器更新IP路由表并获得第三服务器的VM12的IP地址对应的下一跳地址。
在本步骤中,第三CE路由器根据获得的第三服务器的VM12的IP地址和MAC地址,更新第三CE路由器中存储的IP路由表。并且,步骤305中第三CE路由器获取的ARP消息触发第三CE路由器查IP路由表,获得第三服务器的VM12的IP地址对应的下一跳地址。在本发明实施例二中,第三服务器的VM12的IP地址对应的下一跳地址为第一CE路由器的IP地址。
步骤307:第三CE路由器通过路由协议报文向第一CE路由器和第二CE路由器发送更新的第三服务器的VM12的IP地址路由信息。
在本步骤中,首先,作为第三CE路由器将第三服务器的VM12的IP地址与第三CE路由器的IP地址组成更新的第三服务器的VM12的IP地址路由信息。并且,第三CE路由器根据上述更新的第三服务器的VM12的IP地址路由信息更新自身存储的IP路由表。参见表6,表6为更新后的第三CE路由器的IP路由表。然后,以步骤305中获取到ARP消息的动作作为触发条件,第三CE路由器发起路由协议报文,通过路由协议报文将更新的第三服务器的VM12的IP地址路由信息发送给其它CE路由器节点,例如发送给第一CE路由器和第二CE路由器。具体地,上述路由协议可以采用BGP或IS-IS协议。
表6更新后的第三CE路由器的IP路由表
目的IP地址 | 下一跳地址 |
VM11 IP | =第一CE路由器 |
VM12 IP | =第三CE路由器(即本地) |
VM21 IP | 第二CE路由器 |
VM31 IP | 本地 |
… | … |
步骤308:第一CE路由器更新IP路由表。
在本步骤中,第一CE路由器接收到步骤307中的路由协议报文后,根据第三服务器的VM12的IP地址,查询第一CE路由器自身存储的IP路由表。由于第三服务器的VM12的IP地址与第一服务器的VM12的IP地址相同,经查询,第一CE路由器发现该表中已经存在由该VM12的IP地址和第一CE路由器的IP地址组成的第一服务器的VM12的IP地址路由信息。根据第三服务器的VM12的IP地址路由信息查询第一CE路由器自身存储的IP路由表,第一CE路由器获知该VM12由本地第一站点迁移到其它站点,则第一CE路由器根据步骤307的路由协议报文中携带的更新的第三服务器的VM12的IP地址路由信息更新IP路由表,将该表中的VM12的IP地址与下一跳地址组成新的IP地址路由信息。在本发明实施例二中,VM12的下一跳地址为第三CE路由器的IP地址。参见表7,表7为更新后的第二CE路由器的IP路由表。
表7第二CE路由器的IP路由表
目的IP地址 | 下一跳地址 |
VM11 IP | 第一CE路由器 |
VM12 IP | 第三CE路由器 |
VM21 IP | 本地 |
VM31 IP | 第三CE路由器 |
… | … |
并且,在步骤308中,第一CE路由器根据该路由协议报文获知该VM12由本地第一站点迁移到其它站点,则继续执行如下的步骤309,由第一CE路由器根据该路由协议报文触发ARP消息。
步骤309:第一CE路由器通过ARP消息向第一服务器与第一CE路由器之间的节点发送VM12的IP地址或发送VM12的IP地址和MAC地址。
在本步骤中,具体可以采用如下具体实施方式:第一CE路由器触发ARP消息,该ARP消息中携带着VM12的IP地址。第一CE路由器向第一站点中广播上述触发的ARP消息,用于通知第一站点中的节点释放属于第一服务器的VM12的相关资源,例如,计算资源或存储资源等。在第一站点中广播该ARP消息,则第一服务器与第一CE路由器之间的节点均会接收到该ARP消息。在上述过程中,第一CE路由器还可以先根据VM12的IP地址查询第一CE路由器自身存储的MAC地址和IP地址的映射表,得到VM12的MAC地址。然后,第一CE路由器触发ARP消息,该ARP消息中携带着VM12的IP地址和MAC地址。该ARP消息还可以用于更新第一站点内各个节点的MAC地址转发表。在第一站点中广播该ARP消息,则第一服务器与第一CE路由器之间的节点均会接收到该ARP消息。
在本步骤中,在采用上述两种实施方式中的任何一种方式的情况下,上述方式中采用的ARP消息可以通过对现有的ARP消息的操作字段(OperationCode,简称OPCode)进行拓展来实现。具体扩展方法为:为ARP消息的OPCode赋予一个设定的值,通过该设定的值指示释放属于第一服务器的并且地址与ARP消息所携带的IP地址相同的VM的相关资源。其中,相关资源可以包括计算资源或存储资源等等。
步骤310:第一服务器与第一CE路由器之间的节点学习VM12的MAC地址并更新MAC地址转发表。
在本步骤中,第一服务器与第一CE路由器之间的节点接收步骤309中的ARP消息。具体地,步骤309中的ARP消息承载在以太网(Ethernet,简称ETH)帧中传送给第一服务器与第一CE路由器之间的节点,该ETH帧中包含VM12的MAC地址,第一服务器与第一CE路由器之间的节点重新学习VM12的MAC地址,并根据学习到的VM12的MAC地址更新各自的MAC地址转发表。
步骤311:第一服务器接收第一服务器与第一CE路由器之间的节点转发的ARP消息,获取VM12的IP地址,或获取VM12的IP地址和MAC地址。
步骤312:第一服务器释放第一服务器的VM12的相关资源。
在本步骤中,第一服务器在收到步骤309中第一CE路由器触发的ARP消息后,释放属于第一服务器的VM12的相关资源。其中,相关资源可以包括计算资源或存储资源等等。
在步骤307之后,还可以执行如下的步骤313。其中,步骤308至步骤312需按照上述顺序执行,步骤313可以在步骤308至步骤312之前、之后或同时执行。
步骤313:第二CE路由器更新IP路由表。
在本步骤中,第二CE路由器接收到步骤307中的路由协议报文后,根据第三服务器的VM12的IP地址,查询第二CE路由器自身存储的IP路由表。由于第三服务器的VM12的IP地址与第一服务器的VM12的IP地址相同,经查询,第二CE路由器发现该表中已经存在由该VM12的IP地址和第一CE路由器的IP地址组成的第一服务器的VM12的IP地址路由信息。根据上述查询结果,由于VM12的IP地址对应的不是第二CE路由器的本地地址,即对应的不是第二CE路由器的IP地址,第二CE路由器获知该VM12不是从本地第二站点迁移出去的。因此,第二CE路由器仅根据步骤307的路由协议报文中携带的更新的第三服务器的VM12的IP地址路由信息更新IP路由表,将该表中的VM12的IP地址与第三CE路由器的IP地址组成新的IP地址路由信息。参见表8,表8为更新后的第一CE路由器的IP路由表。
并且,在步骤313中,由于第二CE路由器获知该VM12不是从本地第二站点迁移出去的,因此,在步骤313之后,第二CE路由器并不触发携带VM12的IP地址或携带VM12的IP地址和MAC地址的ARP消息。
在上述本发明实施例二的具体过程中,如果不存在第一服务器与第一控制节点之间的节点和第三服务器与第三控制节点之间的节点,则步骤303和304可以省略,由第三服务器通过ARP消息直接向第三CE路由器发送第三服务器的VM12的MAC地址和IP地址即可。
表8第一CE路由器的IP路由表
目的IP地址 | 下一跳地址 |
VM11I P | 第一CE路由器(即本地) |
VM12I P | 第三CE路由器 |
VM21I P | 第二CE路由器 |
VM31I P | 第三CE路由器 |
… | … |
采用上述VM迁移方法,将VM12从第一站点中的第一服务器迁移到第三站点中的第三服务器。以第二站点的第二服务器中的VM21与该VM12通信为例。
在VM12迁移之前,VM12位于第一站点中的第一服务器,VM21与VM12的通信过程如下。
步骤3a:第二CE路由器获取来自VM21的IP报文。
在本步骤中,首先,VM21向第二CE路由器发出携带有VM12的IP地址的ARP消息,通过该消息向第二CE路由器请求VM12的MAC地址。然后,第二CE路由器作为ARP代理,查询第二CE路由器自身的MAC地址和IP地址的映射表,参见表5。根据第二CE路由器的MAC地址和IP地址的映射表,第二CE路由器将第二CE路由器的MAC地址作为VM12的MAC地址回复给VM21。然后,VM21向第二CE路由器发送IP报文,该IP报文的目的IP地址为VM12的IP地址。具体地,该IP报文被承载于ETH报文上发送给第二CE路由器,该ETH报文的目的MAC地址为第二CE路由器的MAC地址。
步骤3b:第二CE路由器将IP报文封装入通往第一CE路由器的IP隧道。
在本步骤中,第二CE路由器收到步骤3a中IP报文,该IP报文的目的IP地址为VM12的IP地址。第二CE路由器查询第二CE路由器自身的IP路由表,参见表3。根据VM12的IP地址,查询得到下一跳为第一CE路由器。则第二CE路由器将该IP报文封装入通往第一CE路由器的IP隧道。具体地,该IP隧道的目的地址为第一CE路由器的IP地址,源地址为第二CE路由器的IP地址。
步骤3c:第一CE路由器获取承载于IP隧道的IP报文。
在本步骤中,第一CE路由器接收来自第二CE路由器的上述封装后的报文,去除IP隧道封装,得到IP报文。其中,得到的该IP报文的目的IP地址为VM12的IP地址。
步骤3d:第一CE路由器向第一服务器中的VM12发送IP报文。
在本步骤中,第一CE路由器根据得到的IP报文的目的IP地址为VM12的IP地址,查询第一CE路由器自身的IP路由表,参见表4。第一CE路由器查询得到下一跳为本地,则第一CE路由器在第一站点内发送该IP报文,该IP报文的目的IP地址为VM12的IP地址。位于第一站点内第一服务器中的VM12收到该IP报文。
上述步骤3a至步骤3d为VM12迁移之前的数据传递过程,在上述步骤307之前执行。在执行了上述步骤307至步骤309之后,VM12发生迁移。在VM12迁移之后,VM12位于第三站点中的第三服务器,此时VM21与VM12的通信过程如下。
在VM12迁移后,第一CE路由器的数据传输过程包括如下步骤3e至步骤3h。
步骤3e:第一CE路由器获取承载于IP隧道的IP报文。
在本步骤中,在第一CE路由器收到步骤307的路由协议报文后,如果该第一CE路由器还收到承载于以第一CE路由器的IP地址的IP隧道并且目的IP地址为VM12的IP地址的IP报文,则按照下述步骤执行。
步骤3f:第一CE路由器将IP报文封装入通往第三CE路由器的IP隧道。
在本步骤中,第一CE路由器根据VM12的IP地址查询第一CE路由器自身的IP路由表,参见表8,得到VM12的IP地址对应的下一跳地址为第三CE路由器的IP地址。然后,第一CE路由器将目的IP地址为VM12的IP地址的IP报文封装入通往第三CE路由器的IP隧道,该IP隧道的目的地址为第三CE路由器的IP地址,源地址为第一CE路由器的IP地址。在第二CE路由器收到路由协议报文晚于第一CE路由器的情况下,通过执行本步骤,能够保证在VM12发生迁移之后,数据传输过程不丢包,保证数据传输的正确性。
步骤3g:第三CE路由器获取承载于IP隧道的IP报文。
在本步骤中,第三CE路由器接收来自第一CE路由器的上述封装后的报文,去除IP隧道封装,得到IP报文。其中,得到的IP报文的目的IP地址为VM12的IP地址。
步骤3h:第三CE路由器向第三服务器中的VM12发送IP报文。
在本步骤中,第三CE路由器根据得到的IP报文的目的IP地址为VM12的IP地址,查询第三CE路由器自身的IP路由表,参见表6。第三CE路由器查询得到下一跳为本地,则第三CE路由器在第三站点内发送该IP报文,该IP报文的目的IP地址为VM12的IP地址。位于第三站点内的第三服务器中的VM12收到该IP报文。
在VM12迁移后,第二CE路由器的数据传输过程包括如下步骤3i至步骤3k。步骤3i至步骤3k可以在步骤3e至步骤3h之前、之后或同时执行。
步骤3i:第二CE路由器将IP报文封装入通往第三CE路由器的IP隧道。
在本步骤中,在第二CE路由器收到步骤307的路由协议报文后,如果第二CE路由器收到来自自身站点的目的IP地址为VM12的IP地址的IP报文,则第二CE路由器根据VM12的IP地址查询第二CE路由器自身的IP路由表,参见表7。根据VM12的IP地址,查询得到VM12的IP地址对应的下一跳地址为第三CE路由器的IP地址。然后,第一CE路由器将该目的IP地址为VM12的IP地址的IP报文封装入通往第三CE路由器的IP隧道,该IP隧道的目的地址为第三CE路由器的IP地址,源地址为第一CE路由器的IP地址。采用本步骤,第二CE路由器直接将待发送给VM12的IP报文转发给第三CE路由器。
步骤3j:第三CE路由器获取承载于IP隧道的IP报文。
在本步骤中,第三CE路由器接收来自第二CE路由器的上述封装后的报文,去除IP隧道封装,得到IP报文。其中,得到的IP报文的目的IP地址为VM12的IP地址。
步骤3k:第三CE路由器向第三服务器中的VM12发送IP报文。
本步骤与上述步骤3h相同,在此不再赘述。
在本发明实施例二中,在VM迁移控制过程中,站点内的交互过程采用ARP协议,站点间的交互过程采用路由协议。因此,各个CE路由器与该CE路由器自身所在的站点内的其它节点进行交互时,采用ARP协议;作为源CE路由器的第一CE路由器与作为目标CE路由器的第三CE路由器进行交互时,采用路由协议;由第一CE路由器与第三CE路由器完成ARP消息与路由协议报文之间的相互触发和转化。从而将ARP协议的报文限制在各个站点内部,避免了将ARP协议发到DC互联网络中。因为一个ARP消息只能针对一个地址,而一个路由协议报文可以包括多个地址,因此,通过在DC互联网络中采用路由协议报文替代ARP消息,避免了在DC互联网络中广播ARP消息带来的广播风暴,从而节省了控制信令占用的带宽。
图4为本发明实施例三的虚拟机迁移通知方法的信令流程图。在本发明实施例三中,以控制节点为PE路由器为例,在各个PE路由器上设置ARP代理功能。在本发明实施例三中,以VM12从第一站点中的第一服务器迁移到第三站点中的第三服务器的过程为例,则第一站点为源站点,第一服务器为源服务器,第一PE路由器为源PE路由器;第三站点为目标站点,第三服务器为目标服务器,第三PE路由器为目标PE路由器。以各个PE路由器之间通过多协议标记交换(MultiprotocolLabelSwitching,简称MPLS)技术构成VPN为例。如图4所示,该方法包括如下过程。
步骤401:第一PE路由器通过ARP消息从第一服务器获取第一服务器的VM12的MAC地址和IP地址的映射关系。
在本步骤中,各个PE路由器通过ARP消息从自身对应的服务器获取自身对应的站点内的VM的MAC地址和IP地址的映射关系。具体地,第一服务器向第一CE路由器发送ARP消息,该消息中包括第一站点内VM的MAC地址和IP地址的映射关系;第一CE路由器向第一PE路由器转发该ARP消息;第一PE路由器从第一CE路由器接收上述ARP消息,根据该ARP消息获取第一站点内VM的MAC地址和IP地址的映射关系,第二PE路由器通过ARP消息从第二服务器获取第二站点内VM的MAC地址和IP地址的映射关系,第三PE路由器通过ARP消息从第三服务器获取第三站点内VM的MAC地址和IP地址的映射关系。在本发明实施例三中,仅以VM12从第一站点内的第一服务器迁移到第三站点内的第三服务器的过程为例,因此,在本步骤中,第一PE路由器通过ARP消息从第一服务器获取第一站点内VM的MAC地址和IP地址的映射关系。由于迁移前VM12位于第一站点内,所以第一PE路由器获取的第一站点内VM的MAC地址和IP地址的映射关系中,包括VM12的MAC地址和IP地址的映射关系。
在本步骤中,各个PE路由器在获取到各自对应的站点内的VM的MAC地址和IP地址的映射关系之后,还根据对应的站点内的VM的MAC地址和IP地址的映射关系,在自身存储MAC地址与IP地址的映射表。仍以第一PE路由器为例,表9为第一PE路由器的MAC地址和IP地址的映射表。第一PE路由器通过ARP消息从第一服务器获取第一站点内VM的MAC地址和IP地址的映射关系之后,将上述映射关系存储到表9中。其中,表9中包括第一服务器的VM12的MAC地址和IP地址的映射关系。
表9第一PE路由器的MAC地址和IP地址的映射表
IP地址 | MAC地址 |
VM11I P | VM11MAC |
VM12I P | VM12MAC |
… | … |
步骤402:第一PE路由器通过路由协议报文向第三PE路由器发送第一服务器的VM12的IP地址路由信息。
在本步骤中,各个PE路由器通过路由协议报文向其它PE路由器发送自身对应站点的VM的IP地址路由信息。具体地,第一PE路由器通过路由协议报文向第二PE路由器和第三PE路由器发送第一站点的VM的IP地址路由信息,第二PE路由器通过路由协议报文向第一PE路由器和第三PE路由器发送第二站点的VM的IP地址路由信息,第三PE路由器通过路由协议报文向第一PE路由器和第二PE路由器发送第三站点的VM的IP地址路由信息。在本发明实施例三中,仅以VM12从第一站点中的第一服务器迁移到第三站点中的第三服务器的过程为例,因此,在本步骤中,仅以第一PE路由器通过路由协议报文向第三PE路由器发送第一站点的VM的IP地址路由信息为例。其它PE路由器发送各自对应站点的VM的IP地址路由信息的具体过程可以参照第一PE路由器发送第一站点的VM的IP地址路由信息的过程实现,在此不再赘述。
具体地,第一PE路由器通过路由协议报文向第三PE路由器发送第一站点的VM的IP地址路由信息的具体过程包括:首先,第一PE路由器将第一站点内VM的IP地址与第一PE路由器的IP地址组成第一站点的IP地址路由信息。在本发明实施例三中,迁移前的VM12位于第一站点中的第一服务器中,属于第一站点内的VM,因此,第一PE路由器组成的第一站点的VM的IP地址路由信息中,包括第一服务器的VM12的IP地址路由信息。具体地,第一服务器的VM12的IP地址路由信息包括第一服务器的VM12的IP地址和第一PE路由器的IP地址。然后,第一PE路由器通过路由协议报文向第三PE路由器发送第一站点的VM的IP地址路由信息。通过发送第一站点的VM的IP地址路由信息,第一PE路由器将位于第一站点中第一服务器的VM12的IP地址路由信息发送给第三PE路由器。
在本步骤中,各个PE路由器通过路由协议报文向其它PE路由器发送自身对应站点的VM的IP地址路由信息之后,其它PE路由器根据获得的站点的VM的IP地址路由信息,在自身存储各自的IP路由表,并更新自身存储的MAC地址和IP地址的映射表。参见表10至表13,其中:表10为第三PE路由器的IP路由表;表11为第二PE路由器的IP路由表;表12为第一PE路由器的IP路由表;表13为第二PE路由器的MAC地址和IP地址的映射表。在上述各表中,“x”表示16进制数;“-”表示缺省。
具体地,在本发明实施例中,上述路由协议可以采用BGP协议。PE路由器之间的网络为PSN。如果分组交换网(PacketSwitchingNetwork,PSN)为MPLS网络,优选地,上述路由协议可以采用多协议扩展(Multiprotocol,简称MP)BGP协议,以便携带伪线(Pseudowire,简称PW)标签。
表10第三PE路由器的IP路由表
目的IP地址 | 下一跳地址 | PW标签 |
VM11 IP | =第一PE路由器 | x30001 |
VM12 IP | =第一PE路由器 | X30001 |
VM21 IP | 第二PE路由器 | X30002 |
VM31 IP | 本地 | - |
… | … |
表11第二PE路由器的IP路由表
目的IP地址 | 下一跳地址 | PW标签 |
VM11I P | 第一PE路由器 | x 20001 |
VM12I P | 第一PE路由器 | x 20001 |
VM21I P | 本地 | - |
VM31I P | 第三PE路由器 | x 20003 |
… | … |
表12第一PE路由器的IP路由表
目的IP地址 | 下一跳地址 | PW标签 |
VM11 IP | 本地 | - |
VM12 IP | 本地 | - |
VM21 IP | 第二PE路由器 | x10002 |
VM31 IP | 第三PE路由器 | x10003 |
… | … |
表13第二PE路由器的MAC地址和IP地址的映射表
IP地址 | MAC地址 |
VM11 IP | 第二PE路由器MAC |
VM12 IP | 第二PE路由器MAC |
VM21 IP | VM21MAC |
VM31 IP | 第二PE路由器MAC |
… | … |
步骤403:第三服务器通过ARP消息向第三服务器与第三PE路由器之间的节点发送第三服务器的VM12的MAC地址和IP地址。
在本步骤中,当第一服务器由于负荷过重或发生故障时,需要将第一服务器中的VM12迁移到第三服务器。首先,第三服务器启动一个VM,该VM的MAC地址和IP地址都与第一服务器的VM12的MAC地址和IP地址相同。在本发明实施例三中,第三服务器启动的该VM最终将代替第一服务器的VM12,该VM也被称为VM12。第三服务器的VM12的MAC地址和IP地址分别与第一服务器的VM12的MAC地址和IP地址相同。然后,第三服务器向第三服务器与第三PE路由器之间的节点发送ARP消息,该ARP消息中携带有第三服务器的VM12的MAC地址和IP地址。
步骤404:第三服务器与第三PE路由器之间的节点学习第三服务器的VM12的MAC地址并更新MAC地址转发表。
在本步骤中,在第三站点内广播上述步骤403中第三服务器发送的ARP消息,则第三站点内的所有节点,即第三服务器与第三PE路由器之间的所有节点,都将学习到第三服务器的VM12的MAC地址,并根据该MAC地址更新各自的MAC地址转发表。
步骤405:第三PE路由器通过ARP消息从第三服务器与第三PE路由器之间的节点获取第三服务器的VM12的MAC地址和IP地址。
在本步骤中,步骤403中第三服务器发送的携带有第三服务器的VM12的MAC地址和IP地址的ARP消息被第三PE路由器接收。
步骤406:第三PE路由器更新IP路由表并获得第三服务器的VM12的IP地址对应的下一跳地址。
在本步骤中,第三PE路由器根据获得的第三服务器的VM12的IP地址和MAC地址,更新第三PE路由器中存储的IP路由表。并且,步骤405中第三PE路由器获取的ARP消息触发第三PE路由器查IP路由表,获得第三服务器的VM12的IP地址对应的下一跳地址。在本发明实施例三中,第三服务器的VM12的IP地址对应的下一跳地址为第一PE路由器的IP地址。
步骤407:第三PE路由器通过路由协议报文向第一PE路由器和第二PE路由器发送更新的第三服务器的VM12的IP地址路由信息。
在本步骤中,首先,第三PE路由器将第三服务器的VM12的IP地址与第三PE路由器的IP地址,组成更新的第三服务器的VM12的IP地址路由信息。并且,第三PE路由器根据上述更新的第三服务器的VM12的IP地址路由信息更新自身存储的IP路由表。参见表14,表14为更新后的第三PE路由器的IP路由表。然后,以步骤405中获取到ARP消息的动作作为触发条件,第三PE路由器发起路由协议报文,通过路由协议报文将更新的第三服务器的VM12的IP地址路由信息发送给其它PE路由器节点,例如发送给第一PE路由器和第二PE路由器。具体地,上述路由协议可以采用BGP协议。在路由协议报文中,还可以携带一个设定的PW标签,该设定的PW标签用于指示该路由协议报文由第三PE路由器以外的其它PE路由器发送到第三PE路由器。例如,该设定的PW标签可以为:x54321。
表14更新后的第三PE路由器的IP路由表
目的IP地址 | 下一跳地址 | PW标签 |
VM11 IP | =第一PE路由器 | x30001 |
VM12 IP | =第三PE路由器(即本地) | - |
VM21 IP | 第二PE路由器 | x 30002 |
VM31 IP | 本地 | - |
… | … |
步骤408:第一PE路由器更新IP路由表。
在本步骤中,第一PE路由器接收到步骤407中的路由协议报文后,根据第三服务器的VM12的IP地址,查询第一PE路由器自身存储的IP路由表。由于第三服务器的VM12的IP地址与第一服务器的VM12的IP地址相同,经查询,第一PE路由器发现该表中已经存在由该VM12的IP地址和第一PE路由器的IP地址组成的第一服务器的VM12的IP地址路由信息。根据第三服务器的VM12的IP地址路由信息查询第一PE路由器自身存储的IP路由表,第一PE路由器获知该VM12由本地第一站点迁移到其它站点,则第一PE路由器根据步骤407的路由协议报文中携带的更新的第三服务器的VM12的IP地址路由信息更新IP路由表,将该表中的VM12的IP地址与第三PE路由器的IP地址组成新的IP地址路由信息。参见表15,表15为更新后的第二PE路由器的IP路由表。其中,由步骤407中的路由协议报文触发第一PE路由器对VM12的IP地址与步骤407中设定的PW标签进行绑定,参见表15,VM12的IP地址绑定的PW标签为x54321。
表15第二PE路由器的IP路由表
目的IP地址 | 下一跳地址 | PW标签 |
VM11 IP | 第一PE路由器 | x20001 |
VM12 IP | 第三PE路由器 | x54321 |
VM21 IP | 本地 | - |
VM31 IP | 第三PE路由器 | x20003 |
… | … |
并且,在步骤408中,第一PE路由器根据该路由协议报文获知该VM12由本地第一站点迁移到其它站点,则继续执行如下的步骤409,由第一PE路由器根据该路由协议报文触发ARP消息。
步骤409:第一PE路由器通过ARP消息向第一服务器与第一PE路由器之间的节点发送VM12的IP地址或发送VM12的IP地址和MAC地址。
在本步骤中,具体可以采用如下具体实施方式:第一PE路由器触发ARP消息,该ARP消息中携带着VM12的IP地址。第一PE路由器向第一站点中广播上述触发的ARP消息,用于通知第一站点中的节点释放属于第一服务器的VM12的相关资源,例如,计算资源或存储资源等。在第一站点中广播该ARP消息,则第一服务器与第一PE路由器之间的节点均会接收到该ARP消息。在上述过程中,第一PE路由器还可以先根据VM12的IP地址查询第一PE路由器自身存储的MAC地址和IP地址的映射表,得到VM12的MAC地址。然后,第一PE路由器触发ARP消息,该ARP消息中携带着VM12的IP地址和MAC地址。还ARP消息可以用于更新第一站点内各个节点的MAC地址转发表。在第一站点中广播该ARP消息,则第一服务器与第一PE路由器之间的节点均会接收到该ARP消息。
在本步骤中,在采用上述两种实施方式中的任何一种方式的情况下,上述方式中采用的ARP消息可以通过对现有的ARP消息的OP进行拓展来实现。具体扩展方法为:为ARP消息的OP赋予一个设定的值,通过该设定的值指示释放属于第一服务器的并且地址与ARP消息所携带的IP地址相同的VM的相关资源。其中,相关资源可以包括计算资源或存储资源等等。
步骤410:第一服务器与第一PE路由器之间的节点学习VM12的MAC地址并更新MAC地址转发表。
在本步骤中,第一站点内的所有节点重新学习VM12的MAC地址,并根据学习到的VM12的MAC地址更新各自的MAC地址转发表。
步骤411:第一服务器接收第一服务器与第一PE路由器之间的节点转发的ARP消息,获取VM12的IP地址,或获取VM12的IP地址和MAC地址。
步骤412:第一服务器释放第一服务器的VM12的相关资源。
在本步骤中,第一服务器在收到步骤409中第一PE路由器触发的ARP消息后,释放属于第一服务器的VM12的相关资源。其中,相关资源可以包括计算资源或存储资源等等。
在步骤407之后,还可以执行如下的步骤413。其中,步骤408至步骤412需按照上述顺序执行,步骤413可以在步骤408至步骤412之前、之后或同时执行。
步骤413:第二PE路由器更新IP路由表。
在本步骤中,第二PE路由器接收到步骤407中的路由协议报文后,根据第三服务器的VM12的IP地址,查询第二PE路由器自身存储的IP路由表。由于第三服务器的VM12的IP地址与第一服务器的VM12的IP地址相同,经查询,第二PE路由器发现该表中已经存在由该VM12的IP地址和第一PE路由器的IP地址组成的第一服务器的VM12的IP地址路由信息。根据上述查询结果,由于VM12的IP地址对应的不是第二PE路由器的本地地址,即对应的不是第二PE路由器的IP地址,第二PE路由器获知该VM12不是从本地第二站点迁移出去的。因此,第二PE路由器仅根据步骤407的路由协议报文中携带的更新的第三服务器的VM12的IP地址路由信息更新IP路由表,将该表中的VM12的IP地址与第三PE路由器的IP地址组成新的IP地址路由信息。参见表16,表16为更新后的第一PE路由器的IP路由表。其中,由步骤407中的路由协议报文触发第二PE路由器对VM12的IP地址与步骤407中设定的PW标签进行绑定,参见表16,VM12的IP地址绑定的PW标签为x54321。
并且,在步骤413中,由于第二PE路由器获知该VM12不是从本地第二站点迁移出去的,因此,在步骤413之后,第二PE路由器并不触发携带VM12的IP地址或携带VM12的IP地址和MAC地址的ARP消息。
表16第一PE路由器的IP路由表
在上述本发明实施例三的具体过程中,如果不存在第一服务器与第一控制节点之间的节点和第三服务器与第三控制节点之间的节点,则步骤403和404可以省略,由第三服务器通过ARP消息直接向第三PE路由器发送第三服务器的VM12的MAC地址和IP地址即可。
采用上述VM迁移方法,将VM12从第一站点中的第一服务器迁移到第三站点中的第三服务器。以第二站点的第二服务器中的VM21与该VM12通信为例。
在VM12迁移之前,VM12位于第一站点中的第一服务器,VM21与VM12的通信过程如下。
步骤4a:第二PE路由器获取来自VM21的IP报文。
在本步骤中,首先,VM21向第二PE路由器发出携带有VM12的IP地址的ARP消息,通过该消息向第二PE路由器请求VM12的MAC地址。然后,第二PE路由器作为ARP代理,查询第二PE路由器自身的MAC地址和IP地址的映射表,参见表13。根据第二PE路由器的MAC地址和IP地址的映射表,第二PE路由器将第二PE路由器的MAC地址作为VM12的MAC地址回复给VM21。然后,VM21向第二PE路由器发送IP报文,该IP报文的目的IP地址为VM12的IP地址。具体地,该IP报文被承载于ETH报文上发送给第二PE路由器,该ETH报文的目的MAC地址为第二PE路由器的MAC地址。
步骤4b:第二PE路由器将IP报文封装入通往第一PE路由器的MPLS隧道。
在本步骤中,第二PE路由器收到步骤4a中IP报文,该IP报文的目的IP地址为VM12的IP地址。第二PE路由器查询第二PE路由器自身的IP路由表,参见表11。根据VM12的IP地址,查询得到下一跳为第一PE路由器。则第二PE路由器将该IP报文添加PW头后,封装入通往第一PE路由器的MPLS隧道。具体地,该MPLS隧道的目的地址为第一PE路由器的IP地址,源地址为第二PE路由器的IP地址。
步骤4c:第一PE路由器获取承载于MPLS隧道的IP报文。
在本步骤中,第一PE路由器接收来自第二PE路由器的上述封装后的报文,去除MPLS隧道封装,得到IP报文。其中,得到的该IP报文的目的IP地址为VM12的IP地址。
步骤4d:第一PE路由器向第一服务器中的VM12发送IP报文。
在本步骤中,第一PE路由器根据得到的IP报文的目的IP地址为VM12的IP地址,查询第一PE路由器自身的IP路由表,参见表12。第一PE路由器查询得到下一跳为本地,则第一PE路由器在第一站点内发送该IP报文,该IP报文的目的IP地址为VM12的IP地址。位于第一站点内第一服务器中的VM12收到该IP报文。
上述步骤4a至步骤4d为VM12迁移之前的数据传递过程,在上述步骤407之前执行。在执行了上述步骤407至步骤409之后,VM12发生迁移。在VM12迁移之后,VM12位于第三站点中的第三服务器,此时VM21与VM12的通信过程如下。
在VM12迁移后,第一PE路由器的数据传输过程包括如下步骤4e至步骤4h。
步骤4e:第一PE路由器获取承载于MPLS隧道的IP报文。
在本步骤中,在第一PE路由器收到步骤407的路由协议报文后,如果该第一PE路由器还收到承载于以第一PE路由器的IP地址的MPLS隧道并且目的IP地址为VM12的IP地址的IP报文,则按照下述步骤执行。
步骤4f:第一PE路由器将IP报文封装入通往第三PE路由器的MPLS隧道。
在本步骤中,第一PE路由器根据VM12的IP地址查询第一PE路由器自身的IP路由表,参见表16,查询得到VM12的IP地址对应的下一跳地址为第三PE路由器的IP地址,并且查询得到设定的PW标签,即x54321。然后,第一PE路由器将目的IP地址为VM12的IP地址的IP报文添加与上述设定的PW标签相同的PW头后,封装入通往第三PE路由器的MPLS隧道,该MPLS隧道的目的地址为第三PE路由器的IP地址,源地址为第一PE路由器的IP地址。在第二PE路由器收到路由协议报文晚于第一PE路由器的情况下,通过执行本步骤,能够保证在VM12发生迁移之后,数据传输过程不丢包,保证数据传输的正确性。
步骤4g:第三PE路由器获取承载于MPLS隧道的IP报文。
在本步骤中,第三PE路由器接收来自第一PE路由器的上述封装后的报文,去除MPLS隧道封装,得到IP报文。其中,得到的IP报文的目的IP地址为VM12的IP地址。
步骤4h:第三PE路由器向第三服务器中的VM12发送IP报文。
在本步骤中,第三PE路由器根据得到的IP报文的目的IP地址为VM12的IP地址,查询第三PE路由器自身的IP路由表,参见表14。第三PE路由器查询得到下一跳为本地,则第三PE路由器在第三站点内发送该IP报文,该IP报文的目的IP地址为VM12的IP地址。位于第三站点内的第三服务器中的VM12收到该IP报文。
在VM12迁移后,第二PE路由器的数据传输过程包括如下步骤4i至步骤4k。步骤4i至步骤4k可以在步骤4e至步骤4h之前、之后或同时执行。
步骤4i:第二PE路由器将IP报文封装入通往第三PE路由器的MPLS隧道。
在本步骤中,在第二PE路由器收到步骤407的路由协议报文后,如果第二PE路由器收到来自自身站点的目的IP地址为VM12的IP地址的IP报文,则第二PE路由器根据VM12的IP地址查询第二PE路由器自身的IP路由表,参见表15。根据VM12的IP地址,查询得到VM12的IP地址对应的下一跳地址为第三PE路由器的IP地址,并且查询得到设定的PW标签,即x54321。。然后,第一PE路由器将该目的IP地址为VM12的IP地址的IP报文添加与上述设定的PW标签相同的PW头后,封装入通往第三PE路由器的MPLS隧道,该MPLS隧道的目的地址为第三PE路由器的IP地址,源地址为第一PE路由器的IP地址。采用本步骤,第二PE路由器直接将待发送给VM12的IP报文转发给第三PE路由器。
步骤4j:第三PE路由器获取承载于MPLS隧道的IP报文。
在本步骤中,第三PE路由器接收来自第二PE路由器的上述封装后的报文,去除MPLS隧道封装,得到IP报文。其中,得到的IP报文的目的IP地址为VM12的IP地址。
步骤4k:第三PE路由器向第三服务器中的VM12发送IP报文。
本步骤与上述步骤4h相同,在此不再赘述。
在本发明实施例的上述技术方案中,以基于MPLS的DC互联网络为例,其中,各个PE路由器节点之间将以太网帧承载到DC互联网络的MPLS隧道上进行传输,参见步骤407。一种更加优化的技术方案是,各个PE路由器节点之间将IP报文直接承载在DC互联网络的IP隧道之上,该优化的技术方案能够进一步降低MAC表项数量。
在本发明实施例三中,在VM迁移控制过程中,在PE路由器设置ARP代理功能,因此减少了站点出口节点和站点内部的交换机的MAC表项数量。并且,站点内的交互过程采用ARP协议,站点间的交互过程采用路由协议。因此,各个PE路由器与该PE路由器自身所在的站点内的其它节点进行交互时,采用ARP协议;作为源PE路由器的第一PE路由器与作为目标PE路由器的第三PE路由器进行交互时,采用路由协议;由第一PE路由器与第三PE路由器完成ARP消息与路由协议报文之间的相互触发和转化。从而将ARP协议的报文限制在各个站点内部,避免了将ARP协议发到DC互联网络中。因为一个ARP消息只能针对一个地址,而一个路由协议报文可以包括多个地址,因此,通过在DC互联网络中采用路由协议报文替代ARP消息,避免了在DC互联网络中广播ARP消息带来的广播风暴,从而节省了控制信令占用的带宽。
在上述本发明实施例二和本发明实施例三的技术方案的基础上,具体地,上述两个实施例中的PE路由器可以设置在服务器上,CE路由器可以设置在该服务器的VM上,即,采用服务器作为PE路由器,采用服务器上的VM作为CE路由器。采用上述设置,服务器作为PE路由器将直接支持路由协议(如BGP)。虚拟机迁移的具体过程与上述本发明实施例二和本发明实施例三中的过程相同,只是本发明实施例二和本发明实施例三中的PE路由器进行的操作由服务器完成,CE路由器进行的操作由服务器上的VM完成,具体地,由于CE路由器设置在服务器的VM上,因此不存在服务器与CE路由器之间的节点,上述本发明实施例二或实施例三的具体过程中不包括步骤303、步骤304、步骤403和步骤404,由第三服务器通过ARP消息直接向第三CE路由器或第三PE路由器发送第三服务器的VM12的MAC地址和IP地址即可。采用此种设置,PE路由器不属于PE路由器之间的运营商网络,因此站点对PE路由器之间的运营商网络彻底透明,即PE路由器之间的运营商网络边缘不必获知站点内部的MAC地址路由。
图5为本发明实施例四的虚拟机迁移系统的结构示意图。如图5所示,该系统中至少包括:目标服务器51、目标控制节点52、源控制节点53和源服务器54。
其中,目标服务器51用于启动待迁移VM并通过第一ARP消息向目标控制节点52发送待迁移VM的MAC地址和IP地址。
目标控制节点52用于根据第一ARP消息更新IP路由表,通过第一路由协议报文向源控制节点53发送更新后待迁移VM的IP地址路由信息,更新后待迁移VM的IP地址路由信息包括待迁移VM的IP地址和目标控制节点52的IP地址。
源控制节点53用于根据第一路由协议报文中的所述待迁移VM的IP地址和目标控制节点52的IP地址更新IP路由表,通过第二ARP消息向源服务器54发送待迁移VM的IP地址或IP地址和MAC地址;
源服务器54用于根据第二ARP消息释放待迁移VM的相关资源。
在上述技术方案的基础上,源控制节点53还用于通过第三ARP消息从源服务器54获取待迁移VM的MAC地址和IP地址的映射关系,通过第二路由协议报文向目标控制节点52发送待迁移VM的IP地址路由信息,IP地址路由信息包括待迁移VM的IP地址和源控制节点53的IP地址。
在上述技术方案的基础上,该系统还包括:目标服务器与目标控制节点之间的节点55、源服务器与源控制节点之间的节点56。其中,目标服务器51具体用于通过第一ARP消息向目标服务器与目标控制节点之间的节点55发送待迁移VM的MAC地址和IP地址。目标服务器与目标控制节点之间的节点55具体用于学习待迁移VM的MAC地址和IP地址并更新MAC地址转发表,向目标控制节点52转发第一ARP消息。源控制节点53具体用于通过第二ARP消息向源服务器与源控制节点之间的节点56发送待迁移VM的IP地址或IP地址和MAC地址。源服务器与源控制节点之间的节点56具体用于学习待迁移VM的MAC地址并更新MAC地址转发表,向源服务器54转发第二ARP消息。
在上述技术方案的基础上,该系统还包括:其它控制节点57。其中,目标控制节点52还用于在根据第一ARP消息更新IP路由表之后,通过第一路由协议报文向其它控制节点57发送更新后待迁移VM的IP地址路由信息。其它控制节点57用于根据第一路由协议报文中的待迁移VM的IP地址和目标控制节点52的IP地址更新IP路由表。
在上述技术方案的基础上,源控制节点53或其它控制节点57还用于在接收来自目标控制节点52的第一路由协议报文之后,当获取到报文目的IP地址为待迁移VM的IP地址的IP报文时,向目标控制节点52发送IP报文。目标控制节点52还用于向目标服务器51发送IP报文。
在上述技术方案的基础上,上述目标控制节点52、源控制节点53、其它控制节点57均为CE路由器。源控制节点53或其它控制节点57具体用于将IP报文封装入通往目标CE路由器的IP隧道发送给目标CE路由器。
或者,在上述技术方案的基础上,目标控制节点52、源控制节点53、其它控制节点57均为PE路由器。第一路由协议报文中还包括:PW标签。源控制节点53还用于绑定待迁移VM的IP地址和PW标签。源控制节点53或其它控制节点57具体用于为IP报文添加与PW标签相同的PW头后,封装入通往目标PE路由器的MPLS隧道发送给目标PE路由器。
在本发明实施例四中,在VM迁移系统中,在各个站点内的交互过程采用ARP协议,各站点之间的交互过程采用路由协议,由目标控制节点52和源控制节点53对完成ARP消息与路由协议报文之间的相互触发和转化。从而将ARP协议的报文限制在各个站点内部,避免了将ARP协议发到各个站点之间的DC互联网络中。通过在DC互联网络中采用路由协议报文替代ARP消息,避免了在DC互联网络中广播ARP消息带来的广播风暴,从而节省了控制信令占用的带宽。
图6为本发明实施例五的目标控制节点52的结构示意图。如图6所示,该目标控制节点52中至少包括:ARP模块521、处理模块522、路由协议模块523。
其中,ARP模块521用于通过第一ARP消息从目标服务器51获取待迁移VM的MAC地址和IP地址。处理模块522用于根据第一ARP消息更新IP路由表。路由协议模块523用于通过第一路由协议报文向源控制节点53发送更新后待迁移VM的IP地址路由信息,更新后待迁移VM的IP地址路由信息包括待迁移VM的IP地址和目标控制节点52的IP地址。
在上述技术方案的基础上,ARP模块521具体用于从目标服务器51与目标控制节点52之间的节点获取转发自目标服务器51的第一ARP消息。
在上述技术方案的基础上,路由协议模块523还用于通过第一路由协议报文向其它控制节点57发送更新后待迁移VM的IP地址路由信息,更新后待迁移VM的IP地址路由信息包括待迁移VM的IP地址和目标控制节点52的IP地址,以使其它控制节点57根据第一路由协议报文中的待迁移VM的IP地址和目标控制节点52的IP地址更新IP路由表。
在上述技术方案的基础上,目标控制节点52、源控制节点53和其它控制节点57均为CE路由器。
或者,在上述技术方案的基础上,目标控制节点52、源控制节点53和其它控制节点57均为PE路由器。第一路由协议报文中还包括:PW标签。
在本发明实施例五中,目标控制节点52对ARP消息与路由协议报文进行相互触发和转化,以在目标控制节点52对应的在站点内的交互过程采用ARP协议,在各个站点之间的交互过程采用路由协议,从而将ARP协议的报文限制在各个站点内部,避免了将ARP协议发到各个站点之间的DC互联网络中。通过在DC互联网络中采用路由协议报文替代ARP消息,避免了在DC互联网络中广播ARP消息带来的广播风暴,从而节省了控制信令占用的带宽。
图7为本发明实施例六的源控制节点53的结构示意图。如图7所示,该源控制节点53中至少包括:路由协议模块531、处理模块532、ARP模块533。
其中,路由协议模块531用于通过第一路由协议报文从目标控制节点52获取更新后待迁移VM的IP地址路由信息,更新后待迁移VM的IP地址路由信息包括待迁移VM的IP地址和目标控制节点52的IP地址。
处理模块532用于根据第一路由协议报文中的待迁移VM的IP地址和目标控制节点52的IP地址更新IP路由表。
ARP模块533用于通过第二ARP消息向源服务器54发送待迁移VM的IP地址或IP地址和MAC地址,以使源服务器54释放待迁移VM的相关资源。
在上述技术方案的基础上,ARP模块533具体用于通过第二ARP消息向源服务器54与源控制节点53之间的节点发送待迁移VM的IP地址或IP地址和MAC地址,以使源服务器54与源控制节点53之间的节点向源服务器54转发第二ARP消息。
在上述技术方案的基础上,ARP模块533具体用于向源站点中广播第二ARP消息,第二ARP消息中包括待迁移VM的IP地址。或者,ARP模块533具体用于根据待迁移VM的IP地址查询存储的MAC地址和IP地址的映射表,获取待迁移VM的MAC地址,向源站点中广播第二ARP消息,第二ARP消息中包括待迁移VM的IP地址和MAC地址。
在上述技术方案的基础上,该节点中还包括:IP报文模块。IP报文模块用于在通过第一路由协议报文从目标控制节点52获取更新后待迁移VM的IP地址路由信息之后,当获取到报文目的IP地址为上述待迁移VM的IP地址的IP报文时,向目标控制节点52发送IP报文,以使目标控制节点52向目标服务器51发送IP报文。
在上述技术方案的基础上,源控制节点53和目标控制节点52均为CE路由器。IP报文模块具体用于将IP报文封装入通往目标CE路由器的IP隧道发送给目标CE路由器。
或者,在上述技术方案的基础上,源控制节点53和目标控制节点52均为PE路由器。第一路由协议报文中还包括:PW标签。处理模块532还用于绑定待迁移VM的IP地址和PW标签。IP报文模块具体用于为IP报文添加与PW标签相同的PW头后,封装入通往目标PE路由器的MPLS隧道发送给目标PE路由器。
在本发明实施例六中,源控制节点53对ARP消息与路由协议报文进行相互触发和转化,以在源控制节点53对应的站点内的交互过程采用ARP协议,在各个站点之间的交互过程采用路由协议,从而将ARP协议的报文限制在各个站点内部,避免了将ARP协议发到各个站点之间的DC互联网络中。通过在DC互联网络中采用路由协议报文替代ARP消息,避免了在DC互联网络中广播ARP消息带来的广播风暴,从而节省了控制信令占用的带宽。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种虚拟机VM迁移方法,其特征在于,包括:
目标服务器启动待迁移VM并通过第一地址解析协议ARP消息向目标控制节点发送所述待迁移VM的媒体访问控制MAC地址和网际协议IP地址;
所述目标控制节点根据所述第一ARP消息更新IP路由表,通过第一路由协议报文向源控制节点发送更新后待迁移VM的IP地址路由信息,所述更新后待迁移VM的IP地址路由信息包括所述待迁移VM的IP地址和所述目标控制节点的IP地址;
所述源控制节点根据所述第一路由协议报文中的所述待迁移VM的IP地址和所述目标控制节点的IP地址更新IP路由表,通过第二ARP消息向源服务器发送待迁移VM的IP地址或IP地址和MAC地址。
2.根据权利要求1所述的方法,其特征在于,所述通过第二ARP消息向源服务器发送待迁移VM的IP地址或IP地址和MAC地址之后还包括:
所述源服务器根据所述第二ARP消息释放所述待迁移VM的相关资源。
3.根据权利要求1所述的方法,其特征在于,所述目标服务器启动待迁移VM并通过第一ARP消息向目标控制节点发送所述待迁移VM的MAC地址和IP地址之前还包括:
所述源控制节点通过第三ARP消息从源服务器获取所述待迁移VM的MAC地址和IP地址的映射关系;
源控制节点通过第二路由协议报文向目标控制节点发送所述待迁移VM的IP地址路由信息,所述IP地址路由信息包括所述待迁移VM的IP地址和所述源控制节点的IP地址。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,
所述通过第一ARP消息向目标控制节点发送所述待迁移VM的MAC地址和IP地址包括:目标服务器通过所述第一ARP消息向目标服务器与目标控制节点之间的节点发送所述待迁移VM的MAC地址和IP地址;所述目标服务器与目标控制节点之间的节点学习所述待迁移VM的MAC地址和IP地址并更新MAC地址转发表;所述目标服务器与目标控制节点之间的节点向所述目标控制节点转发所述第一ARP消息,以使所述目标控制节点获取所述待迁移VM的MAC地址和IP地址;
所述通过第二ARP消息向源服务器发送待迁移VM的IP地址或IP地址和MAC地址,包括:源控制节点通过所述第二ARP消息向源服务器与源控制节点之间的节点发送所述待迁移VM的IP地址或IP地址和MAC地址;所述源服务器与源控制节点之间的节点学习所述待迁移VM的MAC地址并更新MAC地址转发表;所述源服务器与源控制节点之间的节点向所述源服务器转发所述第二ARP消息,以使所述源服务器获取所述待迁移VM的IP地址或IP地址和MAC地址。
5.根据权利要求4所述的方法,其特征在于,所述源控制节点通过所述第二ARP消息向源服务器与源控制节点之间的节点发送所述待迁移VM的IP地址或IP地址和MAC地址包括:
所述源控制节点向源站点中广播所述第二ARP消息,所述第二ARP消息中包括所述待迁移VM的IP地址;
或,所述源控制节点根据所述待迁移VM的IP地址查询MAC地址和IP地址的映射表,获取所述待迁移VM的MAC地址,向源站点中广播所述第二ARP消息,所述第二ARP消息中包括所述待迁移VM的IP地址和MAC地址。
6.根据权利要求5所述的方法,其特征在于,所述目标控制节点根据所述第一ARP消息更新IP路由表之后还包括:
所述目标控制节点通过所述第一路由协议报文向其它控制节点发送所述更新后待迁移VM的IP地址路由信息;
所述其它控制节点根据所述第一路由协议报文中的所述待迁移VM的IP地址和所述目标控制节点的IP地址更新IP路由表。
7.根据权利要求6所述的方法,其特征在于,
所述控制节点为用户边缘CE路由器;所述源控制节点或所述其它控制节点向所述目标控制节点发送所述IP报文包括:源CE路由器或其它CE路由器将所述IP报文封装入通往目标CE路由器的IP隧道发送给目标CE路由器;
或,所述控制节点为运营商边缘PE路由器;所述第一路由协议报文中还包括:伪线PW标签;所述源控制节点根据所述第一路由协议报文中的所述待迁移VM的IP地址和所述目标控制节点的IP地址更新IP路由表还包括:源PE路由器绑定所述待迁移VM的IP地址和所述PW标签;所述源控制节点或所述其它控制节点向所述目标控制节点发送所述IP报文包括:源PE路由器为所述IP报文添加与所述PW标签相同的PW头后,封装入通往目标PE路由器的多协议标记交换MPLS隧道发送给目标PE路由器。
8.一种虚拟机VM迁移系统,其特征在于,包括:
目标服务器,用于启动待迁移VM并通过第一地址解析协议ARP消息向目标控制节点发送所述待迁移VM的媒体访问控制MAC地址和网际协议IP地址;
目标控制节点,用于根据所述第一ARP消息更新IP路由表,通过第一路由协议报文向源控制节点发送更新后待迁移VM的IP地址路由信息,所述更新后待迁移VM的IP地址路由信息包括所述待迁移VM的IP地址和所述目标控制节点的IP地址;
源控制节点,用于根据所述第一路由协议报文中的所述待迁移VM的IP地址和所述目标控制节点的IP地址更新IP路由表,通过第二ARP消息向源服务器发送待迁移VM的IP地址或IP地址和MAC地址;
源服务器,用于从所述源控制节点接收所述第二ARP消息。
9.根据权利要求8所述的系统,其特征在于,
所述源服务器还用于根据所述第二ARP消息释放所述待迁移VM的相关资源。
10.根据权利要求8所述的系统,其特征在于,
所述源控制节点还用于通过第三ARP消息从所述源服务器获取所述待迁移VM的MAC地址和IP地址的映射关系,通过第二路由协议报文向所述目标控制节点发送所述待迁移VM的IP地址路由信息,所述IP地址路由信息包括所述待迁移VM的IP地址和所述源控制节点的IP地址。
11.根据权利要求8所述的系统,其特征在于,还包括:目标服务器与目标控制节点之间的节点和源服务器与源控制节点之间的节点;
所述目标服务器具体用于通过所述第一ARP消息向所述目标服务器与目标控制节点之间的节点发送所述待迁移VM的MAC地址和IP地址;
所述目标服务器与目标控制节点之间的节点具体用于学习所述待迁移VM的MAC地址和IP地址并更新MAC地址转发表,向所述目标控制节点转发所述第一ARP消息;
所述源控制节点具体用于通过所述第二ARP消息向源服务器与源控制节点之间的节点发送所述待迁移VM的IP地址或IP地址和MAC地址;
所述源服务器与源控制节点之间的节点具体用于学习所述待迁移VM的MAC地址并更新MAC地址转发表,向所述源服务器转发所述第二ARP消息。
12.根据权利要求8至11中任意一项所述的系统,其特征在于,还包括:其它控制节点;
所述目标控制节点还用于在根据所述第一ARP消息更新IP路由表之后,通过所述第一路由协议报文向所述其它控制节点发送所述更新后待迁移VM的IP地址路由信息;
所述其它控制节点用于根据所述第一路由协议报文中的所述待迁移VM的IP地址和所述目标控制节点的IP地址更新IP路由表。
13.根据权利要求12所述的系统,其特征在于,
所述源控制节点或所述其它控制节点还用于在接收来自所述目标控制节点的第一路由协议报文之后,当获取到报文目的IP地址为所述待迁移VM的IP地址的IP报文时,向所述目标控制节点发送所述IP报文;
所述目标控制节点还用于向所述目标服务器发送所述IP报文。
14.根据权利要求13所述的系统,其特征在于,
所述目标控制节点、所述源控制节点、所述其它控制节点均为CE路由器;所述源控制节点或所述其它控制节点具体用于将所述IP报文封装入通往目标CE路由器的IP隧道发送给目标CE路由器;
或,所述目标控制节点、所述源控制节点、所述其它控制节点均为PE路由器;所述第一路由协议报文中还包括:伪线PW标签;所述源控制节点还用于绑定所述待迁移VM的IP地址和所述PW标签;所述源控制节点或所述其它控制节点具体用于为所述IP报文添加与所述PW标签相同的PW头后,封装入通往目标PE路由器的多协议标记交换MPLS隧道发送给目标PE路由器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/078397 WO2012119390A1 (zh) | 2011-08-15 | 2011-08-15 | 虚拟机迁移通知方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103430149A CN103430149A (zh) | 2013-12-04 |
CN103430149B true CN103430149B (zh) | 2016-03-30 |
Family
ID=46797445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180001418.9A Active CN103430149B (zh) | 2011-08-15 | 2011-08-15 | 虚拟机迁移通知方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103430149B (zh) |
WO (1) | WO2012119390A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052666B (zh) | 2013-03-14 | 2018-05-11 | 新华三技术有限公司 | 实现主机路由可达的方法和装置 |
CN105208048A (zh) * | 2014-05-30 | 2015-12-30 | 株式会社日立制作所 | 全局迁移管理器、网关、虚拟机迁移系统及其方法 |
CN107306223B (zh) * | 2016-04-21 | 2020-08-14 | 华为技术有限公司 | 数据传输系统、方法及装置 |
CN112486626A (zh) * | 2016-08-30 | 2021-03-12 | 华为技术有限公司 | 一种确定虚拟机迁移的方法和装置 |
CN106998297B (zh) * | 2017-03-22 | 2019-11-08 | 新华三技术有限公司 | 一种虚拟机迁移方法和装置 |
US10977064B2 (en) | 2017-08-23 | 2021-04-13 | Red Hat, Inc. | Live virtual machine migration |
US10838752B2 (en) | 2017-08-28 | 2020-11-17 | Red Hat Israel, Ltd. | Network notification loss detection for virtual machine migration |
US10628198B2 (en) | 2017-08-30 | 2020-04-21 | Red Hat Israel Ltd. | Hypervisor management of migration notification and response messages for virtual machines |
US11070629B2 (en) | 2017-08-30 | 2021-07-20 | Red Hat Israel, Ltd | Migration notification and response messages for virtual machines |
US10965641B2 (en) | 2017-12-07 | 2021-03-30 | Red Hat, Inc. | Live virtual machine migration utilizing network address pools |
US10693801B2 (en) | 2018-02-20 | 2020-06-23 | Red Hat, Inc. | Packet drop reduction in virtual machine migration |
CN109981493B (zh) * | 2019-04-09 | 2020-05-01 | 苏州浪潮智能科技有限公司 | 一种用于配置虚拟机网络的方法和装置 |
CN111988223B (zh) * | 2020-08-19 | 2022-04-08 | 杭州迪普科技股份有限公司 | 虚拟机迁移方法与网络系统 |
CN113612782B (zh) * | 2021-08-06 | 2023-02-17 | 中国联合网络通信集团有限公司 | 虚拟机迁移验证方法及装置 |
CN115297055B (zh) * | 2022-07-25 | 2024-01-23 | 紫光云技术有限公司 | 一种公有云云主机迁移arp表项更新方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764752A (zh) * | 2009-12-25 | 2010-06-30 | 杭州华三通信技术有限公司 | 远程集中镜像管理的方法和系统 |
CN102137001A (zh) * | 2010-11-29 | 2011-07-27 | 华为技术有限公司 | 交换路由信息的方法、设备和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189432A1 (en) * | 2007-02-02 | 2008-08-07 | International Business Machines Corporation | Method and system for vm migration in an infiniband network |
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 |
CN101876883B (zh) * | 2009-11-30 | 2012-02-01 | 英业达股份有限公司 | 保持虚拟机器的远程操作不中断的方法 |
-
2011
- 2011-08-15 CN CN201180001418.9A patent/CN103430149B/zh active Active
- 2011-08-15 WO PCT/CN2011/078397 patent/WO2012119390A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764752A (zh) * | 2009-12-25 | 2010-06-30 | 杭州华三通信技术有限公司 | 远程集中镜像管理的方法和系统 |
CN102137001A (zh) * | 2010-11-29 | 2011-07-27 | 华为技术有限公司 | 交换路由信息的方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103430149A (zh) | 2013-12-04 |
WO2012119390A1 (zh) | 2012-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103430149B (zh) | 虚拟机迁移通知方法和系统 | |
US10476796B2 (en) | Packet processing method, and device and system | |
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
US20170163530A1 (en) | Signaling aliasing capability in data centers | |
US9461943B2 (en) | Network assisted virtual machine mobility | |
CN105763512B (zh) | Sdn虚拟化网络的通信方法和装置 | |
CN102710509B (zh) | 一种数据中心自动配置方法及其设备 | |
US10536370B2 (en) | Method and system to avoid temporary traffic loss with BGP ethernet VPN multi-homing with data-plane MAC address learning | |
CN102457586B (zh) | 一种实现二层网络的扩展方法及扩展的二层网络 | |
US10715419B1 (en) | Software defined networking between virtualized entities of a data center and external entities | |
JP4995891B2 (ja) | Macブリッジを用いたマルチホップメッシュネットワークの接続 | |
CN105264493A (zh) | 信息中心网络上的动态虚拟机迁移 | |
US20150103841A1 (en) | Intelligent Host Route Distribution for Low Latency Forwarding and Ubiquitous Virtual Machine Mobility in Interconnected Data Centers | |
EP3110087B1 (en) | Processing method and related device for host route in virtual sub-network, and communication system | |
CN103841028A (zh) | 一种报文转发方法及设备 | |
WO2016066119A1 (en) | Deployment of virtual extensible local area network | |
CN105791457A (zh) | 一种数据处理方法及装置 | |
US11336485B2 (en) | Hitless linkup of ethernet segment | |
US10313224B2 (en) | Seamless host mobility | |
CN106572021B (zh) | 一种实现网络虚拟化叠加的方法与网络虚拟化边缘节点 | |
CN103634214B (zh) | 一种路由信息生成方法及装置 | |
CN106331206A (zh) | 域名管理方法及装置 | |
CN105635190A (zh) | 数据中心网络中的服务执行方法及装置 | |
CN112822104A (zh) | 一种数据报文的处理方法、设备、存储介质及系统 | |
EP3018866A1 (en) | Signaling aliasing capability in data centers |
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 |