第 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 策略配置网络服务”

表 9.1. 按驱动程序支持的流量方向(所有 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。

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

强制类型

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

ML2/OVS

ML2/SR-IOV

ML2/OVN

Placement

出口和入口

出口和入口

目前,不支持

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

强制类型

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

ML2/OVS

ML2/OVN

浮动 IP

出口和入口

出口和入口

网关 IP

出口和入口

Egress 和 ingress [1]

[1] RHOSP 17.1 中的技术预览.请参阅 BZ 2088291