买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:浪潮(北京)电子信息产业有限公司
摘要:本发明公开了一种基于openvswitch的流量镜像方法,该方法应用于虚拟化系统InCloud Sphere,包括:虚拟交换机利用开发虚拟交换标准openvswitch将流经所述虚拟交换机的流量进行复制得到流量镜像,将所述流量镜像通过通用路由分装GRE通道转发至远程主机;远程主机接收所述流量镜像,对所述流量镜像进行解析和存储;所述流经所述虚拟交换机的流量包括来自虚拟机的流量、来自虚拟交换机上行链路的流量或者来自虚拟交换机端口组的流量。该方法实现了获取虚拟机、虚拟交换机上行链路以及端口组流量,有效监控网络流量。
主权项:一种基于openvswitch的流量镜像方法,其特征在于,应用于虚拟化系统InCloud Sphere,包括:虚拟交换机利用开发虚拟交换标准openvswitch将流经所述虚拟交换机的流量进行复制得到流量镜像,将所述流量镜像通过通用路由分装GRE通道转发至远程主机;远程主机接收所述流量镜像,对所述流量镜像进行解析和存储;其中,所述流经所述虚拟交换机的流量包括来自虚拟机的流量、来自虚拟交换机上行链路的流量或者来自虚拟交换机端口组的流量。
全文数据:一种基于openvswitch的流量镜像方法技术领域本发明涉及网络技术领域,特别是涉及一种基于openvswitch的流量镜像方法。背景技术目前,以虚拟化技术为基础的云计算的广泛应用,提高了服务器CPU和网络资源的利用率,但是对于虚拟机的流量的监控以及网络故障的诊断也提出了新的要求。浪潮云海OS·服务器虚拟化系统InCloudSphere是面向IT云化设计和开发的虚拟化平台,具备领先的安全性和稳定性,是云数据中心的虚拟化基石,但是目前还无法针对InCloudSphere系统实现流量镜像,由于无法获得流经虚拟交换机的流量的镜像即流量镜像,进而无法针对流量镜像实现对流量的监控,并且当网络出现故障时,无法完成网络故障的分析。发明内容本发明的目的是提供一种基于openvswitch的流量镜像方法,以实现获取虚拟机、虚拟交换机上行链路以及端口组的流量镜像,有效监控网络流量。为解决上述技术问题,本发明提供一种基于openvswitch的流量镜像方法,应用于虚拟化系统InCloudSphere,包括:虚拟交换机利用开发虚拟交换标准openvswitch将流经所述虚拟交换机的流量进行复制得到流量镜像,将所述流量镜像通过通用路由分装GRE通道转发至远程主机;远程主机接收所述流量镜像,对所述流量镜像进行解析和存储;其中,所述流经所述虚拟交换机的流量包括来自虚拟机的流量、来自虚拟交换机上行链路的流量或者来自虚拟交换机端口组的流量。优选的,所述虚拟交换机包括标准虚拟交换机或者分布式虚拟交换机。优选的,所述虚拟机上有多个端口组,每个端口组包括若干个端口,每个端口上通过虚拟机网卡对应连接一个虚拟机。优选的,所述远程主机接收所述流量镜像之后,还包括:远程主机对所述流量镜像进行监控;当出现网络故障时,远程主机依据所述流量镜像分析网络流量,对网络故障进行分析。优选的,所述方法还包括:虚拟交换机将所述流量镜像转发至目的端口;目的端口将所述流量镜像传输至与所述目的端口相连的虚拟机;与所述目的端口相连的虚拟机接收所述流量镜像,对所述流量镜像进行解析和存储。优选的,与所述目的端口相连的虚拟机接收所述流量镜像之后,还包括:与所述目的端口相连的虚拟机对所述流量镜像进行监控;当出现网络故障时,与所述目的端口相连的虚拟机依据所述流量镜像分析网络流量,对网络故障进行分析。优选的,所述方法还包括:所述虚拟交换机对所述流量镜像进行命名。优选的,所述虚拟交换机对所述流量镜像进行命名,包括:创建所述流量镜像的名称,判断所述名称与之前创建的流量镜像的名称是否重名,若是,删除所述流量镜像,若否,保留所述流量镜像。本发明所提供的一种基于openvswitch的流量镜像方法,应用于虚拟化系统InCloudSphere,虚拟交换机利用开发虚拟交换标准openvswitch将流经所述虚拟交换机的流量进行复制得到流量镜像,将所述流量镜像通过通用路由分装GRE通道转发至远程主机;远程主机接收所述流量镜像,对所述流量镜像进行解析和存储;所述流经所述虚拟交换机的流量包括来自虚拟机的流量、来自虚拟交换机上行链路的流量或者来自虚拟交换机端口组的流量。可见,利用开发虚拟交换标准openvswitch的对流量镜像的支持,来完成流量镜像的实现,得到的流量镜像就是网络流量,且获取和存储流量镜像,有效的完成了对虚拟机、虚拟交换机的上行链路以及端口组流量的监控,通过流量的镜像来完成网络流量监控,所以该方法实现获取虚拟机、虚拟交换机上行链路以及端口组的流量镜像,有效监控网络流量。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本发明所提供的一种基于openvswitch的流量镜像方法的流程图;图2为标准虚拟交换机上流量镜像的网络拓扑示意图;图3为分布式虚拟交换机上流量镜像的网络拓扑示意图。具体实施方式本发明的核心是提供一种基于openvswitch的流量镜像方法,以实现获取虚拟机、虚拟交换机上行链路以及端口组的流量镜像,有效监控网络流量。为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参考图1,图1为本发明所提供的一种基于openvswitch的流量镜像方法的流程图,该方法应用于虚拟化系统InCloudSphere,该方法包括:S11:虚拟交换机利用开发虚拟交换标准openvswitch将流经虚拟交换机的流量进行复制得到流量镜像,将流量镜像通过通用路由分装GRE通道转发至远程主机;S12:远程主机接收流量镜像,对流量镜像进行解析和存储;其中,流经虚拟交换机的流量包括来自虚拟机的流量、来自虚拟交换机上行链路的流量或者来自虚拟交换机端口组的流量。可见,利用开发虚拟交换标准openvswitch的对流量镜像的支持,来完成流量镜像的实现,得到的流量镜像就是网络流量,且获取和存储流量镜像,有效的完成了对虚拟机、虚拟交换机的上行链路以及端口组流量的监控,通过流量的镜像来完成网络流量监控,所以该方法实现获取虚拟机、虚拟交换机上行链路以及端口组的流量镜像,有效监控网络流量。基于上述方法,具体的,虚拟交换机包括标准虚拟交换机或者分布式虚拟交换机。更详细的,虚拟交换机为openvswitch虚拟交换机。其中,虚拟交换机上有多个端口组,每个端口组包括若干个端口,每个端口上通过虚拟机网卡对应连接一个虚拟机。即虚拟交换机上有多个端口,每个端口连接有一个虚拟机。进一步的,远程主机接收流量镜像之后,远程主机对流量镜像进行监控;当出现网络故障时,远程主机依据流量镜像分析网络流量,对网络故障进行分析。进一步的,所述方法还包括:S21:虚拟交换机将流量镜像转发至目的端口;其中,目的端口位于虚拟交换机上,是虚拟交换机上多个端口中的一个。S22:目的端口将流量镜像传输至与目的端口相连的虚拟机;S23:与目的端口相连的虚拟机接收流量镜像,对流量镜像进行解析和存储。具体的,与目的端口相连的虚拟机接收流量镜像之后,与目的端口相连的虚拟机对流量镜像进行监控;当出现网络故障时,与目的端口相连的虚拟机依据流量镜像分析网络流量,对网络故障进行分析。虚拟交换机将流量镜像转发给虚拟交换机上的目的端口,目的端口将流量镜像传输给与目的端口相连的虚拟机。对于目的端口,流量镜像要转发到哪个虚拟机上,那这个要获得转发流量的虚拟机与虚拟交换机相连的端口就是目的端口,端口位于虚拟交换机上。目的端口可以是预先设定的,目的端口对应的虚拟机为要获取流量镜像的虚拟机,哪个虚拟机要得到流量镜像,就将这个虚拟机对应的端口设置为目的端口。当然也可以随机选择虚拟机,将流量镜像转发至任意一个端口,转发到这端口对应的虚拟机。流经虚拟交换机的流量为来自虚拟机的流量时,这个提供流量来源的虚拟机和与目的端口连接的虚拟机是两个不同的虚拟机,即虚拟交换机上获取流量的端口和转发流量镜像的端口是不同的两个端口。流经虚拟交换机的流量包括来自虚拟机的流量、来自虚拟交换机上行链路的流量或者来自虚拟交换机端口组的流量。虚拟交换机是将来自一个虚拟机、虚拟交换机上行链路或者端口组的流量进行镜像后,将流量镜像通过转发给另一个虚拟机,由另一个虚拟机接收流量镜像。进一步的,上述方法还包括以下步骤:S31:虚拟交换机对所述流量镜像进行命名。其中,步骤S31的过程具体为:创建流量镜像的名称,判断所述名称与之前创建的流量镜像的名称是否重名,若是,删除所述流量镜像,若否,保留所述流量镜像。即若在此主机上存在相同名称的镜像,则镜像创建不成功,如果不存在,那么创建镜像成功。该方法还能通过镜像虚拟机上行链路或者端口组的流量至其他虚拟机或者远程的物理主机,来进行网络监控,并且在网络出现故障的时候,通过网络流量分析,来进行网络故障的定位。具体的,该方法用于虚拟化系统IncloudSphere,IncloudSphere负责完成底层物理资源的虚拟融合、按需分配与高效管理,可以显著提高资源交付的敏捷性和灵活性,提升资源的使用效率,为上层业务提供不间断地资源保障与可伸缩的资源供给。虚拟交换机为openvswitch虚拟交换机,含有openvswitch模块,能够镜像来自虚拟机和端口组的流量至其他虚拟机,以对网络故障进行分析或者提供对网络流量进行监控。虚拟交换机与物理交换机之间通过物理网卡所连接,物理网卡绑定到虚拟交换机上所对应的端口。要镜像虚拟机虚拟网卡上的流量时,此虚拟网卡连接在虚拟交换机上所对应的端口,或者虚拟交换机所关联的物理网卡所对应的上行链路端口。即要镜像虚拟机虚拟网卡上的流量时,流量镜像至某一虚拟机的虚拟网卡上,此虚拟网卡连接在虚拟交换机上所对应的端口。虚拟交换机上有多个端口组,每个端口组包含若干个端口。端口组分为标准端口组和分布式端口组,可以指定端口的vlan以及带宽限制等策略。镜像端口组的流量时,按照端口组所属的vlan来确定要镜像具体哪个端口组的流量。本方法可以镜像来自虚拟机、上行链路和端口组的流量,可将流量镜像至虚拟机或者配有ip的远程目标主机,还通过在创建镜像时进行同名镜像的逻辑判断来解决了openvswitch对于同名镜像创建无法删除的问题。具体的,可以镜像流量至目标端口,也可以镜像流量至远程主机。其中,镜像流量至远程物理主机时,将来自虚拟机、虚拟交换机上行链路或者端口组的流量通过创建的GRE隧道来完成流量至远程主机的镜像,在远程主机上完成对流量的存储和监控。其中,镜像流量至目标端口时,虚拟机连接在标准虚拟交换机或者分布式虚拟交换机上,通过镜像虚拟交换机上端口的流量来实现对虚拟机、虚拟交换机上行链路以及端口组流量的镜像,针对虚拟交换机端口的流量镜像是通过将流经端口的流量进行复制,转发给虚拟交换机上的其他端口,此端口称为目的端口,并在与目的端口连接的虚拟机上进行流量的解析和存储。针对虚拟机和上行链路的流量镜像包括进入和流出虚拟机和上行链路的流量。针对端口组流量的镜像是通过对vlan内的流量的镜像来实现的,一个端口组对应一个vlan,将端口组内的流量复制至目的端口,并由连接在目的端口上的虚拟机来对流量进行解析和存储。另外,基于openvswitch的流量镜像的实现支持多个流量镜像的创建,而当创建的镜像名称重名时,镜像将无法删除,因此本发明在进行创建镜像时,首先进行镜像名称是否重名的逻辑判断,如果创建的流量镜像与之前创建的流量镜像重名,那么镜像将不被创建。可以将镜像创建的类型分为四类,类型一在标准虚拟交换机上镜像虚拟机或者上行链路的流量至其他虚拟机远程主机;类型二:在标准虚拟交换机上镜像端口组的流量至其他虚拟机远程主机;类型三:在分布式虚拟交换机上镜像虚拟机或者上行链路的流量至其他虚拟机远程主机;类型四:在分布式虚拟交换机上镜像端口组的流量至其他虚拟机远程主机。本发明利用openvswitch的对流量镜像的支持,来完成流量镜像的实现,有效的完成了对虚拟机、虚拟交换机的上行链路以及端口组流量的监控,并可通过流量镜像来完成对网络故障的分析。图2提供了标准虚拟交换机Standardvswitch上流量镜像的网络拓扑示意图,在主机Server上新建一个标准交换机Standardvswitch,图中虚拟机Vmi通过虚拟网卡连接在标准交换机上,对应在标准交换机上的端口假设为Vmi-port,端口组PortGroup-0的vlan为0,端口组PortGroup-20的vlan为20,端口组PortGroup-30的vlan为30,端口组PortGroup-40的vlan为40,物理网卡eth0添加到标准交换机上,对应的端口为eth0,此端口作为标准交换机的上行链路口,在标准交换机上分别进行镜像的实现过程如下:1镜像虚拟机Vm1、Vm2的出端口流量以及Vm5、上行链路的出入端口流量至虚拟机Vm6,基于openvswitch的代码实现如下:ovs-vsctl----id=@Vm1-portgetportVm1-port----id=@Vm2-portgetportVm2-port----id=@Vm5-portgetportVm5-port----id=@Vm6-portgetportVm6-port----id=@eth0getporteth0----id=@mirror0createmirrorname=mirror0select-src-port=@Vm1-port,@Vm2-port,@Vm5-port,@eth0select-dst-port=@Vm5-port,@eth0output_port=@Vm6-port--setbridgeStandardvswitchmirrors=@mirror02镜像端口组PortGroup-20以及PortGroup-30的流量至虚拟机Vm8,基于openvswitch的代码实现如下:ovs-vsctl----id=@Vm8-portgetportVm8-port----id=@mirror1createmirrorname=mirror1select-all=trueselect-vlan=20,30output-port=@Vm8-port--setbridgeStandardvswitchmirrors=@mirror13镜像端口组PortGroup-20以及PortGroup-30的流量至远程的主机100.22.3.3,基于openvswitch的代码实现如下:ovs-vsctladd-portStandardvswitchgreport--setinterfacegreporttype=greoptions:remote_ip=100.22.3.3----id=@greportgetportgreport----id=@mirror2createmirrorname=mirror2select-vlan=20,30select-all=trueoutput-port=@greport--setbridgeStandardvswitchmirrors=@mirror2图3提供了分布式虚拟交换机Distributedvswitch上流量镜像的网络拓扑示意图,新建一个分布式交换机Distributedvswitch,并关联主机ServerA和ServerB,关联主机时,分布式交换机会在所关联的主机上创建名为Distributedvswitch虚拟交换机,ServerA和ServerB的物理网卡eth0连接至分布式交换机上,由图中可知在Vm-Ai为ServerA上的虚拟机,Vm-Bi为ServerB上的虚拟机,虚拟机连接到分布式交换机上对应的端口为Vm-Ai-port和Vm-Bi-port分布式端口组DistrubutedPortGroup-0、DistrubutedPortGroup-20、DistrubutedPortGroup-30的vlan分别为0、20、30,本发明在分布式虚拟交换机上所实现的镜像只支持在同一主机下进行,所以在分布式虚拟交换机上进行镜像的创建时要先选择主机,在分布式虚拟交换机上分别进行镜像的实现过程如下:1镜像主机ServerA上的虚拟机Vm-A1、Vm-A2以及上行链路的出入端口流量至虚拟机Vm-A5,基于openvswitch的代码实现如下:ovs-vsctl----id=@Vm-A1-portgetportVm-A1-port----id=@Vm-A2-portgetportVm-A2-port----id=@Vm-A5-portgetportVm-A5-port----id=@eth0getporteth0----id=@mirror4createmirrorname=mirror4select-src-port=@Vm-A1-port,@Vm-A2-port,@eth0select-dst-port=@Vm-A1-port,@Vm-A2-port,@eth0output_port=@Vm-A5-port--setbridgeDistributedvswitchmirrors=@mirror42镜像主机ServerB上的端口组DistrubutedPortGroup-20以及DistrubutedPortGroup-30的流量至主机B上的虚拟机Vm-B3,基于openvswitch的代码实现如下:ovs-vsctl----id=@Vm-B3-portgetportVm-B3-port----id=@mirror4createmirrorname=mirror4select-all=trueselect-vlan=20,30output-port=@Vm-B3-port--setbridgeStandardvswitchmirrors=@mirror43镜像主机ServerB上的端口组PortGroup-20以及PortGroup-30的流量至远程的主机100.22.3.5,基于openvswitch的代码实现如下:ovs-vsctladd-portDistributedvswitchgreport1--setinterfacegreport1type=greoptions:remote_ip=100.22.3.5----id=@greport1getportgreport1----id=@mirror5createmirrorname=mirror5select-vlan=20,30select-all=trueoutput-port=@greport1--setbridgeDistributedvswitchmirrors=@mirror5在镜像端口组的流量至远程主机时,如果流量要从其中镜像的端口组上出去,那么此端口组将不能作为镜像源,否则会造成环路,如在图2和图3的网络拓扑中,镜像流量会从端口组vlan为0的端口组上出去,所以此端口组将不能被镜像。以上本发明所提供的一种基于openvswitch的流量镜像方法,应用于虚拟化系统InCloudSphere,虚拟交换机利用开发虚拟交换标准openvswitch将流经虚拟交换机的流量进行复制得到流量镜像,将流量镜像通过通用路由分装GRE通道转发至远程主机;远程主机接收流量镜像,对流量镜像进行解析和存储;流经虚拟交换机的流量包括来自虚拟机的流量、来自虚拟交换机上行链路的流量或者来自虚拟交换机端口组的流量;并且,虚拟交换机将流量镜像转发至目的端口;目的端口将流量镜像传输至与目的端口相连的虚拟机;与目的端口相连的虚拟机接收流量镜像,对流量镜像进行解析和存储。可见,利用开发虚拟交换标准openvswitch的对流量镜像的支持,来完成流量镜像的实现,得到的流量镜像就是网络流量,且获取和存储流量镜像,有效的完成了对虚拟机、虚拟交换机的上行链路以及端口组流量的监控,通过流量的镜像来完成网络流量监控,所以该方法实现获取虚拟机、虚拟交换机上行链路以及端口组的流量镜像,有效监控网络流量。以上对本发明所提供的一种基于openvswitch的流量镜像方法,进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
权利要求:1.一种基于openvswitch的流量镜像方法,其特征在于,应用于虚拟化系统InCloudSphere,包括:虚拟交换机利用开发虚拟交换标准openvswitch将流经所述虚拟交换机的流量进行复制得到流量镜像,将所述流量镜像通过通用路由分装GRE通道转发至远程主机;远程主机接收所述流量镜像,对所述流量镜像进行解析和存储;其中,所述流经所述虚拟交换机的流量包括来自虚拟机的流量、来自虚拟交换机上行链路的流量或者来自虚拟交换机端口组的流量;其中,还包括:虚拟交换机将所述流量镜像转发至目的端口;目的端口将所述流量镜像传输至与所述目的端口相连的虚拟机;与所述目的端口相连的虚拟机接收所述流量镜像,对所述流量镜像进行解析和存储。2.如权利要求1所述的方法,其特征在于,所述虚拟交换机包括标准虚拟交换机或者分布式虚拟交换机。3.如权利要求1所述的方法,其特征在于,所述虚拟交换机上有多个端口组,每个端口组包括若干个端口,每个端口上通过虚拟机网卡对应连接一个虚拟机。4.如权利要求1所述的方法,其特征在于,所述远程主机接收所述流量镜像之后,还包括:远程主机对所述流量镜像进行监控;当出现网络故障时,远程主机依据所述流量镜像分析网络流量,对网络故障进行分析。5.如权利要求1所述的方法,其特征在于,与所述目的端口相连的虚拟机接收所述流量镜像之后,还包括:与所述目的端口相连的虚拟机对所述流量镜像进行监控;当出现网络故障时,与所述目的端口相连的虚拟机依据所述流量镜像分析网络流量,对网络故障进行分析。6.如权利要求1至5中任意一项所述的方法,其特征在于,还包括:所述虚拟交换机对所述流量镜像进行命名。7.如权利要求6所述的方法,其特征在于,所述虚拟交换机对所述流量镜像进行命名,包括:创建所述流量镜像的名称,判断所述名称与之前创建的流量镜像的名称是否重名,若是,删除所述流量镜像,若否,保留所述流量镜像。
百度查询: 浪潮(北京)电子信息产业有限公司 一种基于openvswitch的流量镜像方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。