第 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
) - 对某些类型的流量提供最低带宽限制。如果实施,将尽力为应用该规则的每个端口提供指定带宽不足。
- 带宽限制(
bandwidth_limit
) - 提供网络、端口、浮动 IP (FIP)和路由器网关 IP 的带宽限制。如果实施,超过指定率的流量都会被丢弃。
- DSCP marking (
dscp_marking
) - 使用不同服务代码点(DSCP)值标记网络流量。
QoS 策略可以在不同的上下文中实施,包括虚拟机实例放置、浮动 IP 分配和网关 IP 分配。
根据实施上下文以及您使用的机制驱动程序,QoS 规则会影响出口流量(从实例上传)、入口流量(从实例下载)或两者。
从 Red Hat OpenStack Platform (RHOSP) 17.1 开始,在 ML2/OVN 部署中,您可以为硬件卸载的端口启用最小带宽和带宽限制出口策略。您无法为硬件卸载的端口启用 ingress 策略。如需更多信息,请参阅 第 9.2 节 “为 QoS 策略配置网络服务”。
规则 [8] | 按机制驱动程序支持的流量方向 | ||
ML2/OVS | ML2/SR-IOV | ML2/OVN | |
最小带宽 | 仅出口 [4][5] | 仅限出口 | 目前,不支持 [6] |
带宽限制 | Egress [1][2] 和 ingress | 仅出口 [3] | 出口和入口 |
DSCP 标记 | 仅限出口 | N/A | 仅限 Egress[7] |
[1] OVS 出口带宽限制在TAP 接口中执行,并且是流量策略,而不是流量 shaping。
[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 标记。
[8] RHOSP 不支持中继端口的 QoS。
强制类型 | 按方向机制驱动程序支持的流量 | ||
ML2/OVS | ML2/SR-IOV | ML2/OVN | |
Placement | 出口和入口 | 出口和入口 | 目前,不支持 |
强制类型 | 按机制驱动程序支持的流量方向 | |
ML2/OVS | ML2/OVN | |
浮动 IP | 出口和入口 | 出口和入口 |
网关 IP | 出口和入口 | Egress 和 ingress [1] |
[1] RHOSP 17.1 中的技术预览.请参阅 BZ 2088291。