CN113703921A - 虚拟机迁移方法、装置及交换机 - Google Patents
虚拟机迁移方法、装置及交换机 Download PDFInfo
- Publication number
- CN113703921A CN113703921A CN202111005654.XA CN202111005654A CN113703921A CN 113703921 A CN113703921 A CN 113703921A CN 202111005654 A CN202111005654 A CN 202111005654A CN 113703921 A CN113703921 A CN 113703921A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- mac address
- migration
- vtep
- migrating
- 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.)
- Pending
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
-
- 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
Abstract
本发明公开了一种虚拟机迁移方法、装置及交换机。该虚拟机迁移方法包括:接收迁入VTEP发送的迁移报文;其中,迁移报文包括第一虚拟机的MAC地址;基于第一虚拟机的MAC地址查找本地MAC地址表;在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。该方法可以避免虚拟机迁移而导致报文转发错误和业务流量中断。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种虚拟机迁移方法、装置及交换机。
背景技术
可扩展虚拟局域网络(Virtual Extensible Local Area Network,VXLAN)是基于网际互连协议(Internet Protocol,IP)网络、采用“媒体存取控制位址(Media AccessControl Address,MAC)in用户数据报协议(User Datagram Protocol,UDP)”封装形式的二层虚拟专用网络(Virtual Private Network,VPN)技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。
虚拟机迁移是指将虚拟机(Virtual Machine,VM)从其接入的VXLAN隧道端点(VXLAN Tunnel End Point,VTEP)或交换设备迁移到数据中心网络中的另一个VTEP或交换设备,以此来提高虚拟机的可靠性。如果第一虚拟机VM1通过交换机上联到第一VXLAN隧道端点VTEP1,当第一虚拟机VM1从第一VXLAN隧道端点VTEP1迁移到第二VXLAN隧道端点VTEP2,在第一虚拟机VM1迁移之后,第一VXLAN隧道端点VTEP1上的转发表可以根据接收到的来自于第二VXLAN隧道端点VTEP2的迁移报文进行更新,即第一VXLAN隧道端点VTEP1上的转发表中用于与第一虚拟机VM1进行通信交互的出端口由端口更新为隧道。但是,第一虚拟机VM1迁移前所连接的交换机无法感知第一虚拟机VM1已经发生迁移,交换机的转发表中用于与第一虚拟机VM1进行通信交互的出端口仍然为原来的端口。当该交换机下的第二虚拟机VM2向第一虚拟机VM1转发的流量经过交换机时仍然将会通过原端口转发,造成报文转发错误和业务流量中断。
发明内容
为此,本发明提供一种虚拟机迁移方法、装置及交换机,以解决现有技术中由于交换机无法获知虚拟机迁移而导致报文转发错误和业务流量中断的问题。
为了实现上述目的,本发明第一方面提供一种虚拟机迁移方法,包括:
接收迁入VTEP发送的迁移报文;其中,所述迁移报文包括第一虚拟机的MAC地址;
基于所述第一虚拟机的MAC地址查找本地MAC地址表项;
在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP,同时向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口。
本发明第二方面,提供一种虚拟机迁移方法,包括:
在第一虚拟机完成迁移的情况下,向迁出VTEP发送迁移报文,以供所述迁出VTEP基于第一虚拟机的MAC地址查找本地MAC地址表项;并在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口;
其中,所述迁移报文包括所述第一虚拟机的MAC地址。
本发明第三方面,提供一种虚拟机迁移方法,包括:
接收迁出VTEP发送的ARP请求;其中,所述ARP请求是所述迁出VTEP收到迁入VTEP发送的迁移报文,并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下发出的请求;而且,所述迁出VTEP在发送所述ARP请求的同时将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP;其中,所述迁移报文包括第一虚拟机的MAC地址;
基于所述ARP请求更新第一虚拟机的MAC地址的出口端。
本发明第四方面,提供一种虚拟机迁移装置,包括:
接收模块,用于接收迁入VTEP发送的迁移报文;其中,所述迁移报文包括第一虚拟机的MAC地址;
查找模块,用于基于所述第一虚拟机的MAC地址查找本地MAC地址表项;
修改模块,用于在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP;
发送模块,用于在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口。
本发明第五方面,提供一种虚拟机迁移装置,包括:
发送模块,用于在第一虚拟机完成迁移的情况下,向迁出VTEP发送迁移报文,以供所述迁出VTEP基于第一虚拟机的MAC地址查找本地MAC地址表项;并在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口;
其中,所述迁移报文包括所述第一虚拟机的MAC地址。
本发明第六方面,提供一种交换机,包括:
接收模块,用于接收迁出VTEP发送的ARP请求;其中,所述ARP请求是所述迁出VTEP收到迁入VTEP发送的迁移报文,并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下发出的请求;而且,所述迁出VTEP在发送所述ARP请求的同时将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP;其中,所述迁移报文包括第一虚拟机的MAC地址;
更新模块,用于基于所述ARP请求更新第一虚拟机的MAC地址的出口端。
本发明具有如下优点:
本发明提供的虚拟机迁移方法,在第一虚拟机发生迁移后,接收迁入VTEP发送的迁移报文;基于所述第一虚拟机的MAC地址查找本地MAC地址表项;并在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP,同时向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口。当迁出VTEP收到发往第一虚拟机的报文时,迁出VTEP根据MAC地址表项将报文发送给迁入VTEP,迁入VTEP接收到报文后发送给第一虚拟机,从而避免虚拟机迁移而导致报文转发错误和业务流量中断。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。
图1为本发明实施例的应用场景图;
图2为本发明实施例提供的一种虚拟机迁移方法的流程图;
图3为本发明实施例提供的另一种虚拟机迁移方法的流程图;
图4为本发明实施例提供的一种虚拟机迁移方法的流程图;
图5为本发明实施例提供的一种虚拟机迁移方法的流程图;
图6为本发明实施例提供的一种虚拟机迁移方法的流程图;
图7为本发明实施例提供的虚拟机迁移装置的原理框图;
图8为本发明实施例提供的虚拟机迁移装置的原理框图;
图9为本发明实施例提供的一种交换机的原理框图;
图10为本发明提供的虚拟机迁移及迁移后的通信流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如本发明所使用的,术语“和/或”包括一个或多个相关列举条目的任何和全部组合。
本发明所使用的术语仅用于描述特定实施例,且不意欲限制本发明。如本发明所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。
当本发明中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本发明所用的全部术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本发明的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本发明明确如此限定。
本发明实施例提供的虚拟机迁移方法及装置是基于可扩展虚拟局域网络(Virtual Extensible Local Area Network,VXLAN),VXLAN是基于网际互连协议(Internet Protocol,IP)网络、采用“MAC in UDP”封装形式的二层VPN(Virtual PrivateNetwork,虚拟专用网络)技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。VXLAN具有如下特点:
第一,支持大量的租户。VXLAN使用24位的标识符,最多可支持2的24次方(16777216)个VXLAN,支持的租户数目大规模增加,可以解决传统二层网络VLAN资源不足的问题。
第二,易于维护。由于VXLAN是基于IP网络组建的大二层网络,使得网络部署和维护更加容易,并且可以充分地利用现有的IP网络技术,例如利用等价路由进行负载分担等;只有IP核心网络的边缘设备需要进行VXLAN处理,网络中间设备只需根据IP头转发报文,降低了网络部署的难度和费用。
VXLAN技术可将已有的三层物理网络作为底层(Underlay)网络,在其上构建出虚拟的二层网络,即叠加(Overlay)网络。Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现租户二层报文跨越三层网络在不同站点间传递。对于租户来说,Underlay网络是透明的,同一租户的不同站点就像工作在一个局域网中。
本申请实施例中涉及的VXLAN网络可以包括如下部分:
虚拟机(Virtual Machine,VM),在一台服务器上可以创建多台虚拟机,不同的虚拟机可以属于不同的VXLAN。对于属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层网络互通。对于属于不同VXLAN的虚拟机之间二层网络隔离。VXLAN通过VXLAN标识号(Identification,ID)来标识,VXLAN ID又称VXLAN网络标识符(VXLAN NetworkIdentifier,VNI),其长度为24比特。
VXLAN隧道端点(VXLAN Tunnel End Point,VTEP),其属于VXLAN的边缘设备。VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。VTEP可以是一台独立的物理设备,也可以是虚拟机所在的服务器。
VXLAN隧道,是两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头和IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。
核心设备,IP核心网络中的设备。核心设备不参与VXLAN处理,仅需要根据封装后报文的目的IP地址对报文进行三层转发。
虚拟交换实例(Virtual Switch Instance,VSI),VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看做是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机,具有传统以太网交换机的所有功能,如源MAC地址学习、MAC地址老化、泛洪等。另外,VSI与VXLAN存在一一对应关系。
接入电路(Attachment Circuit,AC),VTEP连接本地站点的物理电路或虚拟电路。在VTEP上,与VSI关联的三层接口或以太网服务实例(service instance)称为AC。其中,以太网服务实例在二层以太网接口上创建,它定义了一系列匹配规则,用来匹配从该二层以太网接口上接收到的数据帧。一个二层物理接口下面配置服务实例AC。
在一些实施例中,VXLAN可以应用于数据中心网络。
图1为本发明实施例的应用场景图。如图1所示,本发明实施例的应用场景涉及至少两个VXLAN隧道端点(VXLAN Tunnel End Point,VTEP)和两个虚拟机,即迁出VTEP11、迁入VTEP12、第一虚拟机13和第二虚拟机14,第一虚拟机13从迁出VTEP11迁移至迁入VTEP12,即第一虚拟机13在迁移前通过交换机连接迁出VTEP11,第一虚拟机13在迁移后通过交换机上联到迁入VTEP12。
第一方面,本发明实施例提供一种虚拟机迁移方法。该虚拟机迁移方法可应用于迁出的虚拟机。
图2为本发明实施例提供的一种虚拟机迁移方法的流程图。结合图1和图2所示,虚拟机迁移方法包括:
步骤S201,接收迁入VTEP发送的迁移报文。
在一些实施例中,在第一虚拟机(Virtual Machine)13从迁出VTEP11迁移到迁入VTEP12后,迁入VTEP12向迁出VTEP11发送迁移报文,其中,迁移报文包括第一虚拟机的MAC地址。
步骤S202,基于第一虚拟机的MAC地址查找本地MAC地址表项。
在一些实施例中,迁出VTEP11收到迁移报文后,再本地MAC地址表项中查找是否存在第一虚拟机的MAC地址。
步骤S203,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。
在一些实施例中,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,迁出VTEP11向第一虚拟机的MAC地址表项中的入口交换机发送地址解析协议(AddressResolution Protocol,ARP)请求,而且,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP。
其中,ARP请求用以入口交换机更新第一虚拟机的MAC地址的出端口,如根据源MAC地址把交换机地址表项中第一虚拟机的MAC地址的出端口更新为接收到ARP请求的接口。
在一些实施例中,在ARP请求中,源MAC地址为第一虚拟机的MAC地址,目的MAC地址为广播地址,源IP地址为第一虚拟机的IP地址,目的IP地址为从ARP表项中选择的一个IP地址。
图3为本发明实施例提供的另一种虚拟机迁移方法的流程图。
结合图1和图3所示,虚拟机迁移方法包括:
步骤S301,接收迁入VTEP发送的迁移报文。
在一些实施例中,在第一虚拟机(Virtual Machine)13从迁出VTEP11迁移到迁入VTEP12后,迁入VTEP12向迁出VTEP11发送迁移报文,其中,迁移报文包括第一虚拟机的MAC地址。
步骤S302,基于第一虚拟机的MAC地址查找本地MAC地址表项。
在一些实施例中,迁出VTEP11收到迁移报文后,再本地MAC地址表项中查找是否存在第一虚拟机的MAC地址。
步骤S303,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。
在一些实施例中,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,迁出VTEP11向第一虚拟机的MAC地址表项中的入口交换机发送地址解析协议(AddressResolution Protocol,ARP)请求,而且,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP。
其中,ARP请求用以入口交换机更新第一虚拟机的MAC地址的出端口,如根据源MAC地址把交换机地址表项中第一虚拟机的MAC地址的出端口更新为接收到ARP请求的接口。
步骤S304,接收发送给第一虚拟机的报文,并根据第一虚拟机的MAC地址表项封装报文。
在一些实施例中,当交换机下联的第二虚拟机14向第一虚拟机13发送报文时,交换机根据MAC地址表项把报文传送至迁出VTEP11。迁出VTEP11接收到发送给第一虚拟机13的报文,并根据第一虚拟机13的MAC地址表项封装该报文。
步骤S305,将封装后的报文发送至迁入VTEP,以供迁入VTEP将报文转发至第一虚拟机。
在一些实施例中,迁出VTEP11将封装后的报文发送至迁入VTEP12,迁入VTEP12收到报文后将其发送给第一虚拟机13。
本发明实施例提供的虚拟机迁移方法,在第一虚拟机发生迁移后,接收迁入VTEP发送的迁移报文;基于第一虚拟机的MAC地址查找本地MAC地址表项;并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。当迁出VTEP收到发往第一虚拟机的报文时,迁出VTEP根据MAC地址表项将报文发送给迁入VTEP,迁入VTEP接收到报文后发送给第一虚拟机,从而避免虚拟机迁移而导致报文转发错误和业务流量中断。
第二方面,本发明实施例提供一种虚拟机迁移方法,该方法可以应用与迁入虚拟机。
图4为本发明实施例提供的一种虚拟机迁移方法的流程图。结合图1和图4所示,虚拟机迁移方法包括:
步骤S401,在第一虚拟机完成迁移的情况下,向迁出VTEP发送迁移报文。
在一些实施例中,在第一虚拟机13从迁出VTEP11迁移到迁入VTEP12后,迁入VTEP12向迁出VTEP11发送迁移报文,其中,迁移报文包括第一虚拟机的MAC地址。
在一些实施例中,迁出VTEP11收到迁移报文后,基于第一虚拟机的MAC地址查找本地MAC地址表项;并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。
其中,ARP请求用以入口交换机更新第一虚拟机的MAC地址的出端口,如根据源MAC地址把交换机地址表项中第一虚拟机的MAC地址的出端口更新为接收到ARP请求的接口。
在一些实施例中,在ARP请求中,源MAC地址为第一虚拟机的MAC地址,目的MAC地址为广播地址,源IP地址为第一虚拟机的IP地址,目的IP地址为从ARP表项中选择的一个IP地址。
图5为本发明实施例提供的一种虚拟机迁移方法的流程图。结合图1和图5所示,虚拟机迁移方法包括:
步骤S501,在第一虚拟机完成迁移的情况下,向迁出VTEP发送迁移报文。
在一些实施例中,在第一虚拟机13从迁出VTEP11迁移到迁入VTEP12后,迁入VTEP12向迁出VTEP11发送迁移报文,其中,迁移报文包括第一虚拟机的MAC地址。
在一些实施例中,迁出VTEP11收到迁移报文后,基于第一虚拟机的MAC地址查找本地MAC地址表项;并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。
其中,ARP请求用以入口交换机更新第一虚拟机的MAC地址的出端口,如根据源MAC地址把交换机地址表项中第一虚拟机的MAC地址的出端口更新为接收到ARP请求的接口。
在一些实施例中,在ARP请求中,源MAC地址为第一虚拟机的MAC地址,目的MAC地址为广播地址,源IP地址为第一虚拟机的IP地址,目的IP地址为从ARP表项中选择的一个IP地址。
步骤S502,接收迁出VTEP转发的发送给第一虚拟机的报文,并将报文发送给第一虚拟机。
在一些实施例中,在第一虚拟机13由迁出VTEP11迁移至迁入VTEP12后,在交换机下联的第二虚拟机14向第一虚拟机13发送报文时,交换机根据MAC地址表项把报文传送至迁出VTEP11。迁出VTEP11接收到发送给第一虚拟机13的报文,并根据第一虚拟机13的MAC地址表项封装该报文。迁出VTEP11将封装后的报文发送至迁入VTEP12,迁入VTEP12收到报文后将其发送给第一虚拟机13。
本发明实施例提供的虚拟机迁移方法,在第一虚拟机完成迁移的情况下,向迁出VTEP发送迁移报文,迁出VTEP基于第一虚拟机的MAC地址查找本地MAC地址表项;并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。当迁出VTEP收到发往第一虚拟机的报文时,迁出VTEP根据MAC地址表项将报文发送给迁入VTEP,迁入VTEP接收到报文后发送给第一虚拟机,从而避免虚拟机迁移而导致报文转发错误和业务流量中断。
第三方面,本发明实施例提供一种虚拟机迁移方法,该虚拟机迁移方法可应用于交换机。
图6为本发明实施例提供的一种虚拟机迁移方法的流程图。结合图1和图6所示,虚拟机迁移方法包括:
步骤S601,接收迁出VTEP发送的ARP请求。
其中,ARP请求是迁出VTEP收到迁入VTEP发送的迁移报文,并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下发出的请求;而且,迁出VTEP在发送ARP请求的同时将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP。
在一些实施例中,在第一虚拟机(Virtual Machine)13从迁出VTEP11迁移到迁入VTEP12后,迁入VTEP12向迁出VTEP11发送迁移报文,其中,迁移报文包括第一虚拟机的MAC地址。
在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,迁出VTEP11向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。
在一些实施例中,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,迁出VTEP11向第一虚拟机的MAC地址表项中的入口交换机发送地址解析协议(AddressResolution Protocol,ARP)请求。
在一些实施例中,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,迁出VTEP11将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP。
步骤S602,基于ARP请求更新第一虚拟机的MAC地址的出口端。
在一些实施例中,ARP请求用以入口交换机更新第一虚拟机的MAC地址的出端口,根据源MAC地址将交换机地址表项中的第一虚拟机的MAC地址的出端口更新为接收到的ARP请求的接口。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本实施例提供的虚拟机迁移方法,在第一虚拟机发生迁移后,接收迁入VTEP发送的迁移报文;迁出VTEP基于第一虚拟机的MAC地址查找本地MAC地址表项;并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。当迁出VTEP收到发往第一虚拟机的报文时,迁出VTEP根据MAC地址表项将报文发送给迁入VTEP,迁入VTEP接收到报文后发送给第一虚拟机,从而避免虚拟机迁移而导致报文转发错误和业务流量中断。
第四方面,本发明实施例提供一种虚拟机迁移装置,该装置可以应用于迁出虚拟机。
图7为本发明实施例提供的虚拟机迁移装置的原理框图。结合图1和图7所示,虚拟机迁移装置700,包括:
接收模块701,用于接收迁入VTEP发送的迁移报文。
在一些实施例中,在第一虚拟机(Virtual Machine)13从迁出VTEP11迁移到迁入VTEP12后,迁入VTEP12向迁出VTEP11发送迁移报文,其中,迁移报文包括第一虚拟机的MAC地址。
查找模块702,用于基于第一虚拟机的MAC地址查找本地MAC地址表项。
在一些实施例中,迁出VTEP11收到迁移报文后,再本地MAC地址表项中查找是否存在第一虚拟机的MAC地址。
修改模块703,用于在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP。
在一些实施例中,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP。
发送模块704,用于在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。
在一些实施例中,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,迁出VTEP11向第一虚拟机的MAC地址表项中的入口交换机发送ARP请求。
在一些实施例中,在ARP请求中,源MAC地址为第一虚拟机的MAC地址,目的MAC地址为广播地址,源IP地址为第一虚拟机的IP地址,目的IP地址为从ARP表项中选择的一个IP地址。
在一些实施例中,虚拟机迁移装置中的接收模块701,还用于接收发送给第一虚拟机的报文,并根据第一虚拟机的MAC地址表项封装报文。
在一些实施例中,当交换机下联的第二虚拟机14向第一虚拟机13发送报文时,交换机根据MAC地址表项把报文传送至迁出VTEP11。迁出VTEP11接收到发送给第一虚拟机13的报文,并根据第一虚拟机13的MAC地址表项封装该报文。
在一些实施例中,虚拟机迁移装置中的发送模块704,还用于将封装后的报文发送至迁入VTEP,以供迁入VTEP将报文转发至第一虚拟机。
在一些实施例中,迁出VTEP11将封装后的报文发送至迁入VTEP12,迁入VTEP12收到报文后将其发送给第一虚拟机13。
本实施例提供的虚拟机迁移装置可用于执行本发明第一方面提供的虚拟机迁移方法。
本发明实施例提供的虚拟机迁移装置,接收模块在第一虚拟机发生迁移后,接收迁入VTEP发送的迁移报文;查找模块基于第一虚拟机的MAC地址查找本地MAC地址表项;修改模块在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时发送模块向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。当迁出VTEP收到发往第一虚拟机的报文时,迁出VTEP根据MAC地址表项将报文发送给迁入VTEP,迁入VTEP接收到报文后发送给第一虚拟机,从而避免虚拟机迁移而导致报文转发错误和业务流量中断。
第五方面,本发明实施例提供一种虚拟机迁移装置,该装置可以应用于迁入虚拟机。
图8为本发明实施例提供的虚拟机迁移装置的原理框图。结合图1和图8所示,虚拟机迁移装置800,包括:
发送模块801,用于在第一虚拟机完成迁移的情况下,向迁出VTEP发送迁移报文。
在一些实施例中,在第一虚拟机13从迁出VTEP11迁移到迁入VTEP12后,迁入VTEP12向迁出VTEP11发送迁移报文,其中,迁移报文包括第一虚拟机的MAC地址。
在一些实施例中,迁出VTEP11收到迁移报文后,基于第一虚拟机的MAC地址查找本地MAC地址表项;并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。
其中,ARP请求用以入口交换机更新第一虚拟机的MAC地址的出端口,如根据源MAC地址把交换机地址表项中第一虚拟机的MAC地址的出端口更新为接收到ARP请求的接口。
在一些实施例中,在ARP请求中,源MAC地址为第一虚拟机的MAC地址,目的MAC地址为广播地址,源IP地址为第一虚拟机的IP地址,目的IP地址为从ARP表项中选择的一个IP地址。
在一些实施例中,虚拟机迁移装置800还包括:接收模块,用于接收迁出VTEP转发的发送给第一虚拟机的报文,并将报文发送给第一虚拟机。
在一些实施例中,在第一虚拟机13由迁出VTEP11迁移至迁入VTEP12后,在交换机下联的第二虚拟机14向第一虚拟机13发送报文时,交换机根据MAC地址表项把报文传送至迁出VTEP11。迁出VTEP11接收到发送给第一虚拟机13的报文,并根据第一虚拟机13的MAC地址表项封装该报文。迁出VTEP11将封装后的报文发送至迁入VTEP12,迁入VTEP12收到报文后将其发送给第一虚拟机13。
本实施例提供的虚拟机迁移装置可用于执行本发明第二方面提供的虚拟机迁移方法。
本发明实施例提供的虚拟机迁移装置,发送模块在第一虚拟机完成迁移的情况下,向迁出VTEP发送迁移报文,迁出VTEP基于第一虚拟机的MAC地址查找本地MAC地址表项;并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。当迁出VTEP收到发往第一虚拟机的报文时,迁出VTEP根据MAC地址表项将报文发送给迁入VTEP,迁入VTEP接收到报文后发送给第一虚拟机,从而避免虚拟机迁移而导致报文转发错误和业务流量中断。
第六方面,本发明实施例提供一种交换机。
图9为本发明实施例提供的一种交换机的原理框图。结合图1和图9所示,交换机900,包括:
接收模块901,用于接收迁出VTEP发送的ARP请求。
其中,ARP请求是迁出VTEP收到迁入VTEP发送的迁移报文,并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下发出的请求;而且,迁出VTEP在发送ARP请求的同时将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP。
在一些实施例中,在第一虚拟机13从迁出VTEP11迁移到迁入VTEP12后,迁入VTEP12向迁出VTEP11发送迁移报文,其中,迁移报文包括第一虚拟机的MAC地址。
在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,迁出VTEP11向交换机发送ARP请求,以供交换机更新第一虚拟机的MAC地址的出端口。
在一些实施例中,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,迁出VTEP11向第一虚拟机的MAC地址表项中的入口交换机发送ARP请求。
在一些实施例中,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,迁出VTEP11将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP。
更新模块902,用于基于ARP请求更新第一虚拟机的MAC地址的出口端。
在一些实施例中,ARP请求用以入口交换机更新第一虚拟机的MAC地址的出端口,根据源MAC地址将交换机地址表项中的第一虚拟机的MAC地址的出端口更新为接收到的ARP请求的接口。
本实施例提供的交换机可用于执行本发明第三方面提供的虚拟机迁移方法。
需要说明的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本实施例提供的交换机,在第一虚拟机发生迁移后,迁出VTEP在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,向交换机发送ARP请求,交换机的接收模块接收到ARP请求后,由更新模块更新第一虚拟机的MAC地址的出端口。当迁出VTEP收到发往第一虚拟机的报文时,迁出VTEP根据MAC地址表项将报文发送给迁入VTEP,迁入VTEP接收到报文后发送给第一虚拟机,从而避免虚拟机迁移而导致报文转发错误和业务流量中断。
下面结合本发明提供的虚拟机迁移方法、装置及交换机介绍第一虚拟机完成迁移后的通信流程。
图10为本发明提供的虚拟机迁移及迁移后的通信流程图。如图10,虚拟机迁移包括:
步骤S1001,在第一虚拟机从迁出VTEP迁移至迁入VTEP后,迁入VTEP向迁出VTEP发送迁移报文,其中,迁移报文包括第一虚拟机的MAC地址。
步骤S1002,迁出VTEP接收到迁移报文后,从本地MAC地址表项中查找第一虚拟机的MAC地址,并判断第一虚拟机是否迁移至迁入VTEP。
步骤S1003,在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下,向第一虚拟机的MAC地址表项中的入口交换机发送ARP请求,以及将第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP。
在ARP请求中,源MAC地址为第一虚拟机的MAC地址,目的MAC地址为广播地址,源IP地址为第一虚拟机的IP地址,目的IP地址为从ARP表项中选择的一个IP地址。
步骤S1004,交换机接收到ARP请求后,根据源MAC地址把交换机地址表项中第一虚拟机的MAC地址的出端口更新为接收到ARP请求的接口。
步骤S1005,交换机下联的第二虚拟机向第一虚拟机发送报文。
步骤S1006,交换机根据MAC地址表项把发送给第一虚拟机的报文传送至迁出VTEP。
步骤S1007,迁出VTEP接收到发送给第一虚拟机的报文,根据第一虚拟机的MAC地址表项封装报文。
步骤S1008,迁入VTEP将接收到的报文传送至第一虚拟机。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本实施例的范围之内并且形成不同的实施例。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (11)
1.一种虚拟机迁移方法,其特征在于,包括:
接收迁入VTEP发送的迁移报文;其中,所述迁移报文包括第一虚拟机的MAC地址;
基于所述第一虚拟机的MAC地址查找本地MAC地址表项;
在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP,同时向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口。
2.根据权利要求1所述的方法,其特征在于,在所述ARP请求中,源MAC地址为所述第一虚拟机的MAC地址,目的MAC地址为广播地址,源IP地址为所述第一虚拟机的IP地址,目的IP地址为从所述ARP表项中选择的一个IP地址。
3.根据权利要求1所述的方法,其特征在于,所述在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP,同时向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口之后,还包括:
接收发送给所述第一虚拟机的报文,并根据所述第一虚拟机的MAC地址表项封装所述报文;
将封装后的所述报文发送至所述迁入VTEP,以供所述迁入VTEP将所述报文转发至所述第一虚拟机。
4.一种虚拟机迁移方法,其特征在于,包括:
在第一虚拟机完成迁移的情况下,向迁出VTEP发送迁移报文,以供所述迁出VTEP基于第一虚拟机的MAC地址查找本地MAC地址表项;并在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口;
其中,所述迁移报文包括所述第一虚拟机的MAC地址。
5.根据权利要求4所述的方法,其特征在于,所述在第一虚拟机完成迁移后,向迁出VTEP发送迁移报文之后,还包括:
接收所述迁出VTEP转发的发送给第一虚拟机的报文,并将所述报文发送给所述第一虚拟机。
6.一种虚拟机迁移方法,其特征在于,包括:
接收迁出VTEP发送的ARP请求;其中,所述ARP请求是所述迁出VTEP收到迁入VTEP发送的迁移报文,并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下发出的请求;而且,所述迁出VTEP在发送所述ARP请求的同时将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP;其中,所述迁移报文包括第一虚拟机的MAC地址;
基于所述ARP请求更新第一虚拟机的MAC地址的出口端。
7.根据权利要求6所述的方法,其特征在于,在所述ARP请求中,源MAC地址为所述第一虚拟机的MAC地址,目的MAC地址为广播地址,源IP地址为所述第一虚拟机的IP地址,目的IP地址为从所述ARP表项中选择的一个IP地址。
8.根据权利要求7所述的方法,其特征在于,所述基于所述ARP请求更新第一虚拟机的MAC地址的出口端,包括:
根据所述源MAC地址将交换机地址表项中的所述第一虚拟机的MAC地址的出端口更新为接收到的所述ARP请求的接口。
9.一种虚拟机迁移装置,其特征在于,包括:
接收模块,用于接收迁入VTEP发送的迁移报文;其中,所述迁移报文包括第一虚拟机的MAC地址;
查找模块,用于基于所述第一虚拟机的MAC地址查找本地MAC地址表项;
修改模块,用于在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP;
发送模块,用于在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口。
10.一种虚拟机迁移装置,其特征在于,包括:
发送模块,用于在第一虚拟机完成迁移的情况下,向迁出VTEP发送迁移报文,以供所述迁出VTEP基于第一虚拟机的MAC地址查找本地MAC地址表项;并在所述本地MAC地址表项中存在所述第一虚拟机的MAC地址的情况下,将所述第一虚拟机的MAC地址表项中下一跳修改为迁入VTEP,同时向交换机发送ARP请求,以供所述交换机更新所述第一虚拟机的MAC地址的出端口;
其中,所述迁移报文包括所述第一虚拟机的MAC地址。
11.一种交换机,其特征在于,包括:
接收模块,用于接收迁出VTEP发送的ARP请求;其中,所述ARP请求是所述迁出VTEP收到迁入VTEP发送的迁移报文,并在本地MAC地址表项中存在第一虚拟机的MAC地址的情况下发出的请求;而且,所述迁出VTEP在发送所述ARP请求的同时将所述第一虚拟机的MAC地址表项中下一跳修改为所述迁入VTEP;其中,所述迁移报文包括第一虚拟机的MAC地址;
更新模块,用于基于所述ARP请求更新第一虚拟机的MAC地址的出口端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111005654.XA CN113703921A (zh) | 2021-08-30 | 2021-08-30 | 虚拟机迁移方法、装置及交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111005654.XA CN113703921A (zh) | 2021-08-30 | 2021-08-30 | 虚拟机迁移方法、装置及交换机 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113703921A true CN113703921A (zh) | 2021-11-26 |
Family
ID=78656971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111005654.XA Pending CN113703921A (zh) | 2021-08-30 | 2021-08-30 | 虚拟机迁移方法、装置及交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113703921A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297055A (zh) * | 2022-07-25 | 2022-11-04 | 紫光云技术有限公司 | 一种公有云云主机迁移arp表项更新方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783815A (zh) * | 2016-08-30 | 2018-03-09 | 华为技术有限公司 | 一种确定虚拟机迁移的方法和装置 |
CN111736958A (zh) * | 2020-06-29 | 2020-10-02 | 中国联合网络通信集团有限公司 | 虚拟机迁移方法、系统、计算机设备及存储介质 |
CN111770035A (zh) * | 2020-06-30 | 2020-10-13 | 中国联合网络通信集团有限公司 | Mac地址表更新方法、装置、报文发送方法及电子设备 |
CN113254148A (zh) * | 2021-05-12 | 2021-08-13 | 中国联合网络通信集团有限公司 | 一种虚拟机的迁移方法及云管理平台 |
-
2021
- 2021-08-30 CN CN202111005654.XA patent/CN113703921A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783815A (zh) * | 2016-08-30 | 2018-03-09 | 华为技术有限公司 | 一种确定虚拟机迁移的方法和装置 |
CN111736958A (zh) * | 2020-06-29 | 2020-10-02 | 中国联合网络通信集团有限公司 | 虚拟机迁移方法、系统、计算机设备及存储介质 |
CN111770035A (zh) * | 2020-06-30 | 2020-10-13 | 中国联合网络通信集团有限公司 | Mac地址表更新方法、装置、报文发送方法及电子设备 |
CN113254148A (zh) * | 2021-05-12 | 2021-08-13 | 中国联合网络通信集团有限公司 | 一种虚拟机的迁移方法及云管理平台 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297055A (zh) * | 2022-07-25 | 2022-11-04 | 紫光云技术有限公司 | 一种公有云云主机迁移arp表项更新方法 |
CN115297055B (zh) * | 2022-07-25 | 2024-01-23 | 紫光云技术有限公司 | 一种公有云云主机迁移arp表项更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200153660A1 (en) | Method and apparatus for implementing a flexible virtual local area network | |
US10666561B2 (en) | Virtual machine migration | |
US9374323B2 (en) | Communication between endpoints in different VXLAN networks | |
US10075413B2 (en) | Adaptive overlay networking | |
KR102054338B1 (ko) | 개별 관리들을 이용하는 vlan 태깅된 패킷들의 가상 포워딩 인스턴스들의 원단 주소들로의 라우팅 | |
US8923155B2 (en) | L3 gateway for VXLAN | |
Narten et al. | Problem statement: Overlays for network virtualization | |
US8819267B2 (en) | Network virtualization without gateway function | |
JP6032278B2 (ja) | Lan多重化装置 | |
CN107612808B (zh) | 隧道建立方法和装置 | |
CN108199963B (zh) | 报文转发方法和装置 | |
CN108259303B (zh) | 一种报文转发方法及装置 | |
US20150169351A1 (en) | Configuring virtual media access control addresses for virtual machines | |
CN103200069A (zh) | 一种报文处理的方法和设备 | |
CN111736958A (zh) | 虚拟机迁移方法、系统、计算机设备及存储介质 | |
CN108092890B (zh) | 路由建立方法和装置 | |
CN106453023A (zh) | 一种用于物理设备与虚拟网络的通信方法、设备与系统 | |
JP2002247089A (ja) | パケットルーティング方法および装置 | |
JP2013066135A (ja) | 冗長化制御のためのプログラム、情報処理装置及び方法、通信装置、中継処理方法及びプログラム | |
CN113703921A (zh) | 虚拟机迁移方法、装置及交换机 | |
CN111800327A (zh) | Vxlan网络的流量分担方法、设备 | |
US20210126812A1 (en) | Anycast address configuration for extended local area networks | |
CN116418632A (zh) | 一种报文处理方法、装置、设备及机器可读存储介质 | |
CN115190100A (zh) | 数据转发方法、vtep网关、电子设备及可读存储介质 | |
CN113037883B (zh) | 一种mac地址表项的更新方法及装置 |
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 |