VXLAN实现装置及其工作方法与流程

文档序号:12600474阅读:999来源:国知局
VXLAN实现装置及其工作方法与流程

本发明涉及虚拟化和云领域,特别是指一种应用于虚拟化云环境中的VXLAN实现装置及其工作方法。



背景技术:

随着云计算以及大数据等业务应用的规模落地,以云计算、虚拟化等技术为基础的各种规模化运营的云数据中心越来越多。传统的VLAN(虚拟局域网)技术已经不能满足应用要求,从而提出了VXLAN(Virtual extensible Local Area Network,虚拟可扩展局域网)技术。

在虚拟化云环境中VXLAN相关功能是在服务器上占用CPU的资源(比如用开源虚拟交换机OVS)来实现的,所以存在性能瓶颈,无法满足部分虚拟化主机(VM)高性能网络通道的要求。

在虚拟化和云领域,为了满足VM的网络性能要求,产生了采用输入/输出通道虚拟化(Single Root I/O Virtualization,SR-IOV)的技术,但这个技术当前只能应用在虚拟化云环境中的VLAN网络,而不能用在VXLAN网络。



技术实现要素:

本发明要解决的技术问题是提供一种VXLAN实现装置及其工作方法,能够克服现有虚拟化云环境中SR-IOV和VXLAN两种技术不能融合使用的问题。

一方面,提供一种VXLAN实现装置,应用于虚拟化云环境中,包括:

接收模块,用于接收虚拟局域网VLAN报文,所述VLAN报文是从虚拟机发出的,并通过输入/输出通道虚拟化SR-IOV网卡发送过来;

控制模块,用于通知发送模块,通过SR-IOV网卡发送过来的VLAN报文对应的VXLAN网络;

所述发送模块,用于将所述VLAN报文转换成对应VXLAN网络的报文,并将转换后的VXLAN网络的报文发送出去。

进一步地,还包括:

虚拟化模块,用于在虚拟化环境中的服务器上安装SR-IOV驱动,生成虚拟机需要使用的虚拟网卡;

所述控制模块具体用于在所述虚拟化模块生成虚拟机需要使用的虚拟网卡后,设置SR-IOV通道的VLAN信息,并通过和所述虚拟化模块的接口获取VXLAN网络的信息,形成SR-IOV通道的VLAN信息和VXLAN网络信息的映射关系。

本发明实施例还提供了一种VXLAN实现装置,应用于虚拟化云环境中,包括:

接收模块,用于接收VXLAN网络的报文;

控制模块,用于通知所述发送模块所述VXLAN网络的报文对应的VLAN;

所述发送模块,用于将所述VXLAN网络的报文转换成VLAN报文,并通过SR-IOV网卡将所述VLAN报文发送至虚拟机。

进一步地,还包括:

虚拟化模块,用于在虚拟化环境中的服务器上安装SR-IOV驱动,生成虚拟机需要使用的虚拟网卡;

所述控制模块具体用于在所述虚拟化模块生成虚拟机需要使用的虚拟网卡后,设置SR-IOV通道的VLAN信息,并通过和所述虚拟化模块的接口获取VXLAN网络的信息,形成SR-IOV通道的VLAN信息和VXLAN网络信息的映射关系。

本发明实施例还提供了一种VXLAN实现装置的工作方法,所述VXLAN实现装置应用于虚拟化云环境中,所述方法包括:

接收虚拟局域网VLAN报文,所述VLAN报文是从虚拟机发出,并通过输入/输出通道虚拟化SR-IOV网卡发送过来的;

确定通过SR-IOV网卡发送过来的VLAN报文对应的VXLAN网络;

将所述VLAN报文转换成对应VXLAN网络的报文,并将转换后的 VXLAN网络的报文发送出去。

进一步地,所述接收从虚拟机发出,通过SR-IOV网卡发送过来的VLAN报文之前还包括:

在虚拟化环境中的服务器上安装SR-IOV驱动,生成虚拟机需要使用的虚拟网卡;

设置SR-IOV通道的VLAN信息,并获取VXLAN网络的信息,形成SR-IOV通道的VLAN信息和VXLAN网络信息的映射关系。

本发明实施例还提供了一种VXLAN实现装置的工作方法,应用于虚拟化云环境中,包括:

接收VXLAN网络的报文;

确定所述VXLAN网络的报文对应的VLAN;

将所述VXLAN网络的报文转换成VLAN报文,并通过SR-IOV网卡将所述VLAN报文发送至虚拟机。

进一步地,所述接收VXLAN网络的报文之前还包括:

在虚拟化环境中的服务器上安装SR-IOV驱动,生成虚拟机需要使用的虚拟网卡;

设置SR-IOV通道的VLAN信息,并获取VXLAN网络的信息,形成SR-IOV通道的VLAN信息和VXLAN网络信息的映射关系。

本发明的实施例具有以下有益效果:

本发明的技术方案能够使得SR-IOV技术和VXLAN技术融合使用,克服现有虚拟化云环境中SR-IOV和VXLAN两种技术不能融合使用的问题,从而实现高性能VXLAN网络。

附图说明

图1是本发明实施例VXLAN实现装置的结构示意图;

图2是在OpenStack环境中VXLAN网络与SR-IOV虚拟化主机的启动交互示意图;

图3是本发明实施例一的交互流程示意图;

图4是本发明实施例二的交互流程示意图;

图5是本发明实施例三的框架图;

图6是本发明实施例三的交互流程示意图。

具体实施方式

为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明的实施例针对现有技术中虚拟化云环境中SR-IOV和VXLAN两种技术不能融合使用的的问题,提供一种VXLAN实现装置及其工作方法,能够克服现有虚拟化云环境中SR-IOV和VXLAN两种技术不能融合使用的问题。

本发明实施例提供一种VXLAN实现装置,应用于虚拟化云环境中,如图1所示,本实施例包括:

接收模块,用于接收虚拟局域网VLAN报文,所述VLAN报文是从虚拟机发出的,并通过输入/输出通道虚拟化SR-IOV网卡发送过来;

控制模块,用于通知发送模块,通过SR-IOV网卡发送过来的VLAN报文对应的VXLAN网络;

所述发送模块,用于将所述VLAN报文转换成对应VXLAN网络的报文,并将转换后的VXLAN网络的报文发送出去。

本实施例的技术方案能够使得SR-IOV技术和VXLAN技术融合使用,克服现有虚拟化云环境中SR-IOV和VXLAN两种技术不能融合使用的问题,从而实现高性能VXLAN网络。

其中,接收模块和发送模块可以位于外部硬件加速设备上。

进一步地,所述装置还包括:

虚拟化模块,用于在虚拟化环境中的服务器上安装SR-IOV驱动,生成虚拟机需要使用的虚拟网卡;

所述控制模块具体用于在所述虚拟化模块生成虚拟机需要使用的虚拟网卡后,设置SR-IOV通道的VLAN信息,并通过和所述虚拟化模块的接口获取VXLAN网络的信息,形成SR-IOV通道的VLAN信息和VXLAN网络信息 的映射关系。

具体地,虚拟化模块负责服务器系统的虚拟化技术,控制模块负责控制发送模块和接收模块对SR-IOV网卡送出的报文和VXLAN网络报文直接进行转换。让整个虚拟化系统呈现一个高性能VXLAN网络,控制模块还将VXLAN技术的处理从服务器卸载到外部硬件加速设备,进一步加速VXLAN报文头处理的效率和性能。

在工作过程中,虚拟化模块先将VXLAN网络类型创建起来,控制模块预规划SR-IOV通道VLAN的信息,并通过和虚拟化模块的接口获取VXLAN网络的信息,从而形成SR-IOV通道VLAN信息和VXLAN信息的映射关系。当租户(虚拟化环境的用户)要在某个VXLAN上面创建一个虚拟机时,虚拟化模块向控制模块查询VXLAN网络和SR-IOV通道VLAN的对应关系,从而能将虚拟机创建在SR-IOV网卡上。控制模块发送控制命令给硬件加速设备,通知它这个虚拟机使用的SR-IOV网口发送过来的报文其VLAN和VXLAN的映射信息。虚拟机有报文发送时,通过虚拟化模块和硬件加速设备之间的接口,将报文发送到硬件加速设备,硬件加速设备根据控制模块下发的控制命令,对报文进行VLAN到VXLAN的转换后发送出去。

本发明实施例还提供了一种VXLAN实现装置,应用于虚拟化云环境中,包括:

接收模块,用于接收VXLAN网络的报文;

