第 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 规则会影响出口流量(从实例上传)、入口流量(下载到实例)或两者。
规则 [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。
强制类型 | 按方向机制驱动程序支持的流量 | ||
ML2/OVS | ML2/SR-IOV | ML2/OVN | |
Placement | Egress 和 ingress | Egress 和 ingress | 目前,不支持 |
强制类型 | 按机制驱动程序支持的流量方向 | |
ML2/OVS | ML2/OVN | |
浮动 IP | Egress 和 ingress | Egress 和 ingress |
网关 IP | Egress 和 ingress | 目前,不支持 [1] |