第 6 章 创建具有保证最小带宽 QoS 的实例


您可以使用服务质量(QoS)策略创建请求保证最小带宽的实例。

具有保证最小带宽规则的 QoS 策略被分配给特定物理网络上的端口。当您创建使用配置的端口的实例时,计算调度服务为满足此请求的实例选择主机。计算调度服务在选择要部署实例的主机之前,检查放置服务是否有其他实例在各个物理接口预留的带宽量。

注意

要在云上执行 openstack 客户端命令,您必须指定 clouds.yaml 文件中详述的云名称。您可以使用以下方法之一指定云的名称:

  • 在每个命令中使用 --os-cloud 选项,例如:

    $ openstack flavor list --os-cloud <cloud_name>
    Copy to Clipboard Toggle word wrap

    如果您访问多个云,则使用此选项。

  • bashrc 文件中为云名称创建一个环境变量:

    `export OS_CLOUD=<cloud_name>`
    Copy to Clipboard Toggle word wrap

限制/限制

  • 您只能在创建新实例时分配保证的最小带宽 QoS 策略。您无法为已在运行的实例分配保证的最小带宽 QoS 策略,因为计算服务仅在创建或移动操作期间更新实例的资源使用情况,这意味着无法保证实例可用的最小带宽。

先决条件

  • 提供了具有最小带宽规则的 QoS 策略。如需更多信息, 请参阅配置网络服务 指南中的使用服务质量(QoS)策略来管理数据流量
  • 管理员已为您创建一个项目,并为您提供了一个 clouds.yaml 文件来访问云。
  • 已安装 python-openstackclient 软件包。

流程

  1. 列出可用的 QoS 策略:

    $ openstack network qos policy list
    Copy to Clipboard Toggle word wrap
    ----------------------------------------------------------------+
    | ID                                   | Name    | Shared | Default | Project                          |
    ----------------------------------------------------------------+
    | 6d771447-3cf4-4ef1-b613-945e990fa59f | policy2 | True   | False   | ba4de51bf7694228a350dd22b7a3dc24 |
    | 78a24462-e3c1-4e66-a042-71131a7daed5 | policy1 | True   | False   | ba4de51bf7694228a350dd22b7a3dc24 |
    | b80acc64-4fc2-41f2-a346-520d7cfe0e2b | policy0 | True   | False   | ba4de51bf7694228a350dd22b7a3dc24 |
    ----------------------------------------------------------------+
    Copy to Clipboard Toggle word wrap
  2. 检查每个可用策略的规则,以确定哪些具有所需的最小带宽:

    $ openstack network qos policy show policy0
    Copy to Clipboard Toggle word wrap
    ----------------------------------------------------------------------------------------------------+
    | Field       | Value                                                                                 |
    ----------------------------------------------------------------------------------------------------+
    | description |                                                                                                                                                                                                                                                                                                                                                                     |
    | id          | b80acc64-4fc2-41f2-a346-520d7cfe0e2b                                                                                                                                                                                                                                                                                                                                |
    | is_default  | False                                                                                                                                                                                                                                                                                                                                                               |
    | location    | cloud=', project.domain_id=, project.domain_name='Default, project.id=ba4de51bf7694228a350dd22b7a3dc24, project.name=admin, region_name=regionOne, zone=                                                                                                                                                                                                    |
    | name        | policy0                                                                                                                                                                                                                                                                                                                                                             |
    | project_id  | ba4de51bf7694228a350dd22b7a3dc24                                                                                                                                                                                                                                                                                                                                    |
    | rules       | [{min_kbps: 100000, direction: egress, id: d46218fe-9218-4e96-952b-9f45a5cb3b3c, qos_policy_id: b80acc64-4fc2-41f2-a346-520d7cfe0e2b, type: minimum_bandwidth}, {min_kbps: 100000, direction: ingress, id: 1202c4e3-a03a-464c-80d5-0bf90bb74c9d, qos_policy_id: b80acc64-4fc2-41f2-a346-520d7cfe0e2b, type: minimum_bandwidth}] |
    | shared      | True                                                                                                                                                                                                                                                                                                                                                                |
    | tags        | []                                                                                                                                                                                                                                                                                                                                                                  |
    ----------------------------------------------------------------------------------------------------+
    Copy to Clipboard Toggle word wrap
  3. 从适当的策略创建端口:

    $ openstack port create port-normal-qos --network net0 --qos-policy policy0
    Copy to Clipboard Toggle word wrap
  4. 创建实例,指定要使用的 NIC 端口:

    $ openstack server create --flavor cirros256 --image cirros-0.3.5-x86_64-disk --nic port-id=port-normal-qos --wait qos_instance
    Copy to Clipboard Toggle word wrap

    输出中的"ACTIVE"状态表示您已在主机上成功创建了实例,可提供请求的保证最小带宽。

6.1. 从实例中删除保证的最小带宽 QoS

如果要从实例丢弃保证的最小带宽 QoS 策略限制,您可以分离接口。

注意

要在云上执行 openstack 客户端命令,您必须指定 clouds.yaml 文件中详述的云名称。您可以使用以下方法之一指定云的名称:

  • 在每个命令中使用 --os-cloud 选项,例如:

    $ openstack flavor list --os-cloud <cloud_name>
    Copy to Clipboard Toggle word wrap

    如果您访问多个云,则使用此选项。

  • bashrc 文件中为云名称创建一个环境变量:

    `export OS_CLOUD=<cloud_name>`
    Copy to Clipboard Toggle word wrap

先决条件

  • 管理员已为您创建一个项目,并为您提供了一个 clouds.yaml 文件来访问云。
  • 已安装 python-openstackclient 软件包。

流程

  • 要分离接口,请输入以下命令:

    $ openstack server remove port <vm_name|vm_id> <port_name|port_id>
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat