CN113254148A - 一种虚拟机的迁移方法及云管理平台 - Google Patents
一种虚拟机的迁移方法及云管理平台 Download PDFInfo
- Publication number
- CN113254148A CN113254148A CN202110518604.5A CN202110518604A CN113254148A CN 113254148 A CN113254148 A CN 113254148A CN 202110518604 A CN202110518604 A CN 202110518604A CN 113254148 A CN113254148 A CN 113254148A
- Authority
- CN
- China
- Prior art keywords
- migrated
- vtep
- virtual machine
- migration
- module
- 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.)
- Withdrawn
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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种虚拟机的迁移方法及云管理平台,方法包括:获取待迁移VM所在物理主机所归属的虚拟可扩展局域网隧道端点VTEP;判断归属所述VTEP的其他物理主机是否满足待迁移VM的迁移条件;若满足,则将所述待迁移VM迁移到满足所述迁移条件的物理主机上;向迁移后的VM发出发送免费地址解析协议ARP请求的命令,以使所述迁移后的VM向上联的VTEP发送免费ARP请求报文,并使所述上联的VTEP接收到所述免费ARP请求报文后建立或更新本地媒体存取控制MAC地址表中所述迁移后的VM的MAC地址表项。该方法及云管理平台解决了现有的虚拟机迁移方法在VTEP之间发生网络阻塞时,由于迁移的number值不能很好进行同步记录,进而导致迁移功能失败的问题。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种虚拟机的迁移方法及云管理平台。
背景技术
在VXLAN(Virtual eXtensible LAN,虚拟可扩展局域网)网络中,在一台物理主机上可以创建多台VM(Virtual Machine,虚拟机),VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)是VXLAN的边缘设备,VXLAN的相关处理都在VTEP上进行。当VM1从VTEP1迁移到VTEP3下后,VTEP3将对应于VM1的携带有迁移扩展团体属性值的EVPN(Ethernet VirtualPrivate Network,以太网虚拟专用网络)路由信息同步给VTEP1和VTEP2;其中,迁移扩展团体属性值即number值,VM1每次发生1次迁移,VTEP维护number加1。VTEP1和VTEP2在接收到EVPN路由信息后,将EVPN路由信息中number值与自身维护的number值进行比较,当EVPN路由信息中number值大于维护的number值时,进行VM1迁移的转发表项切换动作。但是,当VM在多个VTEP之间反复迁移时,若VTEP之间发生网络阻塞时,则可能会导致迁移的number值不能很好进行同步记录,这样就会出现VM1迁移之后,VM1当前所在的目标VTEP下发的number值小于源VTEP和同步VTEP(简称其他VTEP)当前记录的number值,进而导致迁移功能失败的问题。
发明内容
本发明所要解决的技术问题是针对现有技术的上述不足,提供一种虚拟机的迁移方法及云管理平台,用以解决现有的虚拟机迁移方法在VTEP之间发生网络阻塞时,由于迁移的number值不能很好进行同步记录,进而导致迁移功能失败的问题。
第一方面,本发明实施例提供一种虚拟机的迁移方法,应用于云管理平台,所述方法包括:
获取待迁移VM所在物理主机所归属的虚拟可扩展局域网隧道端点VTEP;
判断归属所述VTEP的其他物理主机是否满足待迁移VM的迁移条件;
若满足,则将所述待迁移VM迁移到满足所述迁移条件的物理主机上;
向迁移后的VM发出发送免费地址解析协议ARP请求的命令,以使所述迁移后的VM向上联的VTEP发送免费ARP请求报文,并使所述上联的VTEP接收到所述免费ARP请求报文后建立或更新本地媒体存取控制MAC地址表中所述迁移后的VM的MAC地址表项。
优选地,所述获取待迁移VM所在物理主机所归属的虚拟可扩展局域网隧道端点VTEP之前,所述方法还包括:
创建所述待迁移VM,并向软件定义网络SDN控制器发送所述待迁移VM的虚拟机生成信息,所述虚拟机生成信息包括所述待迁移VM的IP地址、MAC地址以及VLAN标识,以使所述SDN控制器向所有VTEP发送针对所述待迁移VM的ARP请求,并在接收到所述待迁移VM基于所述ARP请求返回的ARP响应后,获取所述待迁移VM所在物理主机所归属的VTEP,并根据归属的所述VTEP向所述所有VTEP发送所述待迁移VM的流表信息;
接收并存储所述SDN控制器发送的所述待迁移VM的虚拟机生成响应信息,所述虚拟机生成响应信息包括所述待迁移VM的IP地址、MAC地址、VLAN标识以及归属的所述VTEP。
优选地,所述向软件定义网络SDN控制器发送所述待迁移VM的虚拟机生成信息之前,所述方法还包括:
确定与所述SDN控制器对接的通信协议以及通信端口;
通过所述通信端口向所述SDN控制器周期性发送基于所述通信协议的心跳报文;
定义与所述SDN控制器之间通信的信息类型,所述信息类型包括所述虚拟机生成信息和虚拟机生成响应信息。
优选地,若归属所述VTEP的其他物理主机不满足所述待迁移VM的迁移条件,所述方法还包括:
判断归属其他VTEP的物理主机是否满足所述待迁移VM的迁移条件;
若满足,则将所述待迁移VM迁移到满足所述迁移条件的归属其他VTEP的物理主机上。
优选地,所述迁移条件为所述其他物理主机的剩余资源满足所述待迁移VM的性能需求。
第二方面,本发明实施例提供一种云管理平台,包括:
获取模块,用于获取待迁移VM所在物理主机所归属的虚拟可扩展局域网隧道端点VTEP;
第一判断模块,与所述获取模块连接,用于判断归属所述VTEP的其他物理主机是否满足待迁移VM的迁移条件;
第一迁移模块,与所述第一判断模块连接,用于在所述第一判断模块判断结果为满足时,将所述待迁移VM迁移到满足所述迁移条件的物理主机上;
第一发送模块,与所述第一迁移模块连接,用于向迁移后的VM发出发送免费地址解析协议ARP请求的命令,以使所述迁移后的VM向上联的VTEP发送免费ARP请求报文,并使所述上联的VTEP接收到所述免费ARP请求报文后建立或更新本地媒体存取控制MAC地址表中所述迁移后的VM的MAC地址表项。
优选地,还包括:
第二发送模块,用于创建所述待迁移VM,并向软件定义网络SDN控制器发送所述待迁移VM的虚拟机生成信息,所述虚拟机生成信息包括所述待迁移VM的IP地址、MAC地址以及VLAN标识,以使所述SDN控制器向所有VTEP发送针对所述待迁移VM的ARP请求,并在接收到所述待迁移VM基于所述ARP请求返回的ARP响应后,获取所述待迁移VM所在物理主机所归属的VTEP,并根据归属的所述VTEP向所述所有VTEP发送所述待迁移VM的流表信息;
接收存储模块,用于接收并存储所述SDN控制器发送的所述待迁移VM的虚拟机生成响应信息,所述虚拟机生成响应信息包括所述待迁移VM的IP地址、MAC地址、VLAN标识以及归属的所述VTEP。
优选地,还包括:
通信对接模块,用于确定与所述SDN控制器对接的通信协议以及通信端口;
心跳报文发送模块,用于通过所述通信端口向所述SDN控制器周期性发送基于所述通信协议的心跳报文;
信息类型定义模块,用于定义与所述SDN控制器之间通信的信息类型,所述信息类型包括所述虚拟机生成信息和虚拟机生成响应信息。
优选地,还包括:
第二判断模块,用于判断归属其他VTEP的物理主机是否满足所述待迁移VM的迁移条件;
第二迁移模块,用于若满足,则将所述待迁移VM迁移到满足所述迁移条件的归属其他VTEP的物理主机上。
第三方面,本发明实施例提供一种云管理平台,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现上述第一方面所述的虚拟机的迁移方法。
本发明实施例提供的虚拟机的迁移方法及云管理平台,通过云管理平台直接生成和迁移虚拟机,在需要进行虚拟机迁移时,云管理平台先获取待迁移VM所在物理主机所归属的VTEP,再判断归属VTEP的其他物理主机是否满足待迁移VM的迁移条件,以及在满足迁移条件时,将待迁移VM迁移到满足迁移条件的物理主机上,由于待迁移VM是在归属同一VTEP的不同物理主机上进行迁移,因此无需更改其他VTEP中该迁移后的VM的流表项或MAC地址表项。同时,通过向迁移后的VM发出发送免费ARP请求的命令,以使迁移后的VM向上联的VTEP发送免费ARP请求报文,并使上联的VTEP接收到免费ARP请求报文后建立或更新本地MAC地址表中迁移后的VM的MAC地址表项,从而能够保证发往迁移后的VM的数据包能够正确传输,此时该上联的VTEP即为原归属的VTEP,从而解决了现有的虚拟机迁移方法在VTEP之间发生网络阻塞时,由于迁移的number值不能很好进行同步记录,进而导致迁移功能失败的问题。
附图说明
图1:为本发明实施例1的一种虚拟机的迁移方法的流程图;
图2:为本发明实施例的一种虚拟机的迁移方法的组网示意图;
图3:为本发明实施例2的一种云管理平台的结构图;
图4:为本发明实施例3的一种云管理平台的结构图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面将结合附图对本发明实施方式作进一步地详细描述。
可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。
可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。
可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。
可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
为了使本领域的技术人员更好地理解本发明实施例中的技术方案,下面先对本发明实施例中涉及的部分技术术语进行简单说明。
VXLAN:是基于IP网络、采用“MAC in UDP”封装形式的二层VPN(Virtual PrivateNetwork,虚拟专用网络)技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。
VM:在一台服务器上可以创建多台虚拟机,不同的虚拟机可以属于不同的VXLAN。属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN NetworkIdentifier,VXLAN网络标识符),其长度为24比特。
VTEP:是VXLAN的边缘设备,VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等,VTEP可以是一台独立的物理设备,也可以是虚拟机所在的服务器。
EVPN是一种二层VPN技术,控制平面采用MP-BGP(Border Gateway Protocol,边界网关协议)通告EVPN路由信息,数据平面采用VXLAN封装方式转发报文。
实施例1:
本实施例提供一种虚拟机的迁移方法,应用于云管理平台,如图1所示,该方法包括:
步骤S102:获取待迁移VM所在物理主机所归属的虚拟可扩展局域网隧道端点VTEP;
需要说明的是,本实施例提供的一种虚拟机的迁移方法应用于云管理平台,由云管理平台直接对虚拟机进行管理,包括虚拟机的生成和迁移。同时,云数据中心可以设置SDN(Software Defined Network,软件定义网络)控制器,云管理平台与SDN控制器可以通过TCP协议或其他通信协议实现对接,并选择一个未定义端口作为通信端口,云管理平台与SDN控制器之间可以通过心跳信息保持连接,即通过所述通信端口向SDN控制器周期性发送基于所述通信协议的心跳报文。当云管理平台生成、迁移虚拟机时,均可以通过该通信协议以及通信端口与SDN控制器进行通信交互。为了便于云管理平台与SDN控制器的通信交互,云管理平台可以预先定义与SDN控制器之间通信的信息类型,信息类型可以包括虚拟机生成信息和虚拟机生成响应信息等等。其中,虚拟机生成信息包括虚拟机IP地址、MAC地址、VLAN等字段内容,虚拟机生成响应信息包括虚拟机IP地址、MAC地址、VLAN和归属的VTEP信息等字段内容。SDN控制器设置虚拟机ARP表项,表项内容包括虚拟机MAC地址、IP地址和归属的VTEP。
在本实施例中,为了便于在虚拟机迁移时能够获取待迁移VM所在物理主机所归属的VTEP,云管理平台可以在创建该待迁移VM后,向SDN控制器发送该待迁移VM的虚拟机生成信息,该虚拟机生成信息包括待迁移VM的IP地址、MAC地址以及VLAN标识。SDN控制器接收到该待迁移VM的虚拟机生成信息后,向所有VTEP发送针对该待迁移VM的ARP请求,并在接收到该待迁移VM基于ARP请求返回的ARP响应后,获取待迁移VM所在物理主机所归属的VTEP,并根据归属的VTEP向所有VTEP发送该待迁移VM的流表信息,以使其他VTEP下联VM有数据包发送给该待迁移VM时,其他VTEP向归属的VTEP转发该数据包。同时,SDN控制器向云管理平台发送该待迁移VM的虚拟机生成响应信息,虚拟机生成响应信息包括待迁移VM的IP地址、MAC地址、VLAN标识以及归属的VTEP,以使云管理平台接收并存储该虚拟机生成响应信息,从而在虚拟机迁移时,从保存的虚拟机生成响应信息中获取待迁移虚拟机VM所在物理主机所归属的VTEP。
步骤S104:判断归属VTEP的其他物理主机是否满足所述待迁移VM的迁移条件。
在本实施例中,当某一虚拟机的性能不能满足要求时,比如,由于虚拟机CPU、内存等性能不能满足要求时,云管理平台需要进行虚拟机迁移。由于在归属同一个VTEP的不同物理主机上进行迁移时,无需更改其他VTEP中该迁移后的VM的流表项或MAC地址表项,因此,云管理平台优先在归属同一VTEP下的不同物理主机之间进行迁移,判断归属VTEP下的其他物理主机是否满足该待迁移VM的迁移条件。该迁移条件为其他物理主机的剩余资源能够满足待迁移VM的性能需求,即目标物理主机上有足够的CPU、内存等资源供迁移后的VM在目标物理主机上运行。需要说明的是,虚拟机迁移前后IP地址和MAC地址均无需变动。
步骤S106:若满足,则将待迁移VM迁移到满足迁移条件的物理主机上。
在本实施例中,云管理平台对该待迁移VM进行迁移,将相关系统及数据发送到迁移后的虚拟机上。
步骤S108:向迁移后的VM发出发送免费地址解析协议ARP请求的命令,以使迁移后的VM向上联的VTEP发送免费ARP请求报文,并使上联的VTEP接收到免费ARP请求报文后建立或更新本地媒体存取控制MAC地址表中迁移后的VM的MAC地址表项。
在本实施例中,待迁移VM在归属同一VTEP下的不同物理主机之间进行迁移时,由于待迁移VM与归属VTEP连接的端口已发生改变,云管理平台向迁移后的VM发出发送免费ARP请求的命令,以使迁移后的VM向上联的VTEP发送免费ARP请求报文,此时,上联的VTEP即为原归属的VTEP。免费ARP请求报文是一种特殊的ARP请求报文,目标IP地址是待迁移VM自己的IP地址,即请求自己的IP地址的MAC地址,上联的VTEP在接收到迁移后的VM发送的免费ARP请求报文后会更新MAC地址表中迁移后的VM的MAC地址表项,从而能够保证发往迁移后的VM的数据包能够正确传输。
可选地,若归属VTEP的其他物理主机不满足待迁移VM的迁移条件,方法还可以包括:
判断归属其他VTEP的物理主机是否满足待迁移VM的迁移条件;
若满足,则将待迁移VM迁移到满足迁移条件的归属其他VTEP的物理主机上。
在本实施例中,当归属同一个VTEP下的其他物理主机均不能满足迁移条件时,云管理平台再选择其它物理主机进行迁移。在云管理平台向迁移后的VM发出发送ARP请求的命令后,迁移后的VM向上联的VTEP发送免费ARP请求报文,并使上联的VTEP接收到免费ARP请求报文后建立或更新本地MAC地址表中迁移后的VM的MAC地址表项。同时,上联的VTEP将该免费ARP请求报文转发给SDN控制器,SDN控制器解析该免费ARP请求报文,判断迁移后的VM是否仍归属原VTEP,若否,则向所有VTEP发送迁移后的VM的流表更新信息,从而能够保证发往迁移后的VM的数据包能够正确传输。
图2示出了本发明实施例的一种虚拟机的迁移方法的组网示意图,以VM1为例,VM1的生成和迁移流程如下:
(1)云管理平台创建虚拟机VM1,并向SDN控制器发送VM1的虚拟机生成信息。
需要说明的是,在此之前,云数据中心设置SDN控制器,SDN控制器与云管理平台通过TCP协议实现对接,选择一个未定义端口作为TCP数据包的端口,SDN控制器与云管理平台之间通过心跳信息保持连接。为了便于云管理平台与SDN控制器之间的通信交互,预先定义SDN控制器与云管理平台之间的通信信息类型,包括虚拟机生成信息和虚拟机生成响应信息,其中,虚拟机生成信息包括虚拟机IP地址、MAC地址、VLAN等字段内容,虚拟机生成响应信息包括虚拟机IP地址、MAC地址、VLAN和归属的VTEP信息等字段内容。SDN控制器设置虚拟机ARP表项,表项内容包括虚拟机MAC地址、IP地址和归属的VTEP。
(2)SDN控制器向所有VTEP发送针对VM1的ARP请求,并指示只是在下联的二层VNI域内进行广播。
具体地,SDN控制器根据VM1的IP地址、MAC地址以及VLAN标识向所有VTEP发送针对VM1的ARP请求,比如,向如图2中的VTEP1、VTEP2和VTEP3发送ARP请求。
(3)VTEP1、VTEP2和VTEP3接收到针对VM1的ARP请求后在下联的二层VNI域内进行广播。
(4)VM1接收到ARP请求后发送ARP响应。
(5)VM1归属的VTEP1接收到VM1的ARP响应后转发给SDN控制器。
(6)SDN控制器发送VM1的流表给所有VTEP。
具体地,如图2所示,SDN控制器发送VM1的流表给VTEP1、VTEP2和VTEP3,其中,流表的内容包括VM1的MAC地址、IP地址和下一跳VTEP的地址,即VTEP1的地址。
(7)SDN控制器发送VM1的虚拟机生成响应信息给云管理平台。
具体地,该VM1的虚拟机生成响应信息包括VM1的IP地址、MAC地址、VLAN和归属的VTEP,归属的VTEP为VTEP1。
(8)云管理平台接收到VM1的虚拟机生成响应信息后,获悉VM1归属的VTEP,也即当前物理主机归属的VTEP。
(9)当VM1要进行迁移,云管理平台优先选择归属同一个VTEP的不同物理主机进行迁移,如果归属同一个VTEP的其他物理主机均不满足迁移条件,再选择其它物理主机进行迁移。
具体地,当VM1的虚拟机性能不能满足要求时,比如,由于虚拟机CPU、内存等性能不能满足要求时,云管理平台进行虚拟机迁移,以使迁移后的VM1的虚拟机性能能够满足要求。云管理平台优先选择归属同一个VTEP的不同物理主机进行迁移,如果归属同一个VTEP的其他物理主机均不能满足迁移条件,再选择其它物理主机进行迁移。其中,若同一个VTEP下的物理主机资源能够满足虚拟机的性能要求,则满足迁移条件,否则,不满足迁移条件。比如,若图2所示的物理主机1_2的资源能够满足VM1的性能要求则优先在物理主机1_2上迁移,否则,可以选择在物理主机2或3上进行迁移。其中,若物理主机1_2上还运行有其他VM,则当物理主机1_2上的剩余资源能够满足VM1的性能要求时优先在物理主机1_2上进行迁移。
(10)云管理平台成功进行VM1迁移后,向VM1发出发送免费ARP请求的命令。
具体地,云管理平台把VM1相关系统及数据发送到迁移后的虚拟机上,并向VM1发出发送免费ARP请求的命令。
(11)VM1发送免费ARP请求报文。
具体地,免费ARP请求报文是一种特殊的ARP请求报文,目标IP地址是自己的IP地址,即请求自己的IP地址的MAC地址,通常用于VM向其他同一个VNI的VM通知自己的IP地址和MAC地址。
(12)VM1上联的VTEP接收到VM1的免费ARP请求报文后转发给SDN控制器。
具体地,如图2所示,如果VM1仍然归属VTEP1,VM1上联的VTEP1接收到免费ARP请求报文后,可以根据该报文的入接口信息更新本地MAC地址表中VM1的出端口信息,同时向SDN控制器转发所述免费ARP请求报文。如果VM1不归属VTEP1,比如归属VTEP2,则VM1上联的VTEP2接收到免费ARP请求报文后,可以根据该接收到的免费ARP请求报文在本地MAC地址表中建立或更新VM1的MAC地址表项,同时向SDN控制器转发所述免费ARP请求报文。
(13)SDN控制器解析VM1的免费ARP请求报文,如果VM1仍然归属VTEP1,SDN控制器无需向所有VTEP发送VM1的流表更新信息,如果VM1迁移到其它VTEP,SDN控制器向所有VTEP发送VM1的流表更新信息,以将VM1的下一跳VTEP更新为VM1迁移后所归属的VTEP。
本发明实施例提供的虚拟机的迁移方法,通过云管理平台直接生成和迁移虚拟机,在需要进行虚拟机迁移时,云管理平台先获取待迁移VM所在物理主机所归属的VTEP,再判断归属VTEP的其他物理主机是否满足待迁移VM的迁移条件,以及在满足迁移条件时,将待迁移VM迁移到满足迁移条件的物理主机上,由于待迁移VM是在归属同一VTEP的不同物理主机上进行迁移,因此无需更改其他VTEP中该迁移后的VM的流表项或MAC地址表项,同时,通过向迁移后的VM发出发送免费ARP请求的命令,以使迁移后的VM向上联的VTEP发送免费ARP请求报文,并使上联的VTEP接收到免费ARP请求报文后建立或更新本地MAC地址表中迁移后的VM的MAC地址表项,从而能够保证发往迁移后的VM的数据包能够正确传输,此时该上联的VTEP即为原归属的VTEP,从而解决了现有的虚拟机迁移方法在VTEP之间发生网络阻塞时,由于迁移的number值不能很好进行同步记录,进而导致迁移功能失败的问题。
实施例2:
如图3所示,本实施例提供一种云管理平台,包括:
获取模块12,用于获取待迁移VM所在物理主机所归属的虚拟可扩展局域网隧道端点VTEP;
第一判断模块14,与获取模块12连接,用于判断归属VTEP的其他物理主机是否满足待迁移VM的迁移条件;
第一迁移模块16,与第一判断模块14连接,用于在第一判断模块14判断结果为满足时,将待迁移VM迁移到满足迁移条件的物理主机上;
第一发送模块18,与第一迁移模块16连接,用于向迁移后的VM发出发送免费地址解析协议ARP请求的命令,以使迁移后的VM向上联的VTEP发送免费ARP请求报文,并使上联的VTEP接收到免费ARP请求报文后建立或更新本地媒体存取控制MAC地址表中迁移后的VM的MAC地址表项。
可选地,还可以包括:
第二发送模块,用于创建待迁移VM,并向软件定义网络SDN控制器发送待迁移VM的虚拟机生成信息,虚拟机生成信息包括待迁移VM的IP地址、MAC地址以及VLAN标识,以使SDN控制器向所有VTEP发送针对待迁移VM的ARP请求,并在接收到待迁移VM基于ARP请求返回的ARP响应后,获取待迁移VM所在物理主机所归属的VTEP,并根据归属的VTEP向所有VTEP发送待迁移VM的流表信息;
接收存储模块,用于接收并存储SDN控制器发送的待迁移VM的虚拟机生成响应信息,虚拟机生成响应信息包括待迁移VM的IP地址、MAC地址、VLAN标识以及归属的VTEP。
可选地,还可以包括:
通信对接模块,用于确定与SDN控制器对接的通信协议以及通信端口;
心跳报文发送模块,用于通过通信端口向SDN控制器周期性发送基于通信协议的心跳报文;
信息类型定义模块,用于定义与SDN控制器之间通信的信息类型,信息类型包括虚拟机生成信息和虚拟机生成响应信息。
可选地,还可以包括:
第二判断模块,用于判断归属其他VTEP的物理主机是否满足待迁移VM的迁移条件;
第二迁移模块,用于若满足,则将待迁移VM迁移到满足迁移条件的归属其他VTEP的物理主机上。
可选地,迁移条件为其他物理主机的剩余资源满足待迁移VM的性能需求。
实施例3:
如图4所示,本实施例提供一种云管理平台,包括存储器21和处理器22,存储器21中存储有计算机程序,处理器22被设置为运行计算机程序以执行实施例1中的虚拟机的迁移方法。
其中,存储器21与处理器22连接,存储器21可采用闪存或只读存储器或其他存储器,处理器22可采用中央处理器或单片机。
实施例2至实施3提供的云管理平台,通过云管理平台直接生成和迁移虚拟机,在需要进行虚拟机迁移时,云管理平台先获取待迁移VM所在物理主机所归属的VTEP,再判断归属VTEP的其他物理主机是否满足待迁移VM的迁移条件,以及在满足迁移条件时,将待迁移VM迁移到满足迁移条件的物理主机上,由于待迁移VM是在归属同一VTEP的不同物理主机上进行迁移,因此无需更改其他VTEP中该迁移后的VM的流表项或MAC地址表项。同时,通过向迁移后的VM发出发送免费ARP请求的命令,以使迁移后的VM向上联的VTEP发送免费ARP请求报文,并使上联的VTEP接收到免费ARP请求报文后建立或更新本地MAC地址表中迁移后的VM的MAC地址表项,从而能够保证发往迁移后的VM的数据包能够正确传输,此时该上联的VTEP即为原归属的VTEP,从而解决了现有的虚拟机迁移方法在VTEP之间发生网络阻塞时,由于迁移的number值不能很好进行同步记录,进而导致迁移功能失败的问题。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (10)
1.一种虚拟机的迁移方法,其特征在于,应用于云管理平台,所述方法包括:
获取待迁移VM所在物理主机所归属的虚拟可扩展局域网隧道端点VTEP;
判断归属所述VTEP的其他物理主机是否满足待迁移VM的迁移条件;
若满足,则将所述待迁移VM迁移到满足所述迁移条件的物理主机上;
向迁移后的VM发出发送免费地址解析协议ARP请求的命令,以使所述迁移后的VM向上联的VTEP发送免费ARP请求报文,并使所述上联的VTEP接收到所述免费ARP请求报文后建立或更新本地媒体存取控制MAC地址表中所述迁移后的VM的MAC地址表项。
2.根据权利要求1所述的虚拟机的迁移方法,其特征在于,所述获取待迁移VM所在物理主机所归属的虚拟可扩展局域网隧道端点VTEP之前,所述方法还包括:
创建所述待迁移VM,并向软件定义网络SDN控制器发送所述待迁移VM的虚拟机生成信息,所述虚拟机生成信息包括所述待迁移VM的IP地址、MAC地址以及VLAN标识,以使所述SDN控制器向所有VTEP发送针对所述待迁移VM的ARP请求,并在接收到所述待迁移VM基于所述ARP请求返回的ARP响应后,获取所述待迁移VM所在物理主机所归属的VTEP,并根据归属的所述VTEP向所述所有VTEP发送所述待迁移VM的流表信息;
接收并存储所述SDN控制器发送的所述待迁移VM的虚拟机生成响应信息,所述虚拟机生成响应信息包括所述待迁移VM的IP地址、MAC地址、VLAN标识以及归属的所述VTEP。
3.根据权利要求2所述的虚拟机的迁移方法,其特征在于,所述向软件定义网络SDN控制器发送所述待迁移VM的虚拟机生成信息之前,所述方法还包括:
确定与所述SDN控制器对接的通信协议以及通信端口;
通过所述通信端口向所述SDN控制器周期性发送基于所述通信协议的心跳报文;
定义与所述SDN控制器之间通信的信息类型,所述信息类型包括所述虚拟机生成信息和虚拟机生成响应信息。
4.根据权利要求1所述的虚拟机的迁移方法,其特征在于,若归属所述VTEP的其他物理主机不满足所述待迁移VM的迁移条件,所述方法还包括:
判断归属其他VTEP的物理主机是否满足所述待迁移VM的迁移条件;
若满足,则将所述待迁移VM迁移到满足所述迁移条件的归属其他VTEP的物理主机上。
5.根据权利要求1所述的虚拟机的迁移方法,其特征在于,所述迁移条件为所述其他物理主机的剩余资源满足所述待迁移VM的性能需求。
6.一种云管理平台,其特征在于,包括:
获取模块,用于获取待迁移VM所在物理主机所归属的虚拟可扩展局域网隧道端点VTEP;
第一判断模块,与所述获取模块连接,用于判断归属所述VTEP的其他物理主机是否满足待迁移VM的迁移条件;
第一迁移模块,与所述第一判断模块连接,用于在所述第一判断模块判断结果为满足时,将所述待迁移VM迁移到满足所述迁移条件的物理主机上;
第一发送模块,与所述第一迁移模块连接,用于向迁移后的VM发出发送免费地址解析协议ARP请求的命令,以使所述迁移后的VM向上联的VTEP发送免费ARP请求报文,并使所述上联的VTEP接收到所述免费ARP请求报文后建立或更新本地媒体存取控制MAC地址表中所述迁移后的VM的MAC地址表项。
7.根据权利要求6所述的云管理平台,其特征在于,还包括:
第二发送模块,用于创建所述待迁移VM,并向软件定义网络SDN控制器发送所述待迁移VM的虚拟机生成信息,所述虚拟机生成信息包括所述待迁移VM的IP地址、MAC地址以及VLAN标识,以使所述SDN控制器向所有VTEP发送针对所述待迁移VM的ARP请求,并在接收到所述待迁移VM基于所述ARP请求返回的ARP响应后,获取所述待迁移VM所在物理主机所归属的VTEP,并根据归属的所述VTEP向所述所有VTEP发送所述待迁移VM的流表信息;
接收存储模块,用于接收并存储所述SDN控制器发送的所述待迁移VM的虚拟机生成响应信息,所述虚拟机生成响应信息包括所述待迁移VM的IP地址、MAC地址、VLAN标识以及归属的所述VTEP。
8.根据权利要求7所述的云管理平台,其特征在于,还包括:
通信对接模块,用于确定与所述SDN控制器对接的通信协议以及通信端口;
心跳报文发送模块,用于通过所述通信端口向所述SDN控制器周期性发送基于所述通信协议的心跳报文;
信息类型定义模块,用于定义与所述SDN控制器之间通信的信息类型,所述信息类型包括所述虚拟机生成信息和虚拟机生成响应信息。
9.根据权利要求8所述的云管理平台,其特征在于,还包括:
第二判断模块,用于判断归属其他VTEP的物理主机是否满足所述待迁移VM的迁移条件;
第二迁移模块,用于若满足,则将所述待迁移VM迁移到满足所述迁移条件的归属其他VTEP的物理主机上。
10.一种云管理平台,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现如权利要求1-5中任一项所述的虚拟机的迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110518604.5A CN113254148A (zh) | 2021-05-12 | 2021-05-12 | 一种虚拟机的迁移方法及云管理平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110518604.5A CN113254148A (zh) | 2021-05-12 | 2021-05-12 | 一种虚拟机的迁移方法及云管理平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113254148A true CN113254148A (zh) | 2021-08-13 |
Family
ID=77223196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110518604.5A Withdrawn CN113254148A (zh) | 2021-05-12 | 2021-05-12 | 一种虚拟机的迁移方法及云管理平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254148A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703921A (zh) * | 2021-08-30 | 2021-11-26 | 中国联合网络通信集团有限公司 | 虚拟机迁移方法、装置及交换机 |
CN115297055A (zh) * | 2022-07-25 | 2022-11-04 | 紫光云技术有限公司 | 一种公有云云主机迁移arp表项更新方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685368A (zh) * | 2012-09-10 | 2014-03-26 | 中国电信股份有限公司 | 用于迁移数据的方法及系统 |
CN103814554A (zh) * | 2013-12-11 | 2014-05-21 | 华为技术有限公司 | 一种虚拟可扩展局域网的通信方法、装置和系统 |
CN107786677A (zh) * | 2016-08-24 | 2018-03-09 | 迈普通信技术股份有限公司 | 一种arp表项更新方法及vtep设备 |
CN111736958A (zh) * | 2020-06-29 | 2020-10-02 | 中国联合网络通信集团有限公司 | 虚拟机迁移方法、系统、计算机设备及存储介质 |
CN112565476A (zh) * | 2020-12-01 | 2021-03-26 | 中国联合网络通信集团有限公司 | 虚拟机创建方法、arp代理网关及vtep |
CN112948057A (zh) * | 2021-03-08 | 2021-06-11 | 中国联合网络通信集团有限公司 | 虚拟机迁移控制方法、云管理平台、sdn管理器 |
-
2021
- 2021-05-12 CN CN202110518604.5A patent/CN113254148A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685368A (zh) * | 2012-09-10 | 2014-03-26 | 中国电信股份有限公司 | 用于迁移数据的方法及系统 |
CN103814554A (zh) * | 2013-12-11 | 2014-05-21 | 华为技术有限公司 | 一种虚拟可扩展局域网的通信方法、装置和系统 |
CN107786677A (zh) * | 2016-08-24 | 2018-03-09 | 迈普通信技术股份有限公司 | 一种arp表项更新方法及vtep设备 |
CN111736958A (zh) * | 2020-06-29 | 2020-10-02 | 中国联合网络通信集团有限公司 | 虚拟机迁移方法、系统、计算机设备及存储介质 |
CN112565476A (zh) * | 2020-12-01 | 2021-03-26 | 中国联合网络通信集团有限公司 | 虚拟机创建方法、arp代理网关及vtep |
CN112948057A (zh) * | 2021-03-08 | 2021-06-11 | 中国联合网络通信集团有限公司 | 虚拟机迁移控制方法、云管理平台、sdn管理器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703921A (zh) * | 2021-08-30 | 2021-11-26 | 中国联合网络通信集团有限公司 | 虚拟机迁移方法、装置及交换机 |
CN115297055A (zh) * | 2022-07-25 | 2022-11-04 | 紫光云技术有限公司 | 一种公有云云主机迁移arp表项更新方法 |
CN115297055B (zh) * | 2022-07-25 | 2024-01-23 | 紫光云技术有限公司 | 一种公有云云主机迁移arp表项更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11283707B2 (en) | Segment routing with fast reroute for container networking | |
US10666561B2 (en) | Virtual machine migration | |
EP3509253A1 (en) | Inter-cloud communication method and related device, inter-cloud communication configuration method and related device | |
US11398956B2 (en) | Multi-Edge EtherChannel (MEEC) creation and management | |
US20150281067A1 (en) | Method and apparatus for implementing communication between virtual machines | |
CN112929273A (zh) | 一种处理路由的方法、设备及系统 | |
CN111736958B (zh) | 虚拟机迁移方法、系统、计算机设备及存储介质 | |
US20170331641A1 (en) | Deployment Of Virtual Extensible Local Area Network | |
CN110311860B (zh) | Vxlan下多链路负载均衡方法及装置 | |
EP3515015A1 (en) | Arbitrating mastership between redundant control planes of a virtual node | |
CN112751767B (zh) | 路由信息传输方法及装置、数据中心互联网络 | |
US12068955B2 (en) | Method for controlling traffic forwarding, device, and system | |
US20180262387A1 (en) | Restoring control-plane connectivity with a network management entity | |
CN113254148A (zh) | 一种虚拟机的迁移方法及云管理平台 | |
US20190215191A1 (en) | Deployment Of Virtual Extensible Local Area Network | |
US20230093915A1 (en) | Cloud router platform for sdn networks | |
EP4214911A1 (en) | Systems and methods for zero-touch provisioning of a switch in intermediate distribution frames and main distribution frames | |
US11303701B2 (en) | Handling failure at logical routers | |
US10608869B2 (en) | Handling control-plane connectivity loss in virtualized computing environments | |
CN112751766A (zh) | 报文转发方法、装置及计算机存储介质 | |
CN112994928B (zh) | 一种虚拟机的管理方法、装置及系统 | |
CN113472912B (zh) | 一种arp缓存表项的更新方法、vtep、vm及装置 | |
CN115002029A (zh) | 一种流量转发方法、装置、设备及存储介质 | |
CN113300931B (zh) | 一种虚拟机迁移发现方法及vtep | |
CN112751758B (zh) | 路由信息传输方法及装置、数据中心互联网络 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210813 |
|
WW01 | Invention patent application withdrawn after publication |