一种实现云内网和云外网互通的方法、系统、设备和介质

文档序号:1956680 发布日期:2021-12-10 浏览:15次 >En<

阅读说明:本技术 一种实现云内网和云外网互通的方法、系统、设备和介质 (Method, system, equipment and medium for realizing intercommunication between cloud internal network and cloud external network ) 是由 陈显桂 于 2021-08-10 设计创作,主要内容包括:本发明提出了一种实现云内网和云外网互通的方法、系统、设备和介质,该方法包括对配置后网关集群中每台裸金属服务器均安装虚拟交换机、数据库和同步组件,将云内网和虚拟交换机的信息一次同步至数据库中;将虚拟IP地址作为数据传输隧道端点地址注册到一次同步后的数据库中,同步组件将收集的OVN上的虚拟交换机网卡信息二次同步至数据库;在二次同步后的数据库中注册逻辑网络,在裸金属服务器上配置与云外网通信的虚拟局域网,建立虚拟扩展局域网和虚拟局域网的映射;使用虚拟扩展局域网创建虚拟机,通过虚拟机与云外网通信。基于该方法还提出实现云内网和云外网互通的系统、设备和介质,本发明提高了生产环境业务正常运行的稳定性。(The invention provides a method, a system, equipment and a medium for realizing intercommunication between a cloud internal network and a cloud external network, wherein the method comprises the steps of installing a virtual switch, a database and a synchronization component on each bare metal server in a configured gateway cluster, and synchronizing the information of the cloud internal network and the information of the virtual switch into the database at one time; registering the virtual IP address as a data transmission tunnel endpoint address into a database after primary synchronization, and secondarily synchronizing the collected network card information of the virtual switch on OVN to the database by a synchronization component; registering a logic network in a database after secondary synchronization, configuring a virtual local area network communicated with an extracloud network on a bare metal server, and establishing mapping between a virtual extended local area network and the virtual local area network; and creating a virtual machine by using the virtual extended local area network, and communicating with the cloud extranet through the virtual machine. Based on the method, the invention also provides a system, equipment and a medium for realizing the intercommunication of the cloud internal network and the cloud external network, and the invention improves the stability of normal operation of the production environment service.)

一种实现云内网和云外网互通的方法、系统、设备和介质

技术领域

本发明属于云计算技术领域,特别涉及一种实现云内网和云外网互通的方法、系统、设备和介质。

背景技术

近年来,云计算已经深深融入我们的日常生活中。OpenStack是现在比较成熟的开源云计算管理平台,它涵盖了计算、存储、网络等各项基础功能服务,得到了业界的广泛认可。依靠OpenStack在各行各业的大规模应用,OpenStack已经成为了行业的标准,OVN以OpenStack网络标准和接口标准作为依据,进行研发和设计,它完全适配了OpenStack各项功能。OVN(Open Virtual Network)是一款支持虚拟网络的分布式SDN软件系统,OVN在OVS现有功能的基础上原生支持虚拟网络抽象,如L2、L3网络以及安全组。OVN实现的L2、L3以及安全组相关功能都是基于OVS流表实现。

目前很多客户的业务也由本地迁移到云上,但实际中也存在一些客户的服务对机器性能要求比较高,需要将服务运行在物理机内,如:数据库服务等,传统业务的数据库服务大都运行在本地数据中心内的物理机上,为了满足云内的业务能够访问云外的数据库,OVN社区提供了云内网络和云外网络互通的方案,但是方案并不是高可用的,易发生单点故障,导致云内外网络不通,影响用户正常业务运行,给客户带来不佳的使用体验。

发明内容

为了解决上述技术问题,本发明提出了一种实现云内网和云外网互通的方法、系统、设备和介质,通过软件实现,摆脱了对硬件的依赖,有效解决了硬件厂商捆绑的问题,提高产品竞争力,高可用有效的避免了单点故障,增强用户粘性。

为实现上述目的,本发明采用以下技术方案:

一种实现云内网和云外网互通的方法,包括以下步骤:

对配置后网关集群中每台裸金属服务器均安装虚拟交换机、vtep数据库和配置同步组件,通过同步组件将云内网和虚拟交换机的信息一次同步至vtep数据库中;

将配置网关集群时采用的虚拟IP地址作为数据传输隧道端点地址注册到一次同步后的vtep数据库中,同步组件将收集的分布式SDN控制器上的虚拟交换机网卡信息二次同步至vtep数据库;

在二次同步后的vtep数据库中注册逻辑网络,对应云内网中的虚拟扩展局域网;在裸金属服务器上配置与云外网通信的虚拟局域网,建立虚拟扩展局域网和虚拟局域网的映射;使用虚拟扩展局域网创建虚拟机,通过虚拟机与云外网通信。

进一步的,所述配置网关集群的过程包括:

搭建网关集群,并对网关集群中的每台裸金属服务器均安装高可用软件;

设置网关集群中其中一台裸金属服务器作为主节点,除主节点之外的其余裸金属服务器为备节点;

配置一个IP地址作为所有节点的虚拟IP地址;所有节点包括主节点和备节点。

进一步的,所述vtep数据库为虚拟交换机的数据库;所述vtep数据库用于存放逻辑网络、裸金属服务器网卡、以及虚拟局域网与逻辑网络的绑定关系和云内网虚拟机的mac地址信息。

进一步的,所述通过同步组件将云内网和虚拟交换机的信息一次同步至vtep数据库中的过程为:进程北向连接分布式SDN控制器,南向连接vtep数据库,用于同步云内网和虚拟交换机的信息至vtep数据库中。

进一步的,所述在二次同步后的vtep数据库中注册逻辑网络,对应云内网中的虚拟扩展局域网;在裸金属服务器上配置与云外网通信的虚拟局域网,建立虚拟扩展局域网和虚拟局域网的映射的过程为:

在云内网创建虚拟扩展局域网,用于与云外网通信;

在vtep数据库中注册逻辑网络,其中逻辑网络对应与所述虚拟扩展局域网;

将需要与所述虚拟扩展局域网互通的裸金属服务器上的网卡端口绑定至逻辑网络;流表模拟器根据绑定关系生成虚拟局域网的流表;

在云内网创建vtep端口,将vtep端口的数据传输隧道端点地址配置为虚拟IP地址,vtep端口对应的网络名称为逻辑网络的名称。

进一步的,在建立虚拟扩展局域网和虚拟局域网的映射之后还包括:通过在裸金属服务器上启动流表模拟器、同步组件和高可用软件,实时监测绑定关系变化以及主备节点的健康活动状况;所述流表模拟器用于在裸金属服务器上生成vtep端点,处理虚拟扩展局域网数据包的发送和接收;以及读取vtep数据库中绑定关系,生成裸金属服务器网卡上的收相关流表以及虚拟扩展局域网和虚拟局域网转换流表,进行数据包的处理转发。

进一步的,所述使用所述虚拟扩展局域网创建虚拟机,通过虚拟机与云外网通信的过程为:

在云内网的虚拟扩展局域网上创建vtep端口,配置vtep端口的数据传输隧道端点地址为虚拟IP地址;

配置分布式SDN控制器内的逻辑流表将所有未知的mac地址数据包都指向vtep端口,vtep端口通过虚拟扩展局域网隧道将数据包通过虚拟IP地址发送至主节点裸金属服务器。

本发明还提出了一种实现云内网和云外网互通的系统,包括第一同步模块、第二同步模块和通信模块;

所述第一同步模块用于对配置后网关集群中每台裸金属服务器均安装虚拟交换机、vtep数据库和配置同步组件,通过同步组件将云内网和虚拟交换机的信息一次同步至vtep数据库中;

所述第二同步模块用于将配置网关集群时采用的虚拟IP地址作为数据传输隧道端点地址注册到一次同步后的vtep数据库中,同步组件将收集的分布式SDN控制器上的虚拟交换机网卡信息二次同步至vtep数据库;

所述通信模块用于在二次同步后的vtep数据库中注册逻辑网络,对应云内网中的虚拟扩展局域网;在裸金属服务器上配置与云外网通信的虚拟局域网,建立虚拟扩展局域网和虚拟局域网的映射;使用虚拟扩展局域网创建虚拟机,通过虚拟机与云外网通信。

本发明还提出了一种设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现所述的方法步骤。

本发明还提出了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法步骤。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

本发明提出了一种实现云内网和云外网互通的方法、系统、设备和介质,该方法包括对配置后网关集群中每台裸金属服务器均安装虚拟交换机、vtep数据库和配置同步组件,通过同步组件将云内网和虚拟交换机的信息一次同步至vtep数据库中;将配置网关集群时采用的虚拟IP地址作为数据传输隧道端点地址注册到一次同步后的vtep数据库中,同步组件将收集的分布式SDN控制器上的虚拟交换机网卡信息二次同步至vtep数据库;在二次同步后的vtep数据库中注册逻辑网络,对应云内网中的虚拟扩展局域网;在裸金属服务器上配置与云外网通信的虚拟局域网,建立虚拟扩展局域网和虚拟局域网的映射;使用虚拟扩展局域网创建虚拟机,通过虚拟机与云外网通信。本方法在OpenStack平台上基于OVN实现的云内vxlan网络与云外vlan网络互通,使用keepalived软件,采用主备模式,各节点都使用VIP向OVN注册tunnel,正常情况下VIP位于主节点上由主节点提供互通服务,当主节点发生故障keepalived基于vrrp协议从备节点中选择一个主节点,VIP漂移到被选中的备节点上成为主节点,提供互通服务。keepalived软件是开源软件,能够为客户节约成本,此外也能够灵活扩容。本方法全部通过软件实现,摆脱了对硬件的依赖,有效解决了硬件厂商捆绑的问题,提高产品竞争力,高可用有效的避免了单点故障,增强用户粘性。巧妙的实现了高可用,提高了生产环境业务正常运行的稳定性。

基于一种实现云内网和云外网互通的方法,本发明还提出了一种实现云内网和云外网互通的系统、设备和存储介质,同样也具有上述方法的作用,在此不做赘述。

附图说明

如图1为本发明实施例1一种实现云内网和云外网互通的架构连接示意图;

如图2为本发明实施例1一种实现云内网和云外网互通的方法流程图;

如图3为本发明实施例2一种实现云内网和云外网互通的系统示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

实施例1

本发明实施例1提出了一种实现云内网和云外网互通的方法,在OpenStack平台上基于OVN实现的云内vxlan网络与云外vlan网络互通。本方法的核心是使用keepalived软件,采用主备模式,各节点都使用虚拟IP地址VIP向OVN注册tunnel,正常情况下虚拟IP地址VIP位于主节点上由主节点提供互通服务,当主节点发生故障keepalived,基于vrrp协议从备节点中选择一个主节点,VIP漂移到被选中的备节点上成为主节点,提供互通服务。

其中Ovn:Open Virtual Network分布式SDN控制器;

Vxlan:Virtual eXtensible Local Area Network虚拟扩展局域网;

Vlan:Virtual Local Area Network虚拟局域网。

Keepalived:一款基于vrrp协议实现服务高可用的软件

本发明实现的过程不局限于Keepalived软件,也可以选择Heartbeat软件。

本发明中实现的总体过程为:对配置后网关集群中每台裸金属服务器均安装虚拟交换机、vtep数据库和配置同步组件,通过同步组件将云内网和虚拟交换机的信息一次同步至vtep数据库中;

将配置网关集群时采用的虚拟IP地址作为数据传输隧道端点地址注册到一次同步后的vtep数据库中,同步组件将收集的分布式SDN控制器上的虚拟交换机网卡信息二次同步至vtep数据库;

在二次同步后的vtep数据库中注册逻辑网络,对应云内网中的虚拟扩展局域网;在裸金属服务器上配置与云外网通信的虚拟局域网,建立虚拟扩展局域网和虚拟局域网的映射;使用虚拟扩展局域网创建虚拟机,通过虚拟机与云外网通信。

如图1为本发明实施例1一种实现云内网和云外网互通的架构连接示意图。如图2为本发明实施例1一种实现云内网和云外网互通的方法流程图;

在步骤S201中,准备n台(n>1)裸金属服务器搭建网关集群,在n台裸金属上安装操作系统以及keepalived软件;该步骤中,使用yum install keepalived命令安装keepalived软件。

在步骤S202中,选择一台裸金属服务器为主节点,其它节点为备节点,keepalived配置为主备模式。

该步骤中,主节点的/etc/keepalived/keepalived.conf配置文件中state配置为MASTER,其它备节点的/etc/keepalived/keepalived.conf配置文件中state配置为BACKUP;从管理网上选取一个未使用的IP作为虚拟IP地址VIP并配置到所有节点的keepalived.conf中的virtual_ipaddress配置选项中;

在步骤S203中,在所有裸金属服务器上安装操作系统并配置OpenvSwitch和vtep数据库,其中OpenvSwitch为虚拟交换机;vtep数据库为OpenvSwitch的数据库。vtep数据库用于存放逻辑网络(对应于OpenStack vxlan网络)、裸金属服务器网卡以及vlan网络与逻辑网络绑定关系、OpenStack中虚拟机的mac地址信息等。

在步骤S204中,在裸金属服务器上配置ovn-vtep组件,进程北向连接OVN,南向连接vtep数据库,用来同步OpenStack云内网络和虚拟机相关信息至vtep数据库中。其中ovn-vtep组件为ovn网关数据同步组件,本发明中简化为同步组件。

在步骤S205中,在裸金属服务器上使用步骤S202中的虚拟IP地址VIP作为tunnel地址注册到vtep数据库中,ovn-vtep组件发现并注册tunnel信息到OVN,OVN纳管相应的裸金属服务器;ovn-vtep组件将收集到的OVN上虚拟机网卡信息(比如:mac地址)同步到vtep数据库,为生成云内外互访的流表提供数据来源;其中tunnel地址为数据传输隧道端点地址。

在步骤S206中,在OpenStack平台创建vxlan类型的网络,用于和云外通信的网络。

在步骤S207中,在vtep数据中注册逻辑网络,逻辑网络对应OpenStack网络中vxlan网络。

在步骤S208中,将需要和云内vxlan网络互通的裸金属服务器上的网卡端口绑定至上面创建的逻辑网络,包括网卡端口的名称、vlan号等信息,vtep模拟器会根据绑定关系生成相关修改vlan的流表。其中vtep模拟器是一个脚本文件,作为常驻进程运行,主要生成流表;即vtep模拟器为流表模拟器。

在步骤S209中,在OpenStack网络上创建vtep端口,配置vtep端口的options选项tunnel地址为VIP地址,对应的网络名称为vtep数据库内的逻辑网络名称。

在步骤S210中,分别在裸金属上启动vtep模拟器、ovn-vtep组件、keepalived,他们作为常驻进程,实时监测绑定关系变化以及主备的健康活动状况。其中,vtep模拟器用于在裸金属服务器上生成vtep端点,处理vxlan数据包的发送和接收;读取vtep数据库中绑定关系,生成裸金属网卡上的收相关流表以及vxlan和vlan转换流表,进行数据包的处理转发;

在步骤S211中,在OpenStack平台使用vxlan网络创建虚拟机,创建完成之外在虚拟机内访问同网段的云外主机能够正常通信;

该步骤中,在OpenStack上的vxlan网络上创建vtep端口,配置vtep端口和VIP地址以及vtep数据库内的逻辑网络对应关系;配置OVN内的逻辑流表将所有OVN未知的mac地址数据包都指向此vtep端口,vtep端口通过vxlan隧道将数据包通过VIP发送至主节点裸金属服务器;

本方法还包括,主节点的裸金属服务器通过关机来模拟故障,关机后,在虚拟机内部继续访问同网段的云外主机能够正常通信,即验证了高可用,不受单节点故障影响正常通信。

本方法在OpenStack平台上基于OVN实现的云内vxlan网络与云外vlan网络互通,使用keepalived软件,采用主备模式,各节点都使用VIP向OVN注册tunnel,正常情况下VIP位于主节点上由主节点提供互通服务,当主节点发生故障keepalived基于vrrp协议从备节点中选择一个主节点,VIP漂移到被选中的备节点上成为主节点,提供互通服务。keepalived软件是开源软件,能够为客户节约成本,此外也能够灵活扩容。本方法全部通过软件实现,摆脱了对硬件的依赖,有效解决了硬件厂商捆绑的问题,提高产品竞争力,高可用有效的避免了单点故障,增强用户粘性。巧妙的实现了高可用,提高了生产环境业务正常运行的稳定性。

实施例2

基于本发明实施例1提出的一种实现云内网和云外网互通的方法,本发明实施例2还提出了一种实现云内网和云外网互通的系统。如图3为本发明实施例2一种实现云内网和云外网互通的系统示意图。该系统包括:第一同步模块、第二同步模块和通信模块;

