第 9 章 使用服务质量(QoS)策略来管理数据流量

您可以使用服务质量(QoS)策略为虚拟机实例提供不同的服务级别,以将速率限制应用到 Red Hat OpenStack Platform (RHOSP)网络上的出口和入口流量。

您可以将 QoS 策略应用到单独的端口,或将 QoS 策略应用到项目网络,其中没有附加特定策略的端口会继承策略。

注意

DHCP 和内部路由器端口等内部网络拥有的端口不包括在网络策略应用程序中。

您可以动态应用、修改或删除 QoS 策略。但是,为了保证最小带宽 QoS 策略,您只能在没有实例使用该策略分配给的任何端口时才应用修改。

9.1. QoS 规则

您可以配置以下规则类型,以在 Red Hat OpenStack Platform (RHOSP) Networking 服务(neutron)中定义服务质量(QoS)策略:

Minimum bandwidth (minimum_bandwidth)
对某些类型的流量提供最小带宽限制。如果实施,则会将最佳努力减少到应用该规则的每个端口的指定带宽。
带宽限制(bandwidth_limit)
对网络、端口、浮动 IP 和路由器网关 IP 提供带宽限制。如果实现,则超过指定速率的任何流量都会被丢弃。
DSCP marking (dscp_marking)
使用不同的服务代码点(DSCP)值标记网络流量。

可在各种上下文中强制执行 QoS 策略,包括虚拟机实例放置、浮动 IP 分配和网关 IP 分配。

根据强制上下文以及您使用的机制驱动程序,QoS 规则会影响出口流量(从实例上传)、入口流量(下载到实例)或两者。

表 9.1. 按驱动程序支持的流量方向(所有 QoS 规则类型)

规则 [8]

按机制驱动程序支持的流量方向

ML2/OVS

ML2/SR-IOV

ML2/OVN

最小带宽

仅出口 [4][5]

仅限出口

目前,不支持 [6]

带宽限制

Egress [1][2] 和 ingress

仅出口 [3]

Egress 和 ingress

账单标记

仅限出口

N/A

仅限 Egress[7]

[1] OVS 出口带宽限制在 sVirt 接口中执行,并且流量策略,而不是流量 shaping。

[2] 在 RHOSP 16.2.2 及更高版本中,通过使用 ip link 命令应用网络接口中的 QoS 策略,在硬件卸载端口上支持 OVS 出口带宽限制。

[3] 机制驱动程序忽略 max-burst-kbits 参数,因为它们不支持它。

[4] 规则只适用于非隧道网络:扁平和 VLAN。

[5] 硬件卸载端口上支持 OVS 出口最小带宽,方法是使用 ip link 命令应用网络接口中的 QoS 策略。

[6] https://bugzilla.redhat.com/show_bug.cgi?id=2060310

[7] ML2/OVN 不支持在隧道协议中的 DSCP 标记。

[8] RHOSP 不支持中继端口的 QoS。

表 9.2. 用于放置报告和调度的驱动程序支持的流量方向(仅限最小带宽)

强制类型

按方向机制驱动程序支持的流量

ML2/OVS

ML2/SR-IOV

ML2/OVN

Placement

Egress 和 ingress

Egress 和 ingress

目前,不支持

表 9.3. 支持驱动程序用于强制类型的流量方向(仅限带宽限制)

强制类型

按机制驱动程序支持的流量方向

ML2/OVS

ML2/OVN

浮动 IP

Egress 和 ingress

Egress 和 ingress

网关 IP

Egress 和 ingress

目前,不支持 [1]

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2064185