VM迁移方法、云管理平台、SDN控制器、装置及系统与流程

文档序号:32348891发布日期:2022-11-26 12:15阅读:128来源:国知局
VM迁移方法、云管理平台、SDN控制器、装置及系统与流程
vm迁移方法、云管理平台、sdn控制器、装置及系统
技术领域
1.本发明涉及网络通信技术领域,尤其涉及一种虚拟机vm迁移方法、云管理平台、软件定义网络sdn控制器、装置及系统。


背景技术:

2.在分布式网关架构的虚拟网络中,在对虚拟机vm进行迁移时,现有技术仅考虑了物理主机的性能是否满足需求,而没有考虑作为分布式网关的可扩展虚拟局域网络隧道端点vtep的地址解析协议arp表项的数量是否已达到自身最大规格,这就可能导致vm从原物理主机迁移后,即使所归属的新物理主机满足性能要求,而所上联的vtep作为分布式网关,且arp表项的数量已达到自身最大规格,不能满足数据报文转发需求,进而导致针对vm的数据报文转发失败。


技术实现要素:

3.本发明所要解决的技术问题是针对现有技术的上述不足,提供一种虚拟机vm迁移方法、云管理平台、软件定义网络sdn控制器、装置及系统,以解决现有技术中,在vm迁移时没有考虑vtep的arp表项的数量是否达到最大规格,而导致vm迁移后vtep不能满足数据报文转发需求的问题。
4.第一方面,本发明提供一种虚拟机vm迁移方法,应用于云管理平台,所述方法包括:
5.在获取到某一vm的待迁移信息时,选择地址解析协议arp表项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为目标物理主机;
6.将所述某一vm迁移至所述目标物理主机;
7.向软件定义网络sdn控制器发送所述某一vm的迁移确认信息,以使所述sdn控制器根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表。
8.优选地,在获取到某一vm的待迁移信息之前,所述方法还包括:
9.接收sdn控制器发送的表示作为分布式网关的vtep的arp表项的数量达到自身预设阈值的vtep告警信息,并将告警的vtep所下辖的所有物理主机标识记录在虚拟机迁移排除表中;
10.接收sdn控制器发送的表示作为分布式网关的vtep的arp表项的数量低于自身预设阈值的vtep告警解除信息,并将告警解除的vtep所下辖的所有物理主机标识从所述虚拟机迁移排除表中删除;
11.所述选择地址解析协议arp表项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为目标物理主机,具体包括:
12.选择没有记录在所述虚拟机迁移排除表中的物理主机标识对应的物理主机作为目标物理主机。
13.优选地,所述告警的vtep所下辖的所有物理主机标识从所述vtep告警信息中获
取;
14.所述告警解除的vtep所下辖的所有物理主机标识从所述vtep告警解除信息中获取。
15.优选地,在获取到某一vm的待迁移信息之前,所述方法还包括:
16.创建所述某一vm;
17.向所述某一vm发出发送免费arp请求的命令,以使所述某一vm根据所述命令发出免费arp请求,进而使得sdn控制器根据所述免费arp请求生成所述某一vm的arp表项,并发送所述某一vm的第一流表给所有vtep;
18.向sdn控制器发送所述某一vm的生成信息,以使sdn控制器根据所述生成信息添加所述某一vm所归属的物理主机标识至所述某一vm的arp表项中;
19.接收sdn控制器根据所述生成信息发送的所述某一vm的生成响应信息,并从所述生成响应信息中获取所述某一vm所上联的vtep信息。
20.优选地,所述迁移确认信息中包括:所述某一vm迁移前的物理主机标识和迁移后的物理主机标识。
21.第二方面,本发明提供一种虚拟机vm迁移方法,应用于软件定义网络sdn控制器,所述方法包括:
22.接收云管理平台发送的某一vm的迁移确认信息;其中,所述迁移确认信息是所述云管理平台在获取到所述某一vm的待迁移信息时,选择地址解析协议arp表项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为目标物理主机,并将所述某一vm迁移至所述目标物理主机后发送的;
23.根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表。
24.优选地,接收云管理平台发送的某一vm的迁移确认信息之前,所述方法还包括:
25.向云管理平台发送表示作为分布式网关的vtep的arp表项的数量达到自身预设阈值的vtep告警信息,以使云管理平台将告警的vtep所下辖的所有物理主机标识记录在虚拟机迁移排除表中;
26.向云管理平台发送表示作为分布式网关的vtep的arp表项的数量低于自身预设阈值的vtep告警解除信息,以使云管理平台将告警解除的vtep所下辖的所有物理主机标识从所述虚拟机迁移排除表中删除。
27.优选地,向云管理平台发送表示作为分布式网关的vtep的arp表项的数量达到自身预设阈值的vtep告警信息之前,所述方法还包括:
28.接收告警的vtep发送的表示自身的arp表项的数量达到自身预设阈值的arp表项告警信息,并将告警的vtep的设备标识记录在arp表项告警信息表中;
29.向云管理平台发送表示作为分布式网关的vtep的arp表项的数量低于自身预设阈值的vtep告警解除信息之前,所述方法还包括:
30.接收告警解除的vtep发送的表示自身的arp表项的数量低于自身预设阈值的arp表项告警解除信息,并将告警解除的vtep的设备标识从所述arp表项告警信息表中删除。
31.优选地,接收云管理平台发送的某一vm的迁移确认信息之前,所述方法还包括:
32.接收vtep转发的所述某一vm的免费arp请求,所述免费arp请求是所述某一vm在创建后根据云管理平台发送的发送免费arp请求的命令发送的;
33.根据所述免费arp请求生成所述某一vm的arp表项,并向所有vtep发送所述某一vm的第一流表;
34.接收云管理平台发送的所述某一vm的生成信息,并根据所述生成信息将所述某一vm所归属的物理主机标识添加至所述某一vm的arp表项中;
35.根据所述生成信息向云管理平台发送所述某一vm的生成响应信息,以使云管理平台根据所述生成响应信息获取所述某一vm所上联的vtep信息。
36.优选地,根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表,具体包括:
37.根据所述迁移确认信息查询所述某一vm的arp表项,以判断所述某一vm所上联的vtep是否发生改变;
38.如果否,控制所述某一vm所上联的vtep更新所述某一vm的流表;
39.如果是,控制所有vtep更新所述某一vm的流表。
40.优选地,所述控制所述某一vm所上联的vtep更新所述某一vm的流表,具体包括:
41.指示所述某一vm所上联的vtep清除所述某一vm的第一流表;
42.指示所述某一vm所上联的vtep在自身下联的二层可扩展虚拟局域网络的域内广播针对所述某一vm的arp请求;
43.接收所述某一vm所上联的vtep转发的所述某一vm根据所述arp请求发送的arp响应;
44.根据所述arp响应生成所述某一vm的第二流表,并将所述第二流表发送给所述某一vm所上联的vtep;
45.所述控制所有vtep更新所述某一vm的流表,具体包括:
46.指示所有vtep清除所述某一vm的第一流表;
47.指示所述某一vm迁移后所上联的vtep在自身下联的二层可扩展虚拟局域网络的域内广播针对所述某一vm的arp请求;
48.接收所述某一vm迁移后所上联的vtep转发的所述某一vm根据所述arp请求发送的arp响应;
49.根据所述arp响应生成所述某一vm的第二流表,并将所述第二流表发送给所有vtep。
50.第三方面,本发明提供一种云管理平台,包括:
51.选择模块,用于在获取到某一vm的待迁移信息时,选择地址解析协议arp表项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为目标物理主机;
52.迁移模块,与所述选择模块连接,用于将所述某一vm迁移至所述目标物理主机;
53.发送模块,与所述迁移模块连接,用于向软件定义网络sdn控制器发送所述某一vm的迁移确认信息,以使所述sdn控制器根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表。
54.第四方面,本发明提供一种软件定义网络sdn控制器,包括:
55.接收模块,用于接收云管理平台发送的某一vm的迁移确认信息;其中,所述迁移确认信息是所述云管理平台在获取到所述某一vm的待迁移信息时,选择地址解析协议arp表
项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为目标物理主机,并将所述某一vm迁移至所述目标物理主机后发送的;
56.控制模块,与所述接收模块连接,用于根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表。
57.第五方面,本发明提供一种虚拟机vm迁移装置,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行如上所述的虚拟机迁移方法。
58.第六方面,本发明提供一种虚拟机vm迁移系统,包括:
59.云管理平台,用于执行如上所述的虚拟机vm迁移方法;
60.软件定义网络sdn控制器,与所述云管理平台连接,用于执行如上所述的虚拟机vm迁移方法。
61.本发明提供一种vm迁移方法、云管理平台、sdn控制器、装置及系统,在分布式网关架构的虚拟网络中进行vm迁移时,通过选择arp表项的数量没有达到自身预设阈值的vtep所下辖的物理主机作为vm迁移的目标物理主机,使得迁移后的vm上联arp表项的数量没有达到最大规格的vtep,从而使得vm可以通过所上联的vtep成功转发数据报文。
附图说明
62.图1是本发明实施例的一种vm迁移方法的流程图;
63.图2是本发明实施例的一种vm迁移系统的结构示意图;
64.图3是本发明实施例的另一种vm迁移方法的流程图;
65.图4是本发明实施例的一种云管理平台的结构示意图;
66.图5是本发明实施例的一种sdn控制器的结构示意图;
67.图6是本发明实施例的一种vm迁移装置的结构示意图。
具体实施方式
68.为使本领域技术人员更好地理解本发明的技术方案,下面将结合附图对本发明实施方式作进一步地详细描述。
69.可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
70.可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。
71.可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。
72.可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
73.可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。
74.可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代
表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
75.可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
76.为了更好地理解本发明,首先对虚拟网络进行说明。
77.vxlan(virtual extensible lan,可扩展虚拟局域网络)是基于ip网络、采用“mac(media access control,介质访问控制)in udp(user datagram protocol,用户数据报协议)”封装形式的二层vpn(virtual private network,虚拟专用网络)技术,vxlan主要应用于数据中心网络。vxlan的可以包括:vm(virtual machine,虚拟机)、vtep(vxlan tunnel end point,vxlan隧道端点)、vxlan隧道、核心设备等,其中,在一台服务器上可以创建多台vm,不同的vm可以属于不同的vxlan。vxlan通过vxlan id来标识,vxlan id又称vni(vxlan network identifier,vxlan网络标识符),其长度为24比特。vxlan的相关处理都在vtep上进行,vtep可以是一台独立的物理设备,也可以是虚拟机所在的服务器。
78.evpn(ethernet virtual private network,以太网虚拟专用网络)是一种二层vpn技术,控制平面采用mp-bgp(border gateway protocol,边界网关协议)通告evpn路由信息,数据平面采用vxlan封装方式转发报文。evpn相比较vxlan的优势在于:
79.(a)简化配置:通过mp-bgp实现vtep自动发现、vxlan隧道自动建立、vxlan隧道与vxlan自动关联,无需用户手工配置,降低网络部署难度。
80.(b)分离控制平面与数据平面:控制平面负责发布路由信息,数据平面负责转发报文,分工明确,易于管理。
81.当evpn采用分布式网关架构时,每台vtep设备都可以作为evpn网关,对本地站点的流量进行三层转发。但是,不同的分布式网关接入用户数目不同,且每个分布式网关的处理能力存在差异,导致不同的分布式网关之间arp(address resolution protocol,地址解析协议)的处理能力差异较大。当其中一个分布式网关的arp表项的数量达到最大规格时,无法针对请求网关mac地址(media access control address,媒体存取控制位址)的arp报文学习arp表项并进行响应,也无法针对三层转发的以太网数据报文的目的ip(internet protocol,互联网协议)地址发出arp请求报文以学习arp表项,导致了evpn网络的用户的数据报文转发失败。
82.因此,本发明实施例将提供一种vm迁移方法、云管理平台、sdn(software defined network,软件定义网络)控制器、装置及系统,在分布式网关架构的evpn中,将vm迁移至arp表项的数量未达到最大规格的vtep所下辖的物理主机中,以实现针对所迁移的vm的数据报文能够被所上联的vtep成功转发,保证evpn网络的用户能够成功收发数据。
83.实施例1:
84.如图1所示,本发明实施例1提供一种虚拟机vm迁移方法,应用于云管理平台,具体通过云管理平台实现vm迁移管理,将vm迁移至arp表项没有达到最大规格的vtep所下辖的物理主机,确保迁移后vtep能为vm成功转发数据报文,所述方法包括步骤s11-s13。
85.如图1所示,s11、在获取到某一vm的待迁移信息时,选择地址解析协议arp表项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为
目标物理主机。
86.可选地,在获取到某一vm的待迁移信息之前,所述方法还包括:
87.接收sdn控制器发送的表示作为分布式网关的vtep的arp表项的数量达到自身预设阈值的vtep告警信息,并将告警的vtep所下辖的所有物理主机标识记录在虚拟机迁移排除表中;
88.接收sdn控制器发送的表示作为分布式网关的vtep的arp表项的数量低于自身预设阈值的vtep告警解除信息,并将告警解除的vtep所下辖的所有物理主机标识从所述虚拟机迁移排除表中删除;
89.所述选择地址解析协议arp表项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为目标物理主机,具体包括:
90.选择没有记录在所述虚拟机迁移排除表中的物理主机标识对应的物理主机作为目标物理主机。
91.可选地,所述告警的vtep所下辖的所有物理主机标识从所述vtep告警信息中获取;
92.所述告警解除的vtep所下辖的所有物理主机标识从所述vtep告警解除信息中获取。
93.可选地,在获取到某一vm的待迁移信息之前,所述方法还包括:
94.创建所述某一vm;
95.向所述某一vm发出发送免费arp请求的命令,以使所述某一vm根据所述命令发出免费arp请求,进而使得sdn控制器根据所述免费arp请求生成所述某一vm的arp表项,并发送所述某一vm的第一流表给所有vtep;
96.向sdn控制器发送所述某一vm的生成信息,以使sdn控制器根据所述生成信息添加所述某一vm所归属的物理主机标识至所述某一vm的arp表项中;
97.接收sdn控制器根据所述生成信息发送的所述某一vm的生成响应信息,并从所述生成响应信息中获取所述某一vm所上联的vtep信息。
98.具体而言,本实施例对应的虚拟机vm迁移系统(也即采用分布式网关架构的evpn)如图2所示,本实施例所述的方法应用于图2中的云管理平台,云管理平台负责整个evpn的管理,在云数据中心设置sdn控制器,sdn控制器与云管理平台通过tcp(transmission control protocol,传输控制协议)实现对接,选择一个未定义端口作为tcp数据包的端口,sdn控制器与云管理平台之间通过心跳信息保持连接。
99.为了通过sdn控制器与云管理平台的交互,实现对evpn的虚拟机生成管理和虚拟机迁移管理,还需要定义sdn控制器与云管理平台之间的通信信息类型包括:
100.(a)虚拟机生成信息,其内容包括:所生成的虚拟机的ip地址、mac地址、vlan(virtual local area network,虚拟局域网)、所归属的物理主机标识;
101.(b)虚拟机生成响应信息,其内容包括:所响应的虚拟机的ip地址、mac地址、vlan和所归属的vtep;
102.(c)vtep告警信息,其内容包括:告警的vtep所下辖的所有物理主机标识;
103.(d)vtep告警解除信息,其内容包括:告警解除的vtep所下辖的所有物理主机标识;
104.(e)虚拟机迁移确认信息,其内容包括:完成迁移的虚拟机的ip地址、mac地址、vlan、迁移前的物理主机标识、迁移后的物理主机标识。
105.sdn控制器还创建并记录每一虚拟机的arp表项,其内容包括:所记录的虚拟机的mac地址、arp地址、所归属的vtep、所归属的物理主机标识。
106.sdn控制器连接k个vtep(vtep1、vtep 2、
……
、vtepk),每个vtep下联若干个物理主机,假设如图2所示系统中包括m个物理主机(物理主机1、物理主机2、
……
、物理主机m),每个物理主机上可以设置若干个vm,假设如图2所示系统中包括n个vm(vm1、vm2、vm3、
……
、vmn)。
107.一个更具体的迁移示例,如将图2中的vm1从物理主机1对外迁移,在迁移之前,首先vm1是在云管理平台的管理下创建的,创建vm1的过程包括:
108.(1)云管理平台创建vm1,根据创建时的条件,vm1设置在物理主机1中,且通过物理主机1上联至vtep1;
109.(2)vm1创建成功后,云管理平台向vm1发出发送免费arp请求的命令;
110.(3)vm1接收到命令后,发送免费arp请求,vtep1接收到该免费arp请求,并转发给sdn控制器;
111.(4)sdn控制器根据该免费arp请求生成vm1的arp表项,并下发vm1的第一流表给所有vtep;
112.(5)云管理平台向sdn控制器发送vm1的生成信息;
113.(6)sdn控制器接收到该生成信息后,获悉vm1所归属的物理主机标识,并添加到vm1的arp表项中,进而向云管理平台反馈vm1的生成响应信息;
114.(7)云管理平台接收到该生成响应信息后,获悉vm1归属于vtep1,也即物理主机1归属于vtep1。
115.在迁移之前,云管理平台还通过与sdn控制器交互,记录vtep的arp表项的数量是否达到自身预设阈值,即是否将达到最大规格,具体记录过程包括:
116.(8)当某一个分布式网关如vtep2的arp表项的数量达到自身预设阈值时,vtep2通过北向接口如openflow协议向sdn控制器发送自身的arp表项告警信息;
117.(9)sdn控制器创建arp表项告警信息表,把vtep2的设备标识放置在arp表项告警信息表中;
118.(10)sdn控制器向云管理平台发送vtep告警信息,其中包括告警的vtep2所下辖的所有物理主机标识;
119.(11)云管理平台接收到该vtep告警信息后,创建虚拟机迁移排除表,在虚拟机迁移排除表中记录vtep告警信息中的所有物理主机标识;
120.(12)当某一个分布式网关如vtep2的arp表项的数量低于自身预设阈值时,vtep2通过北向接口如openflow协议向sdn控制器发送自身的arp表项告警解除信息;
121.(13)sdn控制器把vtep2的设备标识从arp表项告警信息表中删除;
122.(14)sdn控制器向云管理平台发送vtep告警解除信息,其中包括告警解除的vtep2所下辖的所有物理主机标识;
123.(15)云管理平台接收到该vtep告警解除信息后,从虚拟机迁移排除表中删除vtep告警解除信息中的所有物理主机标识。
124.经过上述(1)-(15)的步骤后,虚拟机vm1迁移时,可以方便地选出arp表项数量没有达到自身预设阈值的vtep,具体选择过程包括:
125.(16)当云管理平台获取到vm1待迁移的信息后,查询虚拟机迁移排除表,把表中的物理主机排除在待迁移的物理主机选项之外,并从没有记录在虚拟机迁移排除表中的物理主机中选择一个目标物理主机;例如,如果虚拟机迁移排除表中记录vtep2所下辖的物理主机被排除,而vtep1所下辖的物理主机没有被排除,那么可以优先选择vtep1所下辖的物理主机2作为目标物理主机,如果虚拟机迁移排除表中记录vtep1所下辖的物理主机被排除,那么可以选择vtepk所下辖的物理主机m作为目标物理主机等;可以理解的是,即使某一vtep没有作为分布式网关,因其不会被记录为arp表项达到自身预设阈值,因此也不会影响本发明的实施。
126.如图1所示,s12、将所述某一vm迁移至所述目标物理主机。
127.在一个更具体的迁移示例中,经过步骤(16)选择目标物理主机后,云管理平台管理vm1的迁移过程,包括:
128.(17)云管理平台从没有记录在虚拟机迁移排除表中的物理主机中选择一个目标物理主机后,将vm1迁移至选定的目标物理主机,并在确认迁移成功后,生成vm1的迁移确认信息。
129.如图1所示,s13、向软件定义网络sdn控制器发送所述某一vm的迁移确认信息,以使所述sdn控制器根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表。
130.可选地,所述迁移确认信息中包括:所述某一vm迁移前的物理主机标识和迁移后的物理主机标识。
131.在一个更具体的迁移示例中,经过步骤(17)完成vm1的迁移后,还需要完成vm1的流表更新,具体包括:
132.(18)云管理平台向sdn控制器发送vm1的迁移确认信息;
133.(19)sdn控制器根据该迁移确认信息查询出vm1迁移后的vtep,通过arp表项判断vm1是否迁移到其它vtep;
134.(20)如果vm1仍然归属vtep1,sdn控制器向vtep1发送清除vm1的第一流表信息;sdn控制器向vtep1发送针对vm1的arp请求,并指示只是在下联的二层vni域内进行广播;vtep1接收到针对vm1的arp请求后在下联的二层vni域内进行广播;vm1接收到arp请求后发送arp响应;vtep1接收到vm1的arp响应后转发给sdn控制器;sdn控制器发送vm1的第二流表给vtep1。
135.(21)如果vm1迁移到vtepk,sdn控制器向所有vtep发送清除vm1的第一流表信息;sdn控制器向vtepk发送针对vm1的arp请求,并指示只是在下联的二层vni域内进行广播;vtepk接收到针对vm1的arp请求后在下联的二层vni域内进行广播,vm1接收到arp请求后发送arp响应,vtepk接收到vm1的arp响应后转发给sdn控制器,sdn控制器发送vm1的第二流表给所有的vtep。
136.通过上述(16)-(21)的步骤后,vm1被成功迁移至arp表项数量没有达到最大规格的vtep,且完成流表更新后,针对vm1的数据报文可以被迁移后的vtep成功转发。
137.实施例2:
138.如图3所示,本发明提供实施例2一种虚拟机vm迁移方法,应用于软件定义网络sdn控制器,具体通过sdn控制器控制vm迁移后vtep流表更新,使得vtep能为vm成功转发数据报文,所述方法包括步骤s21-s22。
139.如图3所示,s21、接收云管理平台发送的某一vm的迁移确认信息;其中,所述迁移确认信息是所述云管理平台在获取到所述某一vm的待迁移信息时,选择地址解析协议arp表项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为目标物理主机,并将所述某一vm迁移至所述目标物理主机后发送的;
140.如图3所示,s22、根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表。
141.可选地,接收云管理平台发送的某一vm的迁移确认信息之前,所述方法还包括:
142.向云管理平台发送表示作为分布式网关的vtep的arp表项的数量达到自身预设阈值的vtep告警信息,以使云管理平台将告警的vtep所下辖的所有物理主机标识记录在虚拟机迁移排除表中;
143.向云管理平台发送表示作为分布式网关的vtep的arp表项的数量低于自身预设阈值的vtep告警解除信息,以使云管理平台将告警解除的vtep所下辖的所有物理主机标识从所述虚拟机迁移排除表中删除。
144.可选地,向云管理平台发送表示作为分布式网关的vtep的arp表项的数量达到自身预设阈值的vtep告警信息之前,所述方法还包括:
145.接收告警的vtep发送的表示自身的arp表项的数量达到自身预设阈值的arp表项告警信息,并将告警的vtep的设备标识记录在arp表项告警信息表中;
146.向云管理平台发送表示作为分布式网关的vtep的arp表项的数量低于自身预设阈值的vtep告警解除信息之前,所述方法还包括:
147.接收告警解除的vtep发送的表示自身的arp表项的数量低于自身预设阈值的arp表项告警解除信息,并将告警解除的vtep的设备标识从所述arp表项告警信息表中删除。
148.可选地,接收云管理平台发送的某一vm的迁移确认信息之前,所述方法还包括:
149.接收vtep转发的所述某一vm的免费arp请求,所述免费arp请求是所述某一vm在创建后根据云管理平台发送的发送免费arp请求的命令发送的;
150.根据所述免费arp请求生成所述某一vm的arp表项,并向所有vtep发送所述某一vm的第一流表;
151.接收云管理平台发送的所述某一vm的生成信息,并根据所述生成信息将所述某一vm所归属的物理主机标识添加至所述某一vm的arp表项中;
152.根据所述生成信息向云管理平台发送所述某一vm的生成响应信息,以使云管理平台根据所述生成响应信息获取所述某一vm所上联的vtep信息。
153.可选地,根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表,具体包括:
154.根据所述迁移确认信息查询所述某一vm的arp表项,以判断所述某一vm所上联的vtep是否发生改变;
155.如果否,控制所述某一vm所上联的vtep更新所述某一vm的流表;
156.如果是,控制所有vtep更新所述某一vm的流表。
157.可选地,所述控制所述某一vm所上联的vtep更新所述某一vm的流表,具体包括:
158.指示所述某一vm所上联的vtep清除所述某一vm的第一流表;
159.指示所述某一vm所上联的vtep在自身下联的二层可扩展虚拟局域网络的域内广播针对所述某一vm的arp请求;
160.接收所述某一vm所上联的vtep转发的所述某一vm根据所述arp请求发送的arp响应;
161.根据所述arp响应生成所述某一vm的第二流表,并将所述第二流表发送给所述某一vm所上联的vtep;
162.所述控制所有vtep更新所述某一vm的流表,具体包括:
163.指示所有vtep清除所述某一vm的第一流表;
164.指示所述某一vm迁移后所上联的vtep在自身下联的二层可扩展虚拟局域网络的域内广播针对所述某一vm的arp请求;
165.接收所述某一vm迁移后所上联的vtep转发的所述某一vm根据所述arp请求发送的arp响应;
166.根据所述arp响应生成所述某一vm的第二流表,并将所述第二流表发送给所有vtep。
167.本实施例2是与实施例1对应的交互流程,详细过程可参照实施例1进行理解,在此不再赘述。
168.实施例3:
169.如图4所示,本发明实施例3提供一种云管理平台,包括:
170.选择模块11,用于用于在获取到某一vm的待迁移信息时,选择地址解析协议arp表项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为目标物理主机;
171.迁移模块12,与所述选择模块11连接,用于将所述某一vm迁移至所述目标物理主机;
172.发送模块13,与所述迁移模块12连接,用于向软件定义网络sdn控制器发送所述某一vm的迁移确认信息,以使所述sdn控制器根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表。
173.可选地,所述云管理平台还包括vtep告警记录模块,具体包括:
174.vtep告警记录单元,用于接收sdn控制器发送的表示作为分布式网关的vtep的arp表项的数量达到自身预设阈值的vtep告警信息,并将告警的vtep所下辖的所有物理主机标识记录在虚拟机迁移排除表中;
175.vtep告警删除单元,用于接收sdn控制器发送的表示作为分布式网关的vtep的arp表项的数量低于自身预设阈值的vtep告警解除信息,并将告警解除的vtep所下辖的所有物理主机标识从所述虚拟机迁移排除表中删除;
176.选择模块11具体用于:
177.选择没有记录在所述虚拟机迁移排除表中的物理主机标识对应的物理主机作为目标物理主机。
178.可选地,所述告警的vtep所下辖的所有物理主机标识从所述vtep告警信息中获
取;
179.所述告警解除的vtep所下辖的所有物理主机标识从所述vtep告警解除信息中获取。
180.可选地,所述云管理平台还包括vm创建模块,具体包括:
181.vm创建单元,用于创建所述某一vm;
182.第一发送单元,与所述vm创建单元连接,用于向所述某一vm发出发送免费arp请求的命令,以使所述某一vm根据所述命令发出免费arp请求,进而使得sdn控制器根据所述免费arp请求生成所述某一vm的arp表项,并发送所述某一vm的第一流表给所有vtep;
183.第二发送单元,与所述创建单元连接,用于向sdn控制器发送所述某一vm的生成信息,以使sdn控制器根据所述生成信息添加所述某一vm所归属的物理主机标识至所述某一vm的arp表项中;
184.第一接收单元,与所述第二发送单元连接,用于接收sdn控制器根据所述生成信息发送的所述某一vm的生成响应信息,并从所述生成响应信息中获取所述某一vm所上联的vtep信息。
185.可选地,所述迁移确认信息中包括:所述某一vm迁移前的物理主机标识和迁移后的物理主机标识。
186.实施例4:
187.如图5所示,本发明实施例4提供一种软件定义网络sdn控制器,包括:
188.接收模块21,用于接收云管理平台发送的某一vm的迁移确认信息;其中,所述迁移确认信息是所述云管理平台在获取到所述某一vm的待迁移信息时,选择地址解析协议arp表项的数量没有达到自身预设阈值的可扩展虚拟局域网络隧道端点vtep所下辖的物理主机作为目标物理主机,并将所述某一vm迁移至所述目标物理主机后发送的;
189.控制模块22,与所述接收模块21连接,用于根据所述迁移确认信息控制受本次迁移影响的vtep更新所述某一vm的流表。
190.可选地,所述sdn控制器还包括vtep告警发送模块,具体包括:
191.vtep告警发送单元,用于向云管理平台发送表示作为分布式网关的vtep的arp表项的数量达到自身预设阈值的vtep告警信息,以使云管理平台将告警的vtep所下辖的所有物理主机标识记录在虚拟机迁移排除表中;
192.vtep告警解除发送单元,用于向云管理平台发送表示作为分布式网关的vtep的arp表项的数量低于自身预设阈值的vtep告警解除信息,以使云管理平台将告警解除的vtep所下辖的所有物理主机标识从所述虚拟机迁移排除表中删除。
193.可选地,所述sdn控制器还包括vtep告警接收模块,具体包括:
194.vtep告警接收单元,用于接收告警的vtep发送的表示自身的arp表项的数量达到自身预设阈值的arp表项告警信息,并将告警的vtep的设备标识记录在arp表项告警信息表中;
195.vtep告警解除接收单元,用于接收告警解除的vtep发送的表示自身的arp表项的数量低于自身预设阈值的arp表项告警解除信息,并将告警解除的vtep的设备标识从所述arp表项告警信息表中删除。
196.可选地,所述sdn控制器还包括arp表项记录模块,具体包括:
197.arp请求接收单元,用于接收vtep转发的所述某一vm的免费arp请求,所述免费arp请求是所述某一vm在创建后根据云管理平台发送的发送免费arp请求的命令发送的;
198.arp表项生成单元,与所述arp请求接收单元连接,用于根据所述免费arp请求生成所述某一vm的arp表项,并向所有vtep发送所述某一vm的第一流表;
199.物理主机标识添加单元,与所述arp表项生成单元连接,用于接收云管理平台发送的所述某一vm的生成信息,并根据所述生成信息将所述某一vm所归属的物理主机标识添加至所述某一vm的arp表项中;
200.生成响应信息发送单元,与所述物理主机标识添加单元,用于根据所述生成信息向云管理平台发送所述某一vm的生成响应信息,以使云管理平台根据所述生成响应信息获取所述某一vm所上联的vtep信息。
201.可选地,控制模块22,具体包括:
202.判断单元,用于根据所述迁移确认信息查询所述某一vm的arp表项,以判断所述某一vm所上联的vtep是否发生改变;
203.控制单元,与所述判断单元连接,用于如果否,控制所述某一vm所上联的vtep更新所述某一vm的流表;以及,
204.用于如果是,控制所有vtep更新所述某一vm的流表。
205.可选地,控制单元,具体包括:
206.第一指示子单元,用于指示所述某一vm所上联的vtep清除所述某一vm的第一流表;
207.第二指示子单元,与所述第一指示子单元连接,用于指示所述某一vm所上联的vtep在自身下联的二层可扩展虚拟局域网络的域内广播针对所述某一vm的arp请求;
208.arp响应接收子单元,与所述第二指示子单元连接,用于接收所述某一vm所上联的vtep转发的所述某一vm根据所述arp请求发送的arp响应;
209.流表发送子单元,与所述arp响应接收子单元连接,用于根据所述arp响应生成所述某一vm的第二流表,并将所述第二流表发送给所述某一vm所上联的vtep;
210.第一指示子单元,还用于指示所有vtep清除所述某一vm的第一流表;
211.第二指示子单元,还用于指示所述某一vm迁移后所上联的vtep在自身下联的二层可扩展虚拟局域网络的域内广播针对所述某一vm的arp请求;
212.arp响应接收子单元,还用于接收所述某一vm迁移后所上联的vtep转发的所述某一vm根据所述arp请求发送的arp响应;
213.流表发送子单元,还用于根据所述arp响应生成所述某一vm的第二流表,并将所述第二流表发送给所有vtep。
214.实施例5:
215.如图6所示,本发明实施例5提供一种虚拟机vm迁移装置,所述装置包括存储器10和处理器20,所述存储器10中存储有计算机程序,当所述处理器20运行所述存储器10存储的计算机程序时,所述处理器20执行如实施例1或如实施例2所述的虚拟机vm迁移方法。
216.其中,存储器10与处理器20连接,存储器10可采用闪存或只读存储器或其他存储器,处理器20可采用中央处理器或单片机。
217.所述存储器10包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序
模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read-only memory,只读存储器),eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compact disc read-only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
218.实施例6:
219.本发明实施例6提供一种虚拟机vm迁移系统,包括:
220.云管理平台,用于执行如实施例1所述的虚拟机vm迁移方法;
221.软件定义网络sdn控制器,与所述云管理平台连接,用于执行如实施例2所述的虚拟机vm迁移方法。
222.具体而言,在本实施例中,所述vm迁移系统可以如图2所示,其详细地说明可参见实施例1,在此不再赘述。
223.本发明实施例1-6提供一种虚拟机vm迁移方法、云管理平台、软件定义网络sdn控制器、装置及系统,在分布式网关架构的虚拟网络中进行vm迁移时,通过选择arp表项的数量没有达到自身预设阈值的vtep所下辖的物理主机作为vm迁移的目标物理主机,使得迁移后的vm上联arp表项的数量没有达到最大规格的vtep,从而使得vm可以通过所上联的vtep成功转发数据报文。
224.可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1