第一同步模块用于对配置后网关集群中每台裸金属服务器均安装虚拟交换机、vtep数据库和配置同步组件,通过同步组件将云内网和虚拟交换机的信息一次同步至vtep数据库中;

第二同步模块用于将配置网关集群时采用的虚拟IP地址作为数据传输隧道端点地址注册到一次同步后的vtep数据库中,同步组件将收集的分布式SDN控制器上的虚拟交换机网卡信息二次同步至vtep数据库;

通信模块用于在二次同步后的vtep数据库中注册逻辑网络,对应云内网中的虚拟扩展局域网;在裸金属服务器上配置与云外网通信的虚拟局域网,建立虚拟扩展局域网和虚拟局域网的映射;使用虚拟扩展局域网创建虚拟机,通过虚拟机与云外网通信。

其中第一同步模块实现的过程为:

准备n台(n>1)裸金属服务器搭建网关集群,在n台裸金属上安装操作系统以及keepalived软件;该步骤中,使用yum install keepalived命令安装keepalived软件。

选择一台裸金属服务器为主节点,其它节点为备节点,keepalived配置为主备模式。主节点的/etc/keepalived/keepalived.conf配置文件中state配置为MASTER,其它备节点的/etc/keepalived/keepalived.conf配置文件中state配置为BACKUP;从管理网上选取一个未使用的IP作为虚拟IP地址VIP并配置到所有节点的keepalived.conf中的virtual_ipaddress配置选项中;

在所有裸金属服务器上安装操作系统并配置OpenvSwitch和vtep数据库,其中OpenvSwitch为虚拟交换机;vtep数据库为OpenvSwitch的数据库。vtep数据库用于存放逻辑网络(对应于OpenStack vxlan网络)、裸金属服务器网卡以及vlan网络与逻辑网络绑定关系、OpenStack中虚拟机的mac地址信息等。

在裸金属服务器上配置ovn-vtep组件,进程北向连接OVN,南向连接vtep数据库,用来同步OpenStack云内网络和虚拟机相关信息至vtep数据库中。其中ovn-vtep组件为ovn网关数据同步组件,本发明中简化为同步组件。

第二同步模块实现的过程为:在裸金属服务器上使用步骤S202中的虚拟IP地址VIP作为tunnel地址注册到vtep数据库中,ovn-vtep组件发现并注册tunnel信息到OVN,OVN纳管相应的裸金属服务器;ovn-vtep组件将收集到的OVN上虚拟机网卡信息(比如:mac地址)同步到vtep数据库,为生成云内外互访的流表提供数据来源;其中tunnel地址为数据传输隧道端点地址。

通信模块实现的过程为:

在OpenStack平台创建vxlan类型的网络,用于和云外通信的网络。

在vtep数据中注册逻辑网络,逻辑网络对应OpenStack网络中vxlan网络。

将需要和云内vxlan网络互通的裸金属服务器上的网卡端口绑定至上面创建的逻辑网络,包括网卡端口的名称、vlan号等信息,vtep模拟器会根据绑定关系生成相关修改vlan的流表。其中vtep模拟器是一个脚本文件,作为常驻进程运行,主要生成流表;即vtep模拟器为流表模拟器。

在OpenStack网络上创建vtep端口,配置vtep端口的options选项tunnel地址为VIP地址,对应的网络名称为vtep数据库内的逻辑网络名称。

分别在裸金属上启动vtep模拟器、ovn-vtep组件、keepalived,他们作为常驻进程,实时监测绑定关系变化以及主备的健康活动状况。其中,vtep模拟器用于在裸金属服务器上生成vtep端点,处理vxlan数据包的发送和接收;读取vtep数据库中绑定关系,生成裸金属网卡上的收相关流表以及vxlan和vlan转换流表,进行数据包的处理转发;

在OpenStack平台使用vxlan网络创建虚拟机,创建完成之外在虚拟机内访问同网段的云外主机能够正常通信;在OpenStack上的vxlan网络上创建vtep端口,配置vtep端口和VIP地址以及vtep数据库内的逻辑网络对应关系;配置OVN内的逻辑流表将所有OVN未知的mac地址数据包都指向此vtep端口,vtep端口通过vxlan隧道将数据包通过VIP发送至主节点裸金属服务器;