控制模块,用于通知所述发送模块所述VXLAN网络的报文对应的VLAN;

所述发送模块,用于将所述VXLAN网络的报文转换成VLAN报文,并通过SR-IOV网卡将所述VLAN报文发送至虚拟机。

其中,接收模块和发送模块可以位于外部硬件加速设备上。

进一步地,所述装置还包括:

虚拟化模块,用于在虚拟化环境中的服务器上安装SR-IOV驱动,生成虚拟机需要使用的虚拟网卡;

所述控制模块具体用于在所述虚拟化模块生成虚拟机需要使用的虚拟网卡后,设置SR-IOV通道的VLAN信息,并通过和所述虚拟化模块的接口获 取VXLAN网络的信息,形成SR-IOV通道的VLAN信息和VXLAN网络信息的映射关系。

本实施例的技术方案能够使得SR-IOV技术和VXLAN技术融合使用,克服现有虚拟化云环境中SR-IOV和VXLAN两种技术不能融合使用的问题,从而实现高性能VXLAN网络。

具体地,虚拟化模块负责服务器系统的虚拟化技术,控制模块负责控制发送模块和接收模块对SR-IOV网卡送出的报文和VXLAN网络报文直接进行转换。让整个虚拟化系统呈现一个高性能VXLAN网络,控制模块还将VXLAN技术的处理从服务器卸载到外部硬件加速设备,进一步加速VXLAN报文头处理的效率和性能。

在工作过程中,虚拟化模块先将VXLAN网络类型创建起来,控制模块预规划SR-IOV通道VLAN的信息,并通过和虚拟化模块的接口获取VXLAN网络的信息,从而形成SR-IOV通道VLAN信息和VXLAN信息的映射关系。当租户(虚拟化环境的用户)要在某个VXLAN上面创建一个虚拟机时,虚拟化模块向控制模块查询VXLAN网络和SR-IOV通道VLAN的对应关系,从而能将虚拟机创建在SR-IOV网卡上。控制模块发送控制命令给硬件加速设备,通知它这个虚拟机使用的SR-IOV网口发送过来的报文其VLAN和VXLAN的映射信息。虚拟机有报文发送时,通过虚拟化模块和硬件加速设备之间的接口,将报文发送到硬件加速设备,硬件加速设备根据控制模块下发的控制命令,对报文进行VLAN到VXLAN的转换后发送出去。

本发明实施例还提供了一种VXLAN实现装置的工作方法,所述VXLAN实现装置应用于虚拟化云环境中,所述方法包括:

接收虚拟局域网VLAN报文,所述VLAN报文是从虚拟机发出,并通过输入/输出通道虚拟化SR-IOV网卡发送过来的;

确定通过SR-IOV网卡发送过来的VLAN报文对应的VXLAN网络;

将所述VLAN报文转换成对应VXLAN网络的报文,并将转换后的VXLAN网络的报文发送出去。

本实施例的技术方案能够使得SR-IOV技术和VXLAN技术融合使用,克 服现有虚拟化云环境中SR-IOV和VXLAN两种技术不能融合使用的问题,从而实现高性能VXLAN网络。

进一步地,所述接收从虚拟机发出,通过SR-IOV网卡发送过来的VLAN报文之前还包括:

在虚拟化环境中的服务器上安装SR-IOV驱动,生成虚拟机需要使用的虚拟网卡;

设置SR-IOV通道的VLAN信息,并获取VXLAN网络的信息,形成SR-IOV通道的VLAN信息和VXLAN网络信息的映射关系。

本发明实施例还提供了一种VXLAN实现装置的工作方法,应用于虚拟化云环境中,包括:

接收VXLAN网络的报文;

确定所述VXLAN网络的报文对应的VLAN;

将所述VXLAN网络的报文转换成VLAN报文,并通过SR-IOV网卡将所述VLAN报文发送至虚拟机。

本实施例的技术方案能够使得SR-IOV技术和VXLAN技术融合使用,克服现有虚拟化云环境中SR-IOV和VXLAN两种技术不能融合使用的问题,从而实现高性能VXLAN网络。

进一步地,所述接收VXLAN网络的报文之前还包括:

在虚拟化环境中的服务器上安装SR-IOV驱动,生成虚拟机需要使用的虚拟网卡;

设置SR-IOV通道的VLAN信息,并获取VXLAN网络的信息,形成SR-IOV通道的VLAN信息和VXLAN网络信息的映射关系。

