第 9 章 使用服务质量(QoS)策略来管理数据流量
您可以使用服务质量(QoS)策略为虚拟机实例提供不同的服务级别,以将速率限值应用到 Red Hat OpenStack Platform (RHOSP)网络上的出口和入口流量。
您可以将 QoS 策略应用到各个端口,或将 QoS 策略应用到项目网络,其中没有附加特定策略的端口会继承策略。
网络策略应用程序中排除内部网络拥有的端口,如 DHCP 和内部路由器端口。
您可以动态应用、修改或删除 QoS 策略。但是,对于保证最小带宽 QoS 策略,您只能仅在不使用策略分配到的任何端口时应用修改。
9.1. QoS 规则
您可以配置以下规则类型,以便在 Red Hat OpenStack Platform (RHOSP)网络服务(neutron)中定义服务质量(QoS)策略:
- Minimum bandwidth (
minimum_bandwidth) - 对特定类型的流量提供最低带宽限制。如果实施,则尽力提供比应用该规则的每个端口的指定带宽不少于指定带宽。
- 带宽限制(
bandwidth_limit) - 提供网络、端口、浮动 IP 和路由器网关 IP 的带宽限制。如果实现,任何超过指定率的流量都会被丢弃。
- DSCP marking (
dscp_marking) - 使用不同的服务代码点(DSCP)值标记网络流量。
可以在各种上下文中强制实施 QoS 策略,包括虚拟机实例放置、浮动 IP 分配和网关 IP 分配。
根据强制上下文和您使用的机制驱动程序,QoS 规则会影响出口流量(从实例上传)、入口流量(下载至实例),或两者。
表 9.1. 按驱动程序支持流量方向(所有 QoS 规则类型)
| 规则 | 按机制驱动程序支持流量方向 | ||
| ML2/OVS | ML2/SR-IOV | ML2/OVN | |
| 最小带宽 | 出口只 [4][5] | 仅限出口 | 目前,不支持 [6] |
| 带宽限制 | Egress [1][2] 和 ingress | 仅限出口 [3] | 出口和入口 |
| DSCP 标记 | 仅限出口 | N/A | 出口只 [7] |
[1] OVS 出站带宽限制在 TAP 接口中执行,它是流量策略,而不是流量控制。
[2] 在 RHOSP 16.2.2 及更高版本中,使用 ip link 命令在网络接口中应用 QoS 策略,在硬件卸载端口上支持 OVS 出站带宽限制。
[3] 机制驱动程序忽略 max-burst-kbits 参数,因为它们不支持它。
[4] 规则仅适用于非隧道网络:扁平和 VLAN。
[5] 使用 ip link 命令在网络接口中应用 QoS 策略,在硬件卸载端口上支持 OVS 出口最小带宽。
[6] https://bugzilla.redhat.com/show_bug.cgi?id=2060310
[7] ML2/OVN 不支持在隧道协议上标记 DSCP。
表 9.2. 根据驱动程序支持流量方向进行放置报告和调度(仅最小带宽)
| 强制类型 | 根据方向机制驱动程序支持流量 | ||
| ML2/OVS | ML2/SR-IOV | ML2/OVN | |
| Placement | 出口和入口 | 出口和入口 | 目前,不支持 |
表 9.3. 按驱动程序支持流量方向(仅限带宽限制)
| 强制类型 | 按机制驱动程序支持流量方向 | |
| ML2/OVS | ML2/OVN | |
| 浮动 IP | 出口和入口 | 出口和入口 |
| 网关 IP | 出口和入口 | 目前,不支持 [1] |