该模块还包括主节点的裸金属服务器通过关机来模拟故障,关机后,在虚拟机内部继续访问同网段的云外主机能够正常通信,即验证了高可用,不受单节点故障影响正常通信。

实施例3

本发明还提出了一种设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现方法步骤如下:

在步骤S201中,准备n台(n>1)裸金属服务器搭建网关集群,在n台裸金属上安装操作系统以及keepalived软件;该步骤中,使用yum install keepalived命令安装keepalived软件。

在步骤S202中,选择一台裸金属服务器为主节点,其它节点为备节点,keepalived配置为主备模式。

该步骤中,主节点的/etc/keepalived/keepalived.conf配置文件中state配置为MASTER,其它备节点的/etc/keepalived/keepalived.conf配置文件中state配置为BACKUP;从管理网上选取一个未使用的IP作为虚拟IP地址VIP并配置到所有节点的keepalived.conf中的virtual_ipaddress配置选项中;

在步骤S203中,在所有裸金属服务器上安装操作系统并配置OpenvSwitch和vtep数据库,其中OpenvSwitch为虚拟交换机;vtep数据库为OpenvSwitch的数据库。vtep数据库用于存放逻辑网络(对应于OpenStack vxlan网络)、裸金属服务器网卡以及vlan网络与逻辑网络绑定关系、OpenStack中虚拟机的mac地址信息等。

在步骤S204中,在裸金属服务器上配置ovn-vtep组件,进程北向连接OVN,南向连接vtep数据库,用来同步OpenStack云内网络和虚拟机相关信息至vtep数据库中。其中ovn-vtep组件为ovn网关数据同步组件,本发明中简化为同步组件。

在步骤S205中,在裸金属服务器上使用步骤S202中的虚拟IP地址VIP作为tunnel地址注册到vtep数据库中,ovn-vtep组件发现并注册tunnel信息到OVN,OVN纳管相应的裸金属服务器;ovn-vtep组件将收集到的OVN上虚拟机网卡信息(比如:mac地址)同步到vtep数据库,为生成云内外互访的流表提供数据来源;其中tunnel地址为数据传输隧道端点地址。

在步骤S206中,在OpenStack平台创建vxlan类型的网络,用于和云外通信的网络。

在步骤S207中,在vtep数据中注册逻辑网络,逻辑网络对应OpenStack网络中vxlan网络。

在步骤S208中,将需要和云内vxlan网络互通的裸金属服务器上的网卡端口绑定至上面创建的逻辑网络,包括网卡端口的名称、vlan号等信息,vtep模拟器会根据绑定关系生成相关修改vlan的流表。其中vtep模拟器是一个脚本文件,作为常驻进程运行,主要生成流表;即vtep模拟器为流表模拟器。

在步骤S209中,在OpenStack网络上创建vtep端口,配置vtep端口的options选项tunnel地址为VIP地址,对应的网络名称为vtep数据库内的逻辑网络名称。

在步骤S210中,分别在裸金属上启动vtep模拟器、ovn-vtep组件、keepalived,他们作为常驻进程,实时监测绑定关系变化以及主备的健康活动状况。其中,vtep模拟器用于在裸金属服务器上生成vtep端点,处理vxlan数据包的发送和接收;读取vtep数据库中绑定关系,生成裸金属网卡上的收相关流表以及vxlan和vlan转换流表,进行数据包的处理转发;

在步骤S211中,在OpenStack平台使用vxlan网络创建虚拟机,创建完成之外在虚拟机内访问同网段的云外主机能够正常通信;

该步骤中,在OpenStack上的vxlan网络上创建vtep端口,配置vtep端口和VIP地址以及vtep数据库内的逻辑网络对应关系;配置OVN内的逻辑流表将所有OVN未知的mac地址数据包都指向此vtep端口,vtep端口通过vxlan隧道将数据包通过VIP发送至主节点裸金属服务器;

本方法还包括,主节点的裸金属服务器通过关机来模拟故障,关机后,在虚拟机内部继续访问同网段的云外主机能够正常通信,即验证了高可用,不受单节点故障影响正常通信。

需要说明:本发明技术方案还提供了一种电子设备,包括:通信接口,能够与其它设备比如网络设备等进行信息交互;处理器,与通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的一种实现云内网和云外网互通的方法,而所述计算机程序存储在存储器上。当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP(Digital Signal Processing,即指能够实现数字信号处理技术的芯片),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。处理器执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。

