一种在计算节点上实现虚拟机南北向通信的方法技术

技术编号:15180374 阅读:112 留言:0更新日期:2017-04-16 07:25
本发明专利技术涉及虚拟机通信技术领域,特别是一种在计算节点上实现虚拟机南北向通信的方法。所述方法包括:在虚拟机所在计算节点上安装iproute工具,创建netns1并加入虚拟机相关的接口,创建netns2并增加连通外网的接口和路由,创建veth设备连通netns1和netns2,在netns1和netns2中添加路由策略。采用本发明专利技术提供的方法可以解决云平台中网络节点的单点故障问题,同时提高网络通信性能;用于云计算节点上实现虚拟机南北向通信。

【技术实现步骤摘要】

本专利技术涉及虚拟机通信
,特别是一种在计算节点上实现虚拟机南北向通信的方法
技术介绍
策略路由及路由策略数据库路由策略数据库的规则用于控制选择路由的算法。Internet上采用的路由算法一般是基于数据包目的地址的,而在某些情况下,我们不只是需要通过数据包的目的地址决定路由,可能还需要通过其他一些域,如:源地址、IP协议、传输层端口甚至数据包的负载。这就叫做:策略路由(policyrouting)。目前所有的在用Linux内核都默认支持策略路由,我们可以使用iproute提供的iprule,iproute等工具来实现。云计算的发展催生了各级别的云平台,一般云平台通用的特点就是存在网络节点单点故障问题,即所有计算节点的虚拟机数据包,尤其是南北向的数据通信(南北向通信是指内部私有网络与外部公网或者管理网进行数据通信,即进行外网通信)都必须经过网络节点来实现;这样当网络节点发生故障时,所有虚拟机的通信都中断。虽然目前有提出利用网络节点HA,即多个网络节点来避免单点故障,但是这样的方法也存在如下问题:1、网络性能差,HA解决的是单点故障,当一个节点错误时,另一个节点接管错误节点的所有功能,对于虚拟机南北向数据通信,所有虚拟机的数据包都是发到这个网络节点来实现的,所以会造成通信质量差的问题。2、无法做到区域隔离,即所有计算节点的虚拟机在通信过程中都是相互影响的,极端情况下,如果HA的网络节点都错误,或者某一台虚拟机的网络通信占满网卡带宽,那所有的其他虚拟机都会无法通信。
技术实现思路
本专利技术解决的技术问题在于提供一种在计算节点上实现虚拟机南北向通信的方法,实现各个计算节点上让虚拟机进行南北向通信,且相互之间完全隔离;避免云平台中存在的网络节点单点故障问题,同时极大的提高了网络通信质量。本专利技术解决上述技术问题的技术方案是,所述的方法是先在虚拟机所在计算节点上安装iproute工具;然后,创建netns1并加入虚拟机相关的接口,创建netns2并增加连通外网的接口和路由;再创建veth设备连通netns1和netns2;最后在netns1和netns2中添加路由策略。所述的iproute是一个用以替代net-tools的linux网络管理工具;所述的netns1和netns2是linux命名空间,不同的命名空间使用不同的网络协议栈,各自互不影响;其提供网络资源的隔离方案。所述的创建netns1并加入虚拟机相关的接口中,接口指的是虚拟机所在网络子网的网关接口,保证虚拟机在进行南北向通信时默认路由指向该接口;所述的网关接口定义在openvswitch(开放虚拟交换标准,是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准)的虚拟网桥br-int上,且配置了本地tag,用于实现二层隔离。所述的创建netns2并增加连通外网的接口和路由进一步包括:所述的外网的接口可以是定义在openvswitch虚拟网桥上的接口,也可以是直接连通外网网络的物理网卡接口;如果是虚拟网桥上的接口,则进一步需要保证该虚拟网桥有连通外网的能力;所述的能力可以是直接在所述虚拟网桥上添加外网网卡,也可以通过类似openflow流规则控制数据包流向外网;所述的增加连通外网的路由是指虚拟机南北向通信过程中出去的路由规则。所述的veth设备是利用iproute工具成对创建出来的虚拟设备;所述的创建veth设备连通netns1和netns2是指分别将成对生成的虚拟设备一个加入netns1命名空间,另一个加入netns2命名空间。所述的在netns1和netns2中添加路由策略进一步包括:在两个命名空间中分别为veth设备的两端设置网络IP;在netns1中添加从外网进来继而转发到netns2命名空间的路由规则;在netns2中增加linux高级路由策略,保证虚拟机数据包进来继而转发到netns1命名空间;所述的linux高级路由策略是指根据路由策略数据库来选择执行路由规则,这些规则可以有多种不同的状态,完全由管理员控制。本专利技术方案的有益效果如下:1、提供一种方法让虚拟机直接通过计算节点进行南北向数据通信,解决了云平台中存在的网络节点单点故障问题。2、本专利技术方法极大的提升了虚拟机南北向通信的通信质量。3、本专利技术实现了各个计算节点上的虚拟机之间南北向通信完全隔离,相互之间无影响,实现了虚拟机通信的区域化管理。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员没有做出实质性创造获得的方案,都属于本专利技术保护的范围。请参见图1,为本专利技术实施例提供的一种在计算节点上实现虚拟机南北向通信的方法的流程示意图,本实施类以其中一个计算节点为例进行描述,其他计算节点类似。所述方法包括:首先安装iproute工具:yuminstalliproute接着利用ip工具创建命名空间qrouter-f60bd48a-3282-40de-ae1a-c72963253c66,并添加虚拟机所在网络子网的网关接口,同时配置网关IP:ipnetnsaddqrouter-f60bd48a-3282-40de-ae1a-c72963253c66ovs-vsctladd-portbr-intqr-4b9cbdc2-80--setInterfacedev-testtype=internaliplinksetqr-4b9cbdc2-80netnsqrouter-f60bd48a-3282-40de-ae1a-c72963253c66为虚拟机网关节点qr-4b9cbdc2-80设置网关ip:ipnetnsexecqrouter-f60bd48a-3282-40de-ae1a-c72963253c66ipaddradd12.12.1.1/24devqr-4b9cbdc2-80继续创建命名空间fip-21138cb8-1090-41cb-87d7-aadfe954af45并增加连通外网的接口和路由:ipnetnsaddfip-21138cb8-1090-41cb-87d7-aadfe954af45同网关接口一样在fip-21138cb8-1090-41cb-87d7-aadfe954af45空间内增加通外网接口fg-1594c406-99,并设置外网IP,并做arp代理。ipnetnsexecfip-21138cb8-1090-41cb-87d7-aadfe954af45sysctlnet.ipv4.conf.fg-081d537b-06.proxy_arp添加通外网的默认路由:ipnetnsexecfip-21138cb8-1090-41cb-87d7-aadfe954af45iprouteadddefaultvia20.251.43.254devfg-081d537b-06创建veth设备连通qrouter-f60bd48a-3282-40de-ae1a-c72963253c66和fip-21138cb8-1090-41cb-87d7-aadfe954af45两个namesp本文档来自技高网...

