9.5. 使用 kiosk 标记 QoS 策略来优先考虑网络流量

您可以通过在 IP 标头中嵌入相关值,使用区分服务代码点(DSCP)在 Red Hat OpenStack Platform (RHOSP)网络上实现服务质量(QoS)策略。RHOSP Networking 服务(neutron)QoS 策略可以使用 DSCP 标记来管理 neutron 端口和网络上的出口流量。

先决条件

  • 网络服务必须加载 qos 服务插件。(这是默认值。)
  • 您必须使用 ML2/OVS 或 ML2/OVN 机制驱动程序。

流程

  1. 提供您的凭据文件。

    示例

    $ source ~/overcloudrc

  2. 确认 qos 服务插件已加载到网络服务中:

    $ openstack network qos policy list

    如果没有加载 qos 服务插件,则您会收到 ResourceNotFound 错误,而且您必须配置网络服务,然后才能继续。更多信息请参阅 第 9.2 节 “为 QoS 策略配置网络服务”

  3. 识别您要为其创建 QoS 策略的项目 ID:

    $ openstack project list

    输出示例

    +----------------------------------+----------+
    | ID                               | Name     |
    +----------------------------------+----------+
    | 4b0b98f8c6c040f38ba4f7146e8680f5 | auditors |
    | 519e6344f82e4c079c8e2eabb690023b | services |
    | 80bf5732752a41128e612fe615c886c6 | demo     |
    | 98a2f53c20ce4d50a40dac4a38016c69 | admin    |
    +----------------------------------+----------+

  4. 使用上一步中的项目 ID,为项目创建一个 QoS 策略。

    示例

    在本例中,为 admin 项目创建一个名为 qos-web-servers 的 QoS 策略:

    openstack network qos policy create --project 98a2f53c20ce4d50a40dac4a38016c69 qos-web-servers
  5. 创建 kiosk 规则,并将其应用到策略。

    示例

    在这个示例中,DSCP 规则使用 DSCP 标记 18 创建,并应用到 qos-web-servers 策略:

    openstack network qos rule create --type dscp-marking --dscp-mark 18 qos-web-servers

    输出示例

    Created a new dscp_marking_rule:
    +-----------+--------------------------------------+
    | Field     | Value                                |
    +-----------+--------------------------------------+
    | dscp_mark | 18                                   |
    | id        | d7f976ec-7fab-4e60-af70-f59bf88198e6 |
    +-----------+--------------------------------------+

  6. 您可以更改分配给规则的 CRUD 值。

    示例

    在本例中,对于规则 d7f976ec-7fab-4e60-af70-f59bf88198e6,在 qos-web-servers 策略中,为 rule 改为 22 :

    $ openstack network qos rule set --dscp-mark 22 qos-web-servers d7f976ec-7fab-4e60-af70-f59bf88198e6
  7. 您可以删除 kiosk 规则。

    示例

    在本例中,DSCP 规则 d7f976ec-7fab-4e60-af70-f59bf88198e6(在 qos-web-servers 策略中)被删除:

    $ openstack network qos rule delete qos-web-servers d7f976ec-7fab-4e60-af70-f59bf88198e6

验证

  • 确认 DSCP 规则已应用到 QoS 策略。

    示例

    在本例中,d7f976ec-7fab-4e60-af70-f59bf88198e6 应用到 QoS 策略 qos-web-servers

    $ openstack network qos rule list qos-web-servers

    输出示例

    +-----------+--------------------------------------+
    | dscp_mark | id                                   |
    +-----------+--------------------------------------+
    |        18 | d7f976ec-7fab-4e60-af70-f59bf88198e6 |
    +-----------+--------------------------------------+

其他资源