CN114338546A - 虚拟机限速方法、装置、电子设备及可读存储介质 - Google Patents
虚拟机限速方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114338546A CN114338546A CN202111603723.7A CN202111603723A CN114338546A CN 114338546 A CN114338546 A CN 114338546A CN 202111603723 A CN202111603723 A CN 202111603723A CN 114338546 A CN114338546 A CN 114338546A
- Authority
- CN
- China
- Prior art keywords
- speed
- data packet
- virtual machine
- limiting
- packet forwarding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000001052 transient effect Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种虚拟机限速方法、装置、电子设备及可读存储介质,包括:接收对目标虚拟机的QOS的配置请求,该配置请求包括数据包转发限速规则,该数据包转发限速规则包括数据包转发速率阈值;根据配置请求,在集成网桥添加meter限速表项和限速流表,该meter限速表项和限速流表用于按照数据包转发限速规则,控制流入目标虚拟机的数据包或者目标虚拟机流出的数据包的速率小于上述数据包转发速率阈值。通过采用包/秒(pps)作为限速单位来进行限速,可以准确表示虚拟机的转发性能,此限速方式可应用于各类型虚拟机,如网卡数据转发路径为内核态的虚拟机、网卡数据转发路径为用户态的DPDK高性能虚拟机等,应用方式更加广泛。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种虚拟机限速方法、装置、电子设备及可读存储介质。
背景技术
OpenStack作为当前开源的云计算管理平台项目,目前已得到了业界的广泛关注和应用。
由于虚拟化网络的服务质量直接影响云计算环境下的用户业务质量,因此虚拟化网络的服务质量(Quality Of Service,简称QOS)保障能力已成为云计算系统中一个重要的基础性服务能力。
现有的OpenStack环境下,各类型虚拟机的QOS保障通常采用带宽限速,限速单位一般是bps(bits/sec)。然而,由于输出数据的前导符、帧间隙、包长等会存在差异,因此以bps作为限速单位在许多应用场景下并不能直观地反映出虚拟机转发性能。例如,带宽数据为9.7Gbps(119万pps)、包长为1024Bytes的转发性能,相较于带宽数据为2.06G(174万pps)、包长为128Bytes的转发性能,直接比较bps带宽显然是不合理的。
发明内容
本申请提供一种虚拟机限速方法、装置、电子设备及可读存储介质,可以在OpenStack环境下对不同数据转发路径的虚拟机实现准确限速。
第一方面,本申请提供一种虚拟机限速方法,应用于OpenStack主机,所述OpenStack主机包括集成网桥与至少一个虚拟机,各个所述虚拟机均与所述集成网桥连接;所述方法包括:
接收针对所述OpenStack主机中目标虚拟机的服务质量QOS的配置请求,所述配置请求中包括所述目标虚拟机对应的数据包转发限速规则,所述数据包转发限速规则中包括数据包转发速率阈值;
根据接收到的所述配置请求,在所述集成网桥中添加限速流表,所述限速流表用于按照所述目标虚拟机对应的数据包转发限速规则,控制流入所述目标虚拟机的数据包或者所述目标虚拟机流出的数据包的速率小于所述数据包转发速率阈值。
可选的,所述集成网桥中包括暂态表transient_table,所述在集成网桥中添加限速流表,包括:
基于所述集成网桥中数据包的流向,在所述集成网桥中添加所述限速流表,所述限速流表位于所述transient_table之前;
其中,所述集成网桥在接收到数据包之后,将所述数据包转发至所述限速流表,所述限速流表按照所述目标虚拟机对应的数据包转发限速规则,对所述集成网桥接收到的数据包进行限速处理后转发至所transient_table。
可选的,当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,所述限速流表用于按照所述第一数据包转发限速规则,控制流入所述目标虚拟机的数据包的速率小于所述第一数据包转发限速规则中的第一数据包转发速率阈值;
当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,所述限速流表用于按照所述第二数据包转发限速规则,控制所述目标虚拟机流出的数据包的速率小于所述第二数据包转发限速规则中的第二数据包转发速率阈值。
可选的,所述根据接收到的所述配置请求,在所述集成网桥中添加限速流表,包括:
当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,根据所述第一数据包转发限速规则中的第一数据包转发速率阈值,创建所述目标虚拟机对应的第一meter限速表项;
根据所述目标虚拟机对应的虚拟局域网络vlan信息和目的媒体接入控制MAC地址,以及所述目标虚拟机对应的第一meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
可选的,所述根据接收到的所述配置请求,在所述集成网桥中添加限速流表,包括:
当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,根据所述第二数据包转发限速规则中的第二数据包转发速率阈值,创建所述目标虚拟机对应的第二meter限速表项;
根据所述目标虚拟机对应的入端口信息和源MAC地址,以及所述目标虚拟机对应的第二meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
第二方面,本申请提供一种虚拟机限速装置,应用于OpenStack主机,所述OpenStack主机包括集成网桥与至少一个虚拟机,各个所述虚拟机均与所述集成网桥连接;所述装置包括:
接收模块,用于接收针对所述OpenStack主机中目标虚拟机的服务质量QOS的配置请求,所述配置请求中包括所述目标虚拟机对应的数据包转发限速规则,所述数据包转发限速规则中包括数据包转发速率阈值;
处理模块,用于根据接收到的所述配置请求,在所述集成网桥中添加限速流表,所述限速流表用于按照所述目标虚拟机对应的数据包转发限速规则,控制流入所述目标虚拟机的数据包或者所述目标虚拟机流出的数据包的速率小于所述数据包转发速率阈值。
可选的,处理模块用于:
基于所述集成网桥中数据包的流向,在所述集成网桥中添加所述限速流表,所述限速流表位于所述transient_table之前;
其中,所述集成网桥在接收到数据包之后,将所述数据包转发至所述限速流表,所述限速流表按照所述目标虚拟机对应的数据包转发限速规则,对所述集成网桥接收到的数据包进行限速处理后转发至所transient_table。
可选的,当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,所述限速流表用于按照所述第一数据包转发限速规则,控制流入所述目标虚拟机的数据包的速率小于所述第一数据包转发限速规则中的第一数据包转发速率阈值;
当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,所述限速流表用于按照所述第二数据包转发限速规则,控制所述目标虚拟机流出的数据包的速率小于所述第二数据包转发限速规则中的第二数据包转发速率阈值。
可选的,处理模块具体用于:
当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,根据所述第一数据包转发限速规则中的第一数据包转发速率阈值,创建所述目标虚拟机对应的第一meter限速表项。
根据所述目标虚拟机对应的vlan信息和目的MAC地址,以及所述目标虚拟机对应的第一meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
可选的,处理模块具体用于:
当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,根据所述第二数据包转发限速规则中的第二数据包转发速率阈值,创建所述目标虚拟机对应的第二meter限速表项。
根据所述目标虚拟机对应的入端口信息和源MAC地址,以及所述目标虚拟机对应的第二meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
第三方面,本申请提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面提供的虚拟机限速方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面提供的虚拟机限速方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现如第一方面提供的虚拟机限速方法。
本申请所提供的虚拟机限速方法、装置、电子设备及可读存储介质,根据目标虚拟机对应的数据包转发限速规则,创建目标虚拟机对应的meter限速表项,然后在集成网桥中添加限速流表,该限速流表按照上述meter限速表项即可对流入或流出虚拟机的数据包的转发速率进行限速。即本申请通过采用包/秒(pps)作为限速单位,来对流入或流出虚拟机的数据包的转发速率进行限速,相较于采用bps作为限速单位,可以更加准确的表示虚拟机的转发性能,另外,此种限速方式可应用于各类型虚拟机,如网卡数据转发路径为内核态的虚拟机、网卡数据转发路径为用户态的DPDK高性能虚拟机等,具有较好的通用性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对本申请实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中提供的一种虚拟机应用场景示意图;
图2为本申请实施例提供的一种虚拟机限速方法的流程示意图;
图3为本申请实施例中提供的一种数据包转发流程示意图;
图4为本申请实施例提供的一种虚拟机限速方法的另一流程示意图;
图5为本申请实施例中提供的一种虚拟机限速装置的程序模块示意图;
图6为本申请实施例中提供的一种电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
虚拟交换机是一种软件形式的交换部件,可以用来实现物理主机上多台虚拟机的数据交换,并管理各虚拟机对应的端口流量。基于不同的协议和架构,虚拟交换机有多个种类,例如:Linux系统中的网桥设备和OVS(Open vSwitch,开放虚拟交换标准)设备,其中,OVS设备是一种多层虚拟交换机。
受网络带宽的限制,并不是所有的虚拟机用户都能享受到充足的流量带宽,因此,云平台通常会依照用户的优先级提供差异化的网络服务。虚拟机限速是常用的QOS(Quality Of Service,服务质量)手段,以保证指定网络的高质量服务。
为了更好地理解本申请的技术方案,参照图1所示,图1为本申请实施例中提供的一种虚拟机应用场景示意图。在一些实施例中,每一个计算节点上均可以创建至少一个虚拟机,如图1中,计算节点1中可以创建虚拟机Vm1,计算节点2中可以创建虚拟机Vm2。另外,每一个计算节点上均包括集成网桥br-int与物理网卡,物理网卡可以与外部的物理网络进行通信,实现不同计算节点中的虚拟机之间的数据交换。
其中,所述计算节点1与计算节点2可以理解为是OpenStack环境下不同的两个主机。
在一些实施例中,一台虚拟交换机可以管理一台主机上的虚拟机,也可以以分布式管理的方式同时管理多台物理主机上的虚拟机。虚拟网卡通常设置在虚拟机上;一台虚拟机可以设置一个或多个虚拟网卡,当虚拟机设置多个虚拟网卡时,可以使该虚拟机连接不同的虚拟网络。
现有的OpenStack环境下各类型虚拟机的限速方法是带宽限速,单位是bps(bits/sec);通过对虚拟网卡设置QOS,并为QOS创建限速规则(rule),在rule中设置限速类型/限速单位等后,调用QOS_drviver实现对虚拟机的带宽限速。
现有的OpenStack环境下,由于输出数据的前导符、帧间隙、包长等会存在差异,故以bps作为限速单位在许多应用场景下并不能准确表示出虚拟机性能。
面对上述技术问题,本申请实施例中提供了一种虚拟机限速方法,在OpenStack环境下各类型虚拟机的限速方法采用包转发限速,单位是pps(pkts/sec);通过对虚拟网卡设置QOS,并为QOS创建限速规则(rule),在rule中设置限速类型/单位等,下发OVS meter/flow table实现对虚拟机的包转发限速。由此可以更加准确的表示虚拟机的转发性能,可应用于各类型虚拟机,如网卡数据转发路径为内核态的虚拟机、网卡数据转发路径为用户态的DPDK高性能虚拟机等,具有更广泛的适用范围。下面采用详细的实施例进行详细说明。
参照图2,图2为本申请实施例提供的一种虚拟机限速方法的流程示意图。在一种可行的实施方式中,该方法包括:
S201、接收针对OpenStack主机中目标虚拟机的QOS的配置请求,该配置请求中包括目标虚拟机对应的数据包转发限速规则。
在一些实施例中,每一个OpenStack主机中均可以创建至少一个虚拟机。外部用户可以输入针对任意目标虚拟机的QOS的配置请求,该配置请求中包括目标虚拟机对应的数据包转发限速规则,以请求对该目标虚拟机的包转发速率进行限速。
其中,上述数据包转发限速规则通常包括限速类型、限速方向、限速数值与单位。
比如,限速类型为pps包转发限速;限速方向包括数据包进入虚拟机的入方向和数据包离开虚拟机的出方向;限速数值与单位中,限速数值即限速阈值(rate/burst值),限速单位是packet/sec,例如限定虚拟机的包转发速率最高为1000,单位为Kpps,突发值800,单位为Kpps。
通过上述配置请求,可以明确用户是要对哪一个虚拟机进行限速,限速方向为入方向还是出方向,限速类型是否为pps包转发限速,限速数值和单位具体是什么。比如,有的是出虚拟机方向的pps包转发限速,需要由in_port和源MAC地址信息组成限速流表;有的是入虚拟机方向的pps包转发限速,则需要由vlan信息和目的MAC地址信息组成限速流表。
S202、根据接收到的配置请求,在集成网桥中添加限速流表,该限速流表用于按照目标虚拟机对应的数据包转发限速规则,控制流入目标虚拟机的数据包或者目标虚拟机流出的数据包的速率小于数据包转发速率阈值。
在本申请实施例中,可以在集成网桥中添加限速流表(flow table),该限速流表可以限制进/出目标虚拟机的数据包的速率。
例如,当数据包转发限速规则中包括目标虚拟机流入方向对应的限速规则时,限速流表用于按照数据包转发限速规则,控制流入目标虚拟机的数据包的速率小于上述数据包转发限速规则中的数据包转发速率阈值。
当数据包转发限速规则中包括目标虚拟机流出方向对应的限速规则时,限速流表用于按照数据包转发限速规则,控制目标虚拟机流出的数据包的速率小于上述数据包转发限速规则中的数据包转发速率阈值。
本申请实施例所提供的虚拟机限速方法,根据目标虚拟机对应的数据包转发限速规则,创建目标虚拟机对应的meter限速表项,然后在集成网桥中添加限速流表,该限速流表按照上述meter限速表项即可对流入或流出虚拟机的数据包的转发速率进行限速。即本申请通过采用pps作为限速单位,来对流入或流出虚拟机的数据包的转发速率进行限速,相较于采用bps作为限速单位,可以准确的表示虚拟机的转发性能,另外,此种限速方式可应用于各类型虚拟机,如网卡数据转发路径为内核态的虚拟机、网卡数据转发路径为用户态的DPDK高性能虚拟机等,具有较好的通用性。
基于上述实施例中所描述的内容,参照图3,图3为本申请实施例中提供的一种数据包转发流程示意图。
在一些实施例中,集成网桥的OVS中包括Table 0、Table 24/25、Table 59、Table60等。其中,Table 59为本申请实施例中添加的限速流表;Table 60为transient_table,集成网桥中转发的每一个数据包都会经过Table 60。例如,在未添加Table 59之前,集成网桥中的数据包会直接或接近通过Table 0、Table 24/25流入Table 60。
本申请实施例中,在Table 60之前添加限速流表Table 59之后,所有需要转发到Table 60的数据包,都首先要转发到Table 59。当Table 59无限速规则时,所有进入Table59的数据包直接转发至Table 60;当Table 59有限速规则时,所有进入Table 59的数据包需要先按照限速规则进行限速处理后,再转发至Table 60。
在一些实施例中,当接收到的配置请求对虚拟机设置了流出方向的数据包转发限速规则时,则需要根据该数据包转发限速规则中的数据包转发速率阈值(rate/burst数值),创建目标虚拟机对应的meter限速表项;然后从端口配置信息中提取入端口信息in_port和源MAC地址信息后,在Table 59中添加flow table,并在flow中引用上述meter限速表项,达到数据包转发限速的目的。
参照图4,图4为本申请实施例提供的一种虚拟机限速方法的另一流程示意图。在一种可行的实施方式中,该方法包括:
S401、接收针对OpenStack主机中目标虚拟机的QOS的配置请求,该配置请求中包括目标虚拟机对应的数据包转发限速规则。
S402、根据目标虚拟机对应的数据包转发限速规则,创建目标虚拟机对应的meter限速表项。
S403、在集成网桥中添加限速流表,该限速流表用于按照上述meter限速表项,控制流入目标虚拟机的数据包或者目标虚拟机流出的数据包的速率小于数据包转发速率阈值。
在一些实施例中,当接收到的配置请求对虚拟机设置了流入方向的数据包转发限速规则时,则需要根据该数据包转发限速规则中的数据包转发速率阈值(rate/burst数值),创建目标虚拟机对应的meter限速表项;然后从端口配置信息中提取vlan信息和目的MAC地址信息后,在Table 59中添加flow table,并在flow中引用上述meter限速表项,达到数据包转发限速的目的。
可以理解的是,在OpenStack-OVS的流程中,flow table的规则千变万化,因此可以在数据包转发的必经之路上尽可能早的进行限速,不论是不是开启安全组等其它设置,transient_table都在数据包的pipeline上,因此,从Table 60限速是有效的。但是,为了避免修改已有的flow,增加Table 59专门处理meter规则的表,原来流程中本该送往Table 60的flow改为先经过Table 59,再转发到Table 60。无meter限速规则时,Table 59不做任何处理,直接转发将接收到的数据包转发到Table 60;有meter限速规则时,利用Table 59对接收到的数据包进行限速后再转发到Table 60。
在一些实施例中,在OpenStack场景实现对虚拟机的包转发限速,可以是在对虚拟机网卡进行QOS绑定的时候,获取QOS的限速规则中的限速类型、限速单位,在集成网桥br-int上添加meter table。
本申请实施例所提供的虚拟机限速方法,在OpenStack场景下,采用包/秒(pps)作为限速单位,来对流入或流出虚拟机的数据包的转发速率进行限速;对于DPDK datapath的高性能虚拟机,当包转发速率达到百万级pps以上时,仍能进行限速。另外,当转发数据的包长发生变化时,可以更加直观的表示虚拟机的性能。
基于上述实施例中所描述的内容,本申请实施例中还提供一种虚拟机限速装置,应用于OpenStack主机,该OpenStack主机包括集成网桥与至少一个虚拟机,各个虚拟机均与集成网桥连接;参照图5,图5为本申请实施例中提供的一种虚拟机限速装置的程序模块示意图,上述装置包括:
接收模块501,用于接收针对OpenStack主机中目标虚拟机的服务质量QOS的配置请求,该配置请求中包括所述目标虚拟机对应的数据包转发限速规则,所述数据包转发限速规则中包括数据包转发速率阈值。
处理模块502,用于根据接收到的配置请求,在集成网桥中添加限速流表,该限速流表用于按照目标虚拟机对应的数据包转发限速规则,控制流入目标虚拟机的数据包或者目标虚拟机流出的数据包的速率小于上述数据包转发速率阈值。
本申请实施例所提供的虚拟机限速装置,根据目标虚拟机对应的数据包转发限速规则,创建目标虚拟机对应的meter限速表项,然后在集成网桥中添加限速流表,该限速流表按照上述meter限速表项即可对流入或流出虚拟机的数据包的转发速率进行限速。即本申请通过采用pps作为限速单位,来对流入或流出虚拟机的数据包的转发速率进行限速,相较于采用bps作为限速单位,可以准确的表示虚拟机的转发性能,可应用于各类型虚拟机,如网卡数据转发路径为内核态的虚拟机、网卡数据转发路径为用户态的DPDK高性能虚拟机等,具有较好的通用性。
在一种可行的实施方式中,处理模块502用于:
基于所述集成网桥中数据包的流向,在所述集成网桥中添加所述限速流表,所述限速流表位于所述transient_table之前;其中,所述集成网桥在接收到数据包之后,将所述数据包转发至所述限速流表,所述限速流表按照所述目标虚拟机对应的数据包转发限速规则,对所述集成网桥接收到的数据包进行限速处理后转发至所述transient_table。
在一种可行的实施方式中,当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,所述限速流表用于按照所述第一数据包转发限速规则,控制流入所述目标虚拟机的数据包的速率小于所述第一数据包转发限速规则中的第一数据包转发速率阈值;当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,所述限速流表用于按照所述第二数据包转发限速规则,控制所述目标虚拟机流出的数据包的速率小于所述第二数据包转发限速规则中的第二数据包转发速率阈值。
在一种可行的实施方式中,处理模块502用于:
当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,根据所述第一数据包转发限速规则中的第一数据包转发速率阈值,创建所述目标虚拟机对应的第一meter限速表项。
根据所述目标虚拟机对应的vlan信息和目的MAC地址,以及所述目标虚拟机对应的第一meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
在一种可行的实施方式中,处理模块502用于:
当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,根据所述第二数据包转发限速规则中的第二数据包转发速率阈值,创建所述目标虚拟机对应的第二meter限速表项。
根据所述目标虚拟机对应的入端口信息和源MAC地址,以及所述目标虚拟机对应的第二meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
需要说明的是,本申请实施例中接收模块501、处理模块502具体执行的内容可以参阅图1至图4所示实施例中描述的相关内容,此处不做赘述。
进一步的,基于上述实施例中所描述的内容,本申请实施例中还提供了一种电子设备,该电子设备包括至少一个处理器和存储器;其中,存储器存储计算机执行指令;上述至少一个处理器执行存储器存储的计算机执行指令,可以实现如上述实施例中描述的虚拟机限速方法中的各个步骤,具体可以参照上述实施例中的描述,本实施例此处不再赘述。
为了更好的理解本申请实施例,参照图6,图6为本申请实施例提供的一种电子设备的硬件结构示意图。
如图6所示,本实施例的电子设备60包括:处理器601以及存储器602;其中:
存储器602,用于存储计算机执行指令;
处理器601,用于执行存储器存储的计算机执行指令,可以实现如上述实施例中描述的虚拟机限速方法中的各个步骤,具体可以参照上述实施例中的描述,本实施例此处不再赘述。
可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。
当存储器602独立设置时,该设备还包括总线603,用于连接所述存储器602和处理器601。
进一步的,基于上述实施例中所描述的内容,本申请实施例中还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,可以实现如上述实施例中描述的虚拟机限速方法中的各个步骤,具体可以参照上述实施例中的描述,本实施例此处不再赘述。
进一步的,基于上述实施例中所描述的内容,本申请实施例中还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,可以实现如上述实施例中描述的虚拟机限速方法中的各个步骤,具体可以参照上述实施例中的描述,本实施例此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种虚拟机限速方法,其特征在于,应用于OpenStack主机,所述OpenStack主机包括集成网桥与至少一个虚拟机,各个所述虚拟机均与所述集成网桥连接;所述方法包括:
接收针对所述OpenStack主机中目标虚拟机的服务质量QOS的配置请求,所述配置请求中包括所述目标虚拟机对应的数据包转发限速规则,所述数据包转发限速规则中包括数据包转发速率阈值;
根据接收到的所述配置请求,在所述集成网桥中添加限速流表,所述限速流表用于按照所述目标虚拟机对应的数据包转发限速规则,控制流入所述目标虚拟机的数据包或者所述目标虚拟机流出的数据包的速率小于所述数据包转发速率阈值。
2.根据权利要求1所述的方法,其特征在于,所述集成网桥中包括暂态表transient_table,所述在集成网桥中添加限速流表,包括:
基于所述集成网桥中数据包的流向,在所述集成网桥中添加所述限速流表,所述限速流表位于所述transient_table之前;
其中,所述集成网桥在接收到数据包之后,将所述数据包转发至所述限速流表,所述限速流表按照所述目标虚拟机对应的数据包转发限速规则,对所述集成网桥接收到的数据包进行限速处理后转发至所transient_table。
3.根据权利要求1所述的方法,其特征在于,
当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,所述限速流表用于按照所述第一数据包转发限速规则,控制流入所述目标虚拟机的数据包的速率小于所述第一数据包转发限速规则中的第一数据包转发速率阈值;
当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,所述限速流表用于按照所述第二数据包转发限速规则,控制所述目标虚拟机流出的数据包的速率小于所述第二数据包转发限速规则中的第二数据包转发速率阈值。
4.根据权利要求3所述的方法,其特征在于,所述根据接收到的所述配置请求,在所述集成网桥中添加限速流表,包括:
当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,根据所述第一数据包转发限速规则中的第一数据包转发速率阈值,创建所述目标虚拟机对应的第一meter限速表项;
根据所述目标虚拟机对应的虚拟局域网络vlan信息和目的媒体接入控制MAC地址,以及所述目标虚拟机对应的第一meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
5.根据权利要求3所述的方法,其特征在于,所述根据接收到的所述配置请求,在所述集成网桥中添加限速流表,包括:
当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,根据所述第二数据包转发限速规则中的第二数据包转发速率阈值,创建所述目标虚拟机对应的第二meter限速表项;
根据所述目标虚拟机对应的入端口信息和源MAC地址,以及所述目标虚拟机对应的第二meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
6.一种虚拟机限速装置,其特征在于,应用于OpenStack主机,所述OpenStack主机包括集成网桥与至少一个虚拟机,各个所述虚拟机均与所述集成网桥连接;所述装置包括:
接收模块,用于接收针对所述OpenStack主机中目标虚拟机的服务质量QOS的配置请求,所述配置请求中包括所述目标虚拟机对应的数据包转发限速规则,所述数据包转发限速规则中包括数据包转发速率阈值;
处理模块,用于根据接收到的所述配置请求,在所述集成网桥中添加限速流表,所述限速流表用于按照所述目标虚拟机对应的数据包转发限速规则,控制流入所述目标虚拟机的数据包或者所述目标虚拟机流出的数据包的速率小于所述数据包转发速率阈值。
7.根据权利要求6所述的装置,其特征在于,所述处理模块用于:
基于所述集成网桥中数据包的流向,在所述集成网桥中添加所述限速流表,所述限速流表位于所述transient_table之前;
其中,所述集成网桥在接收到数据包之后,将所述数据包转发至所述限速流表,所述限速流表按照所述目标虚拟机对应的数据包转发限速规则,对所述集成网桥接收到的数据包进行限速处理后转发至所transient_table。
8.根据权利要求6所述的装置,其特征在于,
当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,所述限速流表用于按照所述第一数据包转发限速规则,控制流入所述目标虚拟机的数据包的速率小于所述第一数据包转发限速规则中的第一数据包转发速率阈值;
当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,所述限速流表用于按照所述第二数据包转发限速规则,控制所述目标虚拟机流出的数据包的速率小于所述第二数据包转发限速规则中的第二数据包转发速率阈值。
9.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于:
当所述数据包转发限速规则中包括所述目标虚拟机流入方向对应的第一数据包转发限速规则时,根据所述第一数据包转发限速规则中的第一数据包转发速率阈值,创建所述目标虚拟机对应的第一meter限速表项;
根据所述目标虚拟机对应的虚拟局域网络vlan信息和目的媒体接入控制MAC地址,以及所述目标虚拟机对应的第一meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
10.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于:
当所述数据包转发限速规则中包括所述目标虚拟机流出方向对应的第二数据包转发限速规则时,根据所述第二数据包转发限速规则中的第二数据包转发速率阈值,创建所述目标虚拟机对应的第二meter限速表项;
根据所述目标虚拟机对应的入端口信息和源MAC地址,以及所述目标虚拟机对应的第二meter限速表项,生成所述目标虚拟机对应的限速流表,并添加至所述集成网桥。
11.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至5任一项所述的虚拟机限速方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至5任一项所述的虚拟机限速方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111603723.7A CN114338546A (zh) | 2021-12-24 | 2021-12-24 | 虚拟机限速方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111603723.7A CN114338546A (zh) | 2021-12-24 | 2021-12-24 | 虚拟机限速方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114338546A true CN114338546A (zh) | 2022-04-12 |
Family
ID=81012726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111603723.7A Pending CN114338546A (zh) | 2021-12-24 | 2021-12-24 | 虚拟机限速方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338546A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884816A (zh) * | 2022-06-17 | 2022-08-09 | 中国联合网络通信集团有限公司 | 数据包限速规则处理方法、装置、设备、存储介质 |
CN115834291A (zh) * | 2022-11-16 | 2023-03-21 | 中国联合网络通信集团有限公司 | 分布式内网服务数据获取方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753810A (zh) * | 2013-12-30 | 2015-07-01 | 腾讯数码(天津)有限公司 | 一种网络入流量限速方法及装置 |
CN107666446A (zh) * | 2017-09-14 | 2018-02-06 | 北京京东尚科信息技术有限公司 | 下行流量、上行流量、双向流量限制方法和装置 |
WO2018045821A1 (zh) * | 2016-09-06 | 2018-03-15 | 北京京东尚科信息技术有限公司 | 云主机数据发送、接收、传输方法和装置 |
CN108900420A (zh) * | 2018-06-26 | 2018-11-27 | 新华三云计算技术有限公司 | 流限速方法、装置和服务器 |
CN109768871A (zh) * | 2017-11-09 | 2019-05-17 | 阿里巴巴集团控股有限公司 | 配置多个虚拟网卡的方法、宿主机和存储介质 |
-
2021
- 2021-12-24 CN CN202111603723.7A patent/CN114338546A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753810A (zh) * | 2013-12-30 | 2015-07-01 | 腾讯数码(天津)有限公司 | 一种网络入流量限速方法及装置 |
WO2018045821A1 (zh) * | 2016-09-06 | 2018-03-15 | 北京京东尚科信息技术有限公司 | 云主机数据发送、接收、传输方法和装置 |
CN107666446A (zh) * | 2017-09-14 | 2018-02-06 | 北京京东尚科信息技术有限公司 | 下行流量、上行流量、双向流量限制方法和装置 |
CN109768871A (zh) * | 2017-11-09 | 2019-05-17 | 阿里巴巴集团控股有限公司 | 配置多个虚拟网卡的方法、宿主机和存储介质 |
CN108900420A (zh) * | 2018-06-26 | 2018-11-27 | 新华三云计算技术有限公司 | 流限速方法、装置和服务器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884816A (zh) * | 2022-06-17 | 2022-08-09 | 中国联合网络通信集团有限公司 | 数据包限速规则处理方法、装置、设备、存储介质 |
CN114884816B (zh) * | 2022-06-17 | 2024-02-13 | 中国联合网络通信集团有限公司 | 数据包限速规则处理方法、装置、设备、存储介质 |
CN115834291A (zh) * | 2022-11-16 | 2023-03-21 | 中国联合网络通信集团有限公司 | 分布式内网服务数据获取方法、装置、设备及存储介质 |
CN115834291B (zh) * | 2022-11-16 | 2024-04-09 | 中国联合网络通信集团有限公司 | 分布式内网服务数据获取方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11792100B2 (en) | Network performance parameter sending method, network performance calculation method, and network node | |
US10757005B2 (en) | Execution of packet-specified actions at forwarding element | |
CN110808913B (zh) | 报文处理的方法、装置及相关设备 | |
CN114338546A (zh) | 虚拟机限速方法、装置、电子设备及可读存储介质 | |
US10148556B2 (en) | Link aggregation group (LAG) support on a software-defined network (SDN) | |
US10057175B2 (en) | Method and device for transmitting network packet | |
CN110784345B (zh) | 网络流量处理方法、装置、电子设备及机器可读存储介质 | |
CN112714052B (zh) | 一种流量隔离方法、装置、交换机及存储介质 | |
CN112491789B (zh) | 一种基于OpenStack框架的虚拟防火墙构建方法及存储介质 | |
CN109120454B (zh) | 一种QoS流量限速系统及方法 | |
CN107832141A (zh) | 应用程序运行控制方法及设备 | |
CN108683607A (zh) | 虚拟机流量控制方法、装置和服务器 | |
CN108881069B (zh) | 多播流量的转发方法、装置和服务器 | |
CN108712496B (zh) | 一种olt设备的端口镜像方法及装置 | |
CN113037681B (zh) | Acl规则管理方法、装置、计算机设备及计算机可读介质 | |
CN110430112B (zh) | 一种实现虚拟机网络io优先级的方法和装置 | |
CN111835635B (zh) | 一种bgp网络中发布路由的方法、设备和系统 | |
CN114697440B (zh) | 网络管理方法及移动终端 | |
CN116566752B (zh) | 安全引流系统、云主机及安全引流方法 | |
CN107682300B (zh) | 确定安全组规则链的方法和装置 | |
CN110912777A (zh) | 流量追踪方法、装置、电子设备及机器可读存储介质 | |
EP3190751A1 (en) | Method and device for delivering forwarding parameters | |
CN113497755B (zh) | 数据转发方法、系统及设备 | |
CN112367258B (zh) | 基于Openstack架构实现服务链功能的方法 | |
Lesokhin et al. | Flow-based tunneling for SR-IOV using switchdev API |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220412 |