【技术保护点】
一种在计算节点上实现虚拟机南北向通信的方法,其特征在于,所述的方法是先在虚拟机所在计算节点上安装iproute工具;然后,创建netns1并加入虚拟机相关的接口,创建netns2并增加连通外网的接口和路由;再创建veth设备连通netns1和netns2;最后在netns1和netns2中添加路由策略。

【技术特征摘要】
1.一种在计算节点上实现虚拟机南北向通信的方法,其特征在于,所述的方法是先在虚拟机所在计算节点上安装iproute工具;然后,创建netns1并加入虚拟机相关的接口,创建netns2并增加连通外网的接口和路由;再创建veth设备连通netns1和netns2;最后在netns1和netns2中添加路由策略。2.根据权利要求1所述的方法,其特征在于:所述的iproute是一个用以替代net-tools的linux网络管理工具;所述的netns1和netns2是linux命名空间,不同的命名空间使用不同的网络协议栈,各自互不影响;其提供网络资源的隔离方案。3.根据权利要求1所述的方法,其特征在于,所述的创建netns1并加入虚拟机相关的接口中,接口指的是虚拟机所在网络子网的网关接口,保证虚拟机在进行南北向通信时默认路由指向该接口;所述的网关接口定义在openvswitch的虚拟网桥br-int上,且配置了本地tag,用于实现二层隔离。4.根据权利要求2所述的方法,其特征在于,所述的创建netns1并加入虚拟机相关的接口中,接口指的是虚拟机所在网络子网的网关接口,保证虚拟机在进行南北向通信时默认路由指向该接口;所述的网关接口定义在openvswitch的虚拟网桥br-int上,且配置了本地tag,用于实现二层隔离。5.根据权利要求1至4任一项所述的方法,其特征在于,所述的创建netns2并增加连通外网的接口和路由进一步包括:所述的外网的接口可以是定义在openvswitch虚拟网桥上的接口,也可以是直接连通外网网络的物理网卡接口;如果是虚拟网桥上的接口,则进一步需要保证该虚拟网桥有连通外网的能力;所述的能力可以是直接在所述虚拟网桥上添加外网网卡,也可以通过类似openflow流规则控制数据包流向外网;所述的增加连通外网的路由是指虚拟机南北向通信过程中出去的路由规则。6.根据权利要求1至4任一项所述的方法,其特征在于,所述的veth设备是利用iproute工具成对创建出来的虚拟设备;所述的创建v...

【专利技术属性】
技术研发人员:熊梦杨松季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1