下面结合具体的实施例对本发明的技术方案进行进一步介绍:

实施例一

图2为本实施例应用于OpenStack的虚拟化主机启动过程中的交互示意图,其中,虚拟化模块包括图中的nova-compute(计算服务器)和neutron-server,硬件加速设备为图中的VXLAN GW(网关),控制模块为图中的SDN(软件定义网络)Controller(控制器)。

如图2所示,虚拟化模块获取虚拟化主机需要使用的端口网络(VXLAN)信息,并且虚拟化模块向控制模块获取网络(VLAN)信息,控制模块向硬件加速设备同步网络(VXLAN和VLAN ID)映射信息。

如图3所示,本实施例的VXLAN实现装置的工作方法包括以下步骤:

步骤1:nova-compute开始启动虚拟化主机,虚拟化主机绑定端口过程中,首先携带虚拟化主机的标识(Instance ID)到neutron-server上获取该虚拟化主机对应的端口网络信息;

步骤2:neutron-server根据虚拟化主机标识查询数据库中该虚拟化主机对应的端口网络信息,并传递给nova-compute,对于VXLAN网络上的虚拟化主机,携带的网络信息是包含VNI(虚拟局域网标识)的;

步骤3:nova-compute获取到VNI信息后,向SDN Controller获取SR-IOV驱动所需的VLAN Id;

步骤4:SDN Controller根据VNI,计算获取一个VLAN ID,并发送给nova-compute;

步骤5:SDN Controller将VNI和VLAN ID的映射关系同步给VXLAN GW;

步骤6:nova-compute收到VLAN ID之后,将该VLAN ID设置到SR-IOV端口上。

其中步骤3到步骤6是本实施例所特有步骤。

实施例二

如图2所示,虚拟化模块获取虚拟化主机需要使用的端口网络(VXLAN)信息,并且虚拟化模块向控制模块获取网络(VLAN)信息,控制模块向硬件加速设备同步网络(VXLAN和VLAN ID)映射信息。

如图4所示,本实施例的VXLAN实现装置的工作方法包括以下步骤:

步骤1:nova-compute开始启动虚拟化主机,虚拟化主机绑定端口过程中,首先携带虚拟化主机的标识(Instance ID)到neutron-server上获取该虚拟化主机对应的端口网络信息;

步骤2:neutron-server根据虚拟化主机标识查询数据库中该虚拟化主机对应的端口网络信息,并传递给nova-compute,对于VXLAN网络上的虚拟化主 机,携带的网络信息是包含VNI的;

步骤3:nova-compute获取到VNI信息后,根据VNI,计算获取一个VLAN ID,将该VLAN ID设置到SR-IOV端口上;

步骤4:nova-compute将VNI和VLAN ID的映射关系同步给SDN Controller;

步骤5:SDN Controller将VNI和VLAN ID的映射关系同步给VXLAN GW。

其中步骤3到步骤5是本实施例所特有步骤。

实施例三

图5所示为虚拟化模块内部的交互示意图,虚拟化模块从虚拟网络获取虚拟化主机需要使用的端口网络(VLAN)信息,虚拟化模块向控制模块同步(VXLAN和VLAN ID)映射信息,控制模块向硬件加速设备同步网络(VXLAN和VLAN ID)映射信息。

如图6所示,本实施例的VXLAN实现装置的工作方法包括以下步骤:

步骤1:nova-compute开始启动虚拟化主机,虚拟化主机绑定端口过程中,首先携带虚拟化主机的标识(Instance ID)到neutron-server上获取该虚拟化主机对应的端口网络信息;

步骤2:neutron-server根据虚拟化主机标识查询数据库中该虚拟化主机对应的端口网络信息,并根据网络信息中的VNI,计算获取VLAN ID,传递给nova-compute;

步骤3:nova-compute获取VLAN ID之后,设置到SR-IOV端口上;

步骤4:neutron-server将VNI和VLAN ID的映射关系同步给SDN Controller;

步骤5:SDN Controller将VNI和VLAN ID的映射关系同步给VXLAN GW;

通过上述实施例,本发明的技术方案使得SR-IOV技术和VXLAN技术能融合使用,从而实现高性能VXLAN网络。

此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。

本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。 举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同物理上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。

实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。

在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。

在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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