一种单网卡实现业务网与管理网隔离的装置与方法与流程

文档序号:37374951发布日期:2024-03-22 10:27阅读:11来源:国知局
一种单网卡实现业务网与管理网隔离的装置与方法与流程

本发明涉及数据中心网络部署,尤其涉及一种单网卡实现业务网与管理网隔离的装置与方法。


背景技术:

1、在数据中心网络部署中,为了满足网络的高可用和隔离,通常会实现多个网络平面,包含带外管理网、带内管理网、业务数据网、存储网等多种网络平面。最基本的要求是业务网和管理网需要隔离,以保证管理网不受业务影响,能正常进行服务器的管理。

2、如果受限于服务器硬件配置,只有一张网卡,通常内核模式下会将双网口做绑定,然后使用不同的vlan(virtuallocalareanetwork,虚拟局域网)子接口承载业务网和管理网。在高性能应用场景下,为了绕过内核栈,提高网络转发性能,通常采用基于dpdk

3、(dataplanedevelopmentkit,数据平面开发套件,是由6wind,intel等多家公司开发,主要基于linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率)等用户态框架的应用来承载网络转发。如ovs-dpdk(ovs,是openvswitch的简称,开放式虚拟交换机,ovs是一个支持多层数据转发的高质量虚拟交换机,主要部署在服务器上,相比传统交换机具有很好的编程扩展性,同时具备传统交换机实现的网络隔离和数据转发功能,运行在每个实现虚拟化的物理机器上,并提供远程管理)、vpp(vectorpacketprocessing,矢量数据包处理)都是这样的高性能包处理应用。dpdk实现了网卡的用户态驱动,基于uio/vfio(userspacei/o,uio,用户空间i/o(input/output,输入/输出)是运行在用户空间的i/o技术。linux系统中一般的驱动设备都是运行在内核空间,而在用户空间用应用程序调用即可,而uio则是将驱动的很少一部分运行在内核空间,而在用户空间实现驱动的绝大多数功能!使用uio可以避免设备的驱动程序需要随着内核的更新而更新的问题。vfio为virtualfunctionio,虚拟功能io)实现。如果网卡支持sriov(sr-iov(singlerooti/ovirtualization,单root(linux中超级管理员账户)i/o虚拟化)可允许windows操作系统和微软的hyper-v或vmware的esxi等hypervisor(一种模拟器,提供虚拟化服务)对服务器的磁盘i/o设备,如现在sr-iov对网卡设备一样进行封装,管理甚至共享),可以使用pf(physicalfunction,物理功能)承载管理网,vf(virtualfunction,虚拟功能)承载业务网,来进行隔离。但如果网卡不支持sriov,网卡被ovs-dpdk或vpp接管后,通过不同的tap口承载业务网和管理网,一旦ovs-dpdk或vpp异常,不仅业务网受影响,管理网也不可用,影响后续的修复。


技术实现思路

1、为解决现有技术中存在的问题,满足单网卡场景下,既能使用dpdk提升业务平面性能,在dpdk异常时,又能不影响管理面的可用性,本发明提出了一种单网卡实现业务网与管理网隔离的装置及方法,通过增加网卡配置复制功能及dpdk应用检测能力,网卡管理代理端根据网卡管理服务端对请求接管网卡的响应报文,控制ovs-dpdk或vpp使用dpdk命令,创建一个与原内核态相同ip地址的tap口,承载管理网流量,使业务网和管理网都运行在dpdk模式下,接管网卡运行在用户态,实现网卡由内核态到用户态的自动切换。本发明实现了单网卡场景下,dpdk应用下业务网和管理网的隔离,当dpdk应用异常时,管理网可以正常切换到内核模式,提高了管理网的可用性。

2、本发明提供了一种单网卡实现业务网与管理网隔离的装置,用于单网卡服务器,且网卡不支持sriov,包括一组安装在各服务节点中的网卡管理插件,所述网卡管理插件包括网卡管理服务端和网卡管理代理端;

3、其中,各服务节点中的网卡管理服务端相同,各服务节点中的网卡管理代理端根据dpdk应用不同而不同;

4、所述网卡管理服务端和所述网卡管理代理端通过rpc连接进行通信;所述网卡管理代理端与ovs或vpp处于同一pod(pod是kubernetes最小的管理单位,一个pod可以封装一个容器或多个容器。一个pod里的多个容器可以共享存储和网络,一个pod可以看作一个逻辑上的主机)或docker中;

5、所述网卡管理代理端向所述网卡管理服务端发送接管网卡的请求报文,所述网卡管理代理端在发送给所述网卡管理代理端的响应报文中携带网卡在内核态下的配置信息,所述网卡管理代理端在收到响应报文时,在所述网卡管理服务端和所述网卡管理代理端之间建立心跳检测机制,所述网卡管理代理端控制ovs-dpdk或vpp使用dpdk命令接管网卡,使网卡运行在用户态,并使业务网和管理网将都运行在dpdk模式下。

6、优选地,所述网卡管理代理端控制ovs-dpdk或vpp使用dpdk命令接管网卡,使网卡运行在用户态,并使业务网和管理网将都运行在dpdk模式下具体包括:

7、所述网卡管理代理端控制ovs-dpdk或vpp使用dpdk命令接管网卡,使网卡运行在用户态,并根据响应报文内容,向ovs-dpdk或vpp下发控制命令,创建一个与原内核态相同ip地址的tap口,承载管理网流量,使业务网和管理网都运行在dpdk模式下。

8、优选地,所述网卡管理代理端检测ovs或vpp的活动状态,以上报给所述网卡管理服务端决定是否将网卡切换回内核态模式。

9、优选地,当所述网卡管理服务端根据心跳检测机制判断ovs-dpdk或vpp异常时,将网卡重新强制重置到内核态模式,并恢复原有的内核态配置,使管理网可用。

10、优选地,所述服务节点启动所述网卡管理服务端服务后,所述网卡管理服务端检查当下网卡的配置,并记录,然后开启rpc服务;启动ovs-dpdk或vpp和所述网卡管理代理端所在的pod,所述网卡管理服务端和所述网卡管理代理端建立rpc连接。

11、优选地,所述网卡管理服务端接收到所述网卡管理代理端发送的接管网卡的请求报文后,进行鉴权并回复响应报文给所述网卡管理代理端。

12、优选地,各服务节点中的网卡管理代理端根据dpdk应用不同而不同,具体为:针对ovs-dpdk应用实现ovs-dpdk的所述网卡管理代理端,对于vpp应用实现vpp的所述网卡管理代理端,但不同应用的所述网卡管理代理端与所述网卡管理服务端的通信方式和报文格式一致,向ovs-dpdk或vpp下发控制时采用不同的dpdk命令。

13、本发明提供了一种单网卡实现业务网与管理网隔离的方法,使用上述的任一单网卡实现业务网与管理网隔离的装置,包括如下步骤:

14、各服务节点运行所述网卡管理服务端服务,所述网卡管理服务端务会检查当下网卡的配置,并记录;

15、所述网卡管理服务端开启rpc服务;

16、启动ovs-dpdk或vpp和所述网卡管理代理端所在的pod,所述网卡管理服务端和所述网卡管理代理端建立rpc连接;

17、所述网卡管理代理端向所述网卡管理服务端发送接管网卡的请求报文;

18、所述网卡管理服务端处理所述网卡管理代理端请求报文,对所述网卡管理代理端进行鉴权,并回复响应报文给所述网卡管理代理端,所述网卡管理代理端收到相应报文时,在所述网卡管理服务端和所述网卡管理代理端之间建立心跳检测机制;

19、所述网卡管理代理端控制ovs-dpdk或vpp使用dpdk命令接管网卡,使网卡运行在用户态;

20、所述网卡管理代理端根据响应报文内容,向ovs-dpdk或vpp下发控制命令,创建一个与原内核态相同ip地址的tap口,承载管理网流量,使业务网和管理网都运行在dpdk模式下。

21、优选地,当所述网卡管理服务端根据心跳检测机制判断ovs-dpdk或vpp异常时,将网卡重新强制重置到内核态模式,并恢复原有的内核态配置,使管理网可用。

22、与现有技术相对比,本发明的有益效果如下:

23、本发明通过增加网卡配置复制功能及dpdk应用检测能力,网卡管理代理端根据网卡管理服务端对请求接管网卡的响应报文,控制ovs-dpdk或vpp使用dpdk命令,创建一个与原内核态相同ip地址的tap口,承载管理网流量,使业务网和管理网都运行在dpdk模式下,接管网卡运行在用户态,实现网卡由内核态到用户态的自动切换。本发明实现了单网卡场景下,dpdk应用下业务网和管理网的隔离,当dpdk应用异常时,管理网可以正常切换到内核模式,提高了管理网的可用性;对于存量单网卡服务器,可以通过此方式在不影响管理网、业务网隔离的前提下,使用dpdk提升业务网性能。对于新产品的优势在于,dpdk场景可以支持覆盖到单张不支持sriov的网卡,节省了产品成本,提高了产品竞争力。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1