实施例4

本发明还提出了一种可读存储介质,可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现方法步骤如下:

在步骤S201中,准备n台(n>1)裸金属服务器搭建网关集群,在n台裸金属上安装操作系统以及keepalived软件;该步骤中,使用yum install keepalived命令安装keepalived软件。

在步骤S202中,选择一台裸金属服务器为主节点,其它节点为备节点,keepalived配置为主备模式。

该步骤中,主节点的/etc/keepalived/keepalived.conf配置文件中state配置为MASTER,其它备节点的/etc/keepalived/keepalived.conf配置文件中state配置为BACKUP;从管理网上选取一个未使用的IP作为虚拟IP地址VIP并配置到所有节点的keepalived.conf中的virtual_ipaddress配置选项中;

在步骤S203中,在所有裸金属服务器上安装操作系统并配置OpenvSwitch和vtep数据库,其中OpenvSwitch为虚拟交换机;vtep数据库为OpenvSwitch的数据库。vtep数据库用于存放逻辑网络(对应于OpenStack vxlan网络)、裸金属服务器网卡以及vlan网络与逻辑网络绑定关系、OpenStack中虚拟机的mac地址信息等。

在步骤S204中,在裸金属服务器上配置ovn-vtep组件,进程北向连接OVN,南向连接vtep数据库,用来同步OpenStack云内网络和虚拟机相关信息至vtep数据库中。其中ovn-vtep组件为ovn网关数据同步组件,本发明中简化为同步组件。

在步骤S205中,在裸金属服务器上使用步骤S202中的虚拟IP地址VIP作为tunnel地址注册到vtep数据库中,ovn-vtep组件发现并注册tunnel信息到OVN,OVN纳管相应的裸金属服务器;ovn-vtep组件将收集到的OVN上虚拟机网卡信息(比如:mac地址)同步到vtep数据库,为生成云内外互访的流表提供数据来源;其中tunnel地址为数据传输隧道端点地址。

在步骤S206中,在OpenStack平台创建vxlan类型的网络,用于和云外通信的网络。

在步骤S207中,在vtep数据中注册逻辑网络,逻辑网络对应OpenStack网络中vxlan网络。

在步骤S208中,将需要和云内vxlan网络互通的裸金属服务器上的网卡端口绑定至上面创建的逻辑网络,包括网卡端口的名称、vlan号等信息,vtep模拟器会根据绑定关系生成相关修改vlan的流表。其中vtep模拟器是一个脚本文件,作为常驻进程运行,主要生成流表;即vtep模拟器为流表模拟器。

在步骤S209中,在OpenStack网络上创建vtep端口,配置vtep端口的options选项tunnel地址为VIP地址,对应的网络名称为vtep数据库内的逻辑网络名称。

在步骤S210中,分别在裸金属上启动vtep模拟器、ovn-vtep组件、keepalived,他们作为常驻进程,实时监测绑定关系变化以及主备的健康活动状况。其中,vtep模拟器用于在裸金属服务器上生成vtep端点,处理vxlan数据包的发送和接收;读取vtep数据库中绑定关系,生成裸金属网卡上的收相关流表以及vxlan和vlan转换流表,进行数据包的处理转发;

在步骤S211中,在OpenStack平台使用vxlan网络创建虚拟机,创建完成之外在虚拟机内访问同网段的云外主机能够正常通信;

该步骤中,在OpenStack上的vxlan网络上创建vtep端口,配置vtep端口和VIP地址以及vtep数据库内的逻辑网络对应关系;配置OVN内的逻辑流表将所有OVN未知的mac地址数据包都指向此vtep端口,vtep端口通过vxlan隧道将数据包通过VIP发送至主节点裸金属服务器;

本方法还包括,主节点的裸金属服务器通过关机来模拟故障,关机后,在虚拟机内部继续访问同网段的云外主机能够正常通信,即验证了高可用,不受单节点故障影响正常通信。

本申请实施例提供的一种实现云内网和云外网互通的设备和存储介质中相关部分的说明可以参见本申请实施例1提供的一种实现云内网和云外网互通的方法中对应部分的详细说明,在此不再赘述。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据处理的方法、装置和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!