一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟机管理器集群的网络互通方法、计算设备和存储介质与流程

2021-11-09 23:10:00 来源:中国专利 TAG:


1.本发明属于云计算技术领域,具体涉及一种虚拟机管理器集群的网络互通方法、计算设备和存储介质。


背景技术:

2.虚拟机管理器是一种支持创建、运行虚拟机的软件程序,它是现代云计算管理平台运行的核心技术软件。其由于不同的研发背景,当前存在不同的实现技术栈,常见的包括kvm、esxi、xen等,每种也有诸多不同的发布版本。
3.随着云计算相关技术的发展,为提高业务系统的高可用性,实施人员往往希望将业务系统部署在基于不同技术栈的虚拟机管理器中,以规避单一技术栈的兼容性、稳定性风险。而此时如何支撑业务系统内部不同模块间的相互通信,则成为整个系统诉求实现所必须考虑的内容。例如,在当前常见的以国产云计算管理平台替代基于esxi虚拟机管理器技术栈的国外相关产品过程中,为保证业务系统的延续性,需支持迁移到kvm中的业务系统间、或业务系统内部模块间保持互通访问。
4.当前为支持此类业务诉求,云计算管理平台通常会通过物理交换机,对基于不同虚拟机管理器技术栈所搭建的云计算管理平台间设置三层网络的互通。该过程往往需要协调多个业务部门技术人员进行反复讨论:
5.1.首先,需收集互通业务系统所需要的网络规模、业务的隔离需求;
6.2.其次,需与网络管理员进行物理网络确认业务系统所需要网络的隔离网络划分,及特定的硬件设备需求;
7.3.再次,需要协调运维管理员进行物理设备上架和设置;
8.4.最后,才能规划上层的网络,并提交给业务系统部署人员使用。
9.当前用于实现虚拟机管理器集群的网络互通方法,多基于物理硬件方式实现,并对特定类型的网络硬件设备存在强依赖。此外,还存在多角色人员协同引发实施周期长、及由于物理网络限制无法灵活扩容等风险。
10.因此,针对上述技术问题,有必要提供一种基于虚拟机管理器集群的网络互通方法、计算设备和存储介质。


技术实现要素:

11.有鉴于此,本发明的目的在于提供一种基于虚拟机管理器集群的网络互通方法、计算设备和存储介质。
12.为了实现上述目的,本发明一实施例提供的技术方案如下:
13.一种虚拟机管理器集群的网络互通方法,所述网络互通方法包括:
14.部署虚拟机管理器集群,包括:在第二虚拟机管理器集群中部署业务所需的虚拟化管理软件;及在第一虚拟机管理器集群中,部署网络管理软件,第一虚拟机管理器集群作为所有集群的主集群,存储各集群的虚拟网络共享数据;
15.第一虚拟机管理器集群中的第一节点通过网络控制器发送数据包;
16.网络控制器中的虚拟数据交换机接收第一节点发送的数据包,并发送至第一路由;
17.对数据包进行标签封装;
18.第一虚拟数据交换机全局查找数据包的目的地址,并通过底层网络将封装后的数据包发送到第二虚拟机管理器集群;
19.第二虚拟机管理器集群对数据包进行解封装,并根据标签定位第二路由,将解封装后的数据包发送至第二路由;
20.第二虚拟机管理器集群根据标签获取第二节点对应的虚拟交换机端口,并通过虚拟交换机端口将数据包发送至第二节点。
21.一实施例中,所述网络控制器中的虚拟数据交换机通过接口接收第一节点发送的数据包,所述接口包括指向第一路由中本地地址的缺省路由。
22.一实施例中,所述网络互通方法还包括:
23.第一节点为第一路由的本地地址发送arp请求,第一路由上的arp代理响应该arp请求。
24.一实施例中,所述标签包括第一标签和第二标签,第一标签为虚拟数据交换机分配的第二路由,第二标签为第二虚拟机管理器集群中第二节点的目的地址,目的地址包括外层地址和内层地址
25.一实施例中,“第一虚拟数据交换机全局查找数据包的目的地址”具体为:
26.第一虚拟数据交换机通过第一路由上的转发信息表全局查找第二虚拟机管理器集群的目的地址。
27.一实施例中,“第二虚拟机管理器集群对数据包进行解封装,并根据标签定位第二路由,将解封装后的数据包发送至第二路由”具体为:
28.第二虚拟机管理器集群接收封装后的数据包,通过第二路由上的转发信息表全局查找目的地址,当外层地址为本地地址时对数据包进行解封装;
29.第二虚拟机管理器集群通过第二路由上的转发信息表全局查找标签,定位第二路由,并将解封装后的数据包发送至第二路由。
30.一实施例中,“第二虚拟机管理器集群根据标签获取第二节点对应的虚拟交换机端口”具体为:
31.第二虚拟机管理器集群在第二路由中全局查找内层目的地址,获取第二节点对应的虚拟交换机端口。
32.一实施例中,第一虚拟机管理器集群和第二虚拟机管理器集群中的软件为同构同版本、或同构异版本、或异构。
33.本发明另一实施例提供的技术方案如下:
34.一种计算设备,包括:
35.至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行上述的网络互通方法。
36.本发明又一实施例提供的技术方案如下:
37.一种机器可读存储介质,其存储有可执行指令,当所述指令被执行时使得所述机
器执行上述的网络互通方法。
38.本发明具有以下有益效果:
39.本发明只要在虚拟机管理器集群间物理网络二层或三层可达的前提下,无需对物理网络进行调整,根据业务需要在云计算管理平台上自行创建互通的虚拟网络,减少其他业务部门的参与,从而减少与底层物理网络的协作成本以达到快速上线的目标,并支持后续的扩容需求。
附图说明
40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本发明中网络互通方法的流程示意图;
42.图2为本发明一具体实施例中esxi虚拟机管理器的实现架构图;
43.图3为本发明一具体实施例中esxi和kvm集群网络互通的示意图。
具体实施方式
44.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
45.参图1所示,本发明公开了一种基于虚拟机管理器集群的网络互通方法,包括以下步骤:
46.s1、部署虚拟机管理器集群,包括:
47.在第二虚拟机管理器集群中部署业务所需的虚拟化管理软件;
48.在第一虚拟机管理器集群中,部署网络管理软件,第一虚拟机管理器集群作为所有集群的主集群,存储各集群的虚拟网络共享数据;
49.s2、第一虚拟机管理器集群中的第一节点通过网络控制器发送数据包。
50.s3、网络控制器中的虚拟数据交换机接收第一节点发送的数据包,并发送至第一路由。
51.具体地,网络控制器中的虚拟数据交换机通过接口接收第一节点发送的数据包,接口包括指向第一路由中本地地址的缺省路由。
52.第一节点为第一路由的本地地址发送arp请求,第一路由上的arp代理响应该arp请求。
53.s4、对数据包进行标签封装。
54.本发明中的标签包括第一标签和第二标签,第一标签为虚拟数据交换机分配的第二路由,第二标签为第二虚拟机管理器集群中第二节点的目的地址,目的地址包括外层地址和内层地址。
55.s5、第一虚拟数据交换机全局查找数据包的目的地址,并通过底层网络将封装后的数据包发送到第二虚拟机管理器集群。
56.具体地,第一虚拟数据交换机通过第一路由上的转发信息表全局查找第二虚拟机管理器集群的目的地址。
57.s6、第二虚拟机管理器集群对数据包进行解封装,并根据标签定位第二路由,将解封装后的数据包发送至第二路由。
58.该步骤具体为:
59.第二虚拟机管理器集群接收封装后的数据包,通过第二路由上的转发信息表全局查找目的地址,当外层地址为本地地址时对数据包进行解封装;
60.第二虚拟机管理器集群通过第二路由上的转发信息表全局查找标签,定位第二路由,并将解封装后的数据包发送至第二路由。
61.s7、第二虚拟机管理器集群根据标签获取第二节点对应的虚拟交换机端口,并通过虚拟交换机端口将数据包发送至第二节点。
62.其中,第二虚拟机管理器集群在第二路由中全局查找内层目的地址,获取第二节点对应的虚拟交换机端口。
63.优选地,本发明中的第一虚拟机管理器集群和第二虚拟机管理器集群中的软件为同构同版本、或同构异版本、或异构。
64.例如,第一虚拟机管理器集群为esxi虚拟机管理器集群,第一节点为esxi节点;第二虚拟机管理器集群为kvm虚拟机管理器集群,第二节点为kvm节点。当然,本发明中的虚拟机管理管理器并不仅限于kvm和esxi。
65.本发明通过纯软件方式,模拟并运行一个或多个虚拟数据交换机,使得在虚拟机管理器部署所在的物理服务器中的虚拟机流量,通过虚拟数据交换机与外界进行通讯;同时,模拟并运行一个或多个连接到网络控制面进行路由交互的控制面插件。如此可实现网络控制器可按需管理多虚拟机管理器集群中的虚拟网络设备通信,从而构筑相关虚拟网络的二、三层互通能力,并可提供诸如防火墙、负载均衡、弹性ip等更高级的虚拟化网络功能。
66.本发明的一具体实施例中以esxi虚拟机管理器为例,其实现架构如图2所示,esxi允许在物理服务器中部署、监控和管理网络控制器虚拟机,通过这种集成,网络控制器虚拟机被标记为比物理服务器中其它租户虚拟机拥有更高的权限。
67.本发明可以应用于基于esxi、kvm、xen等虚拟机管理器类型的集群之间的互通,在同构同版本(如esxi7.0/esxi7.0)、或同构异版本(如esxi6.6/esxi7.0)、或异构(如kvm/esxi)等集群间互通也可使用同样的操作。
68.参图3所示,本实施例中以esxi和kvm集群(异构)虚拟机互通为例,其具体包括以下步骤:
69.1.esxi集群(esxi node)的节点vm 1a中的应用发送一个数据包,目的地址是kvm集群(kvm node)的节点vm 2a;
70.2.数据包通过网络控制器(sdn dvs)发送给网络控制器虚拟机中的虚拟数据交换机对应接口;
71.3.虚拟数据交换机中的接口有一个缺省路由指向路由实例1a的169.254.x.x本地地址;
72.4.节点vm 1a为这个本地地址发送一个arp请求,在路由实例1a上的arp代理进行响应;
73.5.节点vm 1a发送ip数据包到路由实例1a;
74.6.在路由实例1a上的ip转发信息表(ip fib)会包含相同虚拟网络中其他所有虚拟机的32位路由,包括vm 2a。这些路由是由控制节点通过标准协议安装。对于下一条路由会具有以下操作:
75.a.压入一个标签,该标签为kvm虚拟数据交换机为路由实例2a分配;
76.b.压入一个标签,目的地址为kvm node。
77.7.esxi虚拟数据交换机通过全局ip fib1查找封装包新的目的ip(kvm node的ip);
78.8.esxi虚拟数据交换机通过底层网络(二层、三层网络),发送封装后的数据包到kvm node;
79.9.kvm node接收封装后的数据包,并开始在全局ip fib 2上进行ip查找,当外层目的ip就是本地地址时,会进行解封装,移除标签头,显示出标签头;
80.10.kvm node在全局ip fib 2中执行标签的查找,查找到表项定位在路由实例2a上,解封装包头、移除标签,并把解封装后的数据包发送进入路由实例2a;
81.11.kvm node在ip fib 2a中进行解封装后的内层ip地址的查找,定位路由指向连接节点vm 2a的虚拟交换机端口;
82.12.kvm node发送数据包到节点vm 2a。
83.本发明在网络控制器的基础上,通过在虚拟机管理程序所在物理服务器层面实现虚拟数据交换机数据面转发器和控制面上的控制插件,用软件方式达到多虚拟机管理程序集群虚拟机间的二层、三层网络互通,从而为云计算管理平台软件实现对云虚拟化提供网络上的统一管理,减少对特定型号硬件的依赖,为企业上云和集群间业务迁移节省了对应的开支。
84.本发明只要在虚拟机管理器集群间物理网络二层或三层可达的前提下,无需对物理网络进行调整,根据业务需要在云计算管理平台上自行创建互通的虚拟网络,减少其他业务部门的参与,从而减少与底层物理网络的协作成本以达到快速上线的目标,并支持后续的扩容需求。
85.本发明还公开了一种计算设备,包括:
86.至少一个处理器;以及存储器,存储器存储指令,当指令被至少一个处理器执行时,使得至少一个处理器执行上述的网络互通方法。
87.在本说明书的实施例中,计算设备可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(pda)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
88.本发明还公开了一种机器可读存储介质,其存储有可执行指令,当指令被执行时使得机器执行上述的网络互通方法。
89.具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或
处理器读出并执行存储在该可读存储介质中的指令。
90.在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本说明书的一部分。
91.可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如cd

rom、cd

r、cd

rw、dvd

rom、dvd

ram、dvd

rw、dvd

rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
92.本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本说明书的保护范围应当由所附的权利要求书来限定。
93.需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理客户实现,或者,有些单元可能分由多个物理客户实现,或者,可以由多个独立设备中的某些部件共同实现。
94.以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
95.上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
96.本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所对应的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献