搜索

2.6. 块存储服务(cinder)服务质量规格

download PDF

您可以将性能限制应用到云用户创建的卷,方法是将服务质量(QoS)规格与每种卷类型关联。例如,使用更高性能 QoS 规格的卷可为您的用户提供更多 IOPS,或者用户可将更轻量的工作负载分配给使用较低性能 QoS 规格来节省资源的卷。

注意

您必须是一个项目管理员,才能创建、配置、关联和解除关联 QoS 规格。

在创建 QoS 规格时,您必须选择所需的消费者。消费者决定您要应用 QoS 限制的位置,并确定哪些 QoS 属性键可用于定义 QoS 限制。有关可用消费者的更多信息,请参阅 QoS 规格的 Consumers

您可以通过将所需的 QoS 属性键设置为特定于部署的值来创建卷性能限制。如需有关块存储服务(cinder)提供的 QoS 属性密钥的更多信息,请参阅 Block Storage QoS 属性键

要创建 QoS 规格并将其与卷类型关联,请完成以下任务:

  1. 创建并配置 QoS 规格。
  2. 将 QoS 规格与卷类型关联。

您可以使用控制面板或使用 CLI 创建、配置和将 QoS 规格与卷类型关联。

2.6.1. QoS 规格的消费者

在创建 QoS 规格时,您必须选择所需的消费者。消费者决定您要应用 QoS 限制的位置,并确定哪些 QoS 属性键可用于定义 QoS 限制。Block Storage 服务(cinder)支持以下 QoS 规格的用户:

  • 前端 :计算服务(nova)在卷附加到实例时应用 QoS 限制。Compute 服务支持由块存储服务提供的所有 QoS 属性键。
  • 后端 :关联的卷类型的后端驱动程序应用 QoS 限制。每个后端驱动程序支持自己的一组 QoS 属性键。有关驱动程序支持的 QoS 属性密钥的更多信息,请参阅后端驱动程序文档。

    在不支持 front-end 消费者的情况下,应使用 back-end 消费者。例如,当通过裸机置备服务(ironic)将卷附加到裸机节点时。

  • 两者 :两个消费者尽可能应用 QoS 限制。因此,这个消费者类型支持以下 QoS 属性键:

    • 当卷附加到实例时,您可以使用 Compute 服务和后端驱动程序支持的每个 QoS 属性键。
    • 当卷没有附加到实例时,您只能使用后端驱动程序支持的 QoS 属性键。

2.6.2. 块存储 QoS 属性键

块存储服务为您提供了 QoS 属性键,以便您可以限制云用户创建的卷的性能。这些限制使用以下两个行业标准测量的存储卷性能:

  • 每秒输入/输出操作(IOPS)
  • 数据传输率,以每秒字节数为单位

QoS 规格的消费者决定支持哪些 QoS 属性键。如需更多信息,请参阅 QoS 规格的 Consumers

块存储无法对 QoS 属性键执行错误检查,因为某些 QoS 属性键是由后端驱动程序外部定义的。因此,块存储会忽略任何无效的或不支持的 QoS 属性键。

重要

确保您正确拼写了 QoS 属性键。包含错误拼写属性键的卷性能限制将被忽略。

对于 IOPS 和数据传输速率测量,您可以配置以下性能限制:

修复了限制
通常,固定限制应定义卷性能测量的平均使用量。
burst 限制

通常,突发限制应该定义卷性能测量的意外活动期间。burst 限制允许增加特定时间的活动率,同时保持固定限制在平均使用量时较低。

注意

burst 限制所有使用突发长度 1 秒。

总限值

使用 total edServiceSet QoS 属性键为所需性能限制的读取和写入操作指定一个全局限制。

注意

除了使用总计限制,您可以将单独的限制应用到读写操作,或者选择仅限制读取或写入操作。

读取限制

使用 readjpeg QoS 属性键指定只适用于所需性能限制的 读取操作 的限制。

注意

当您指定总限制时,会忽略这个限制。

写入限制

使用 writejpeg QoS 属性键指定只适用于所需性能限制 的写入操作 的限制。

注意

当您指定总限制时,会忽略这个限制。

您可以使用以下 Block Storage QoS 属性键为部署创建卷性能限制:

注意

所有 QoS 属性键 的默认值为 0,这意味着限制是不受限制。

表 2.1. 块存储 QoS 属性键
性能限制measurement 单元QoS 属性键

修复了 IOPS

IOPS

total_iops_sec

read_iops_sec

write_iops_sec

修复了根据卷大小计算的 IOPS。

有关这些限制的使用限制的更多信息,请参阅 根据卷大小扩展的 QoS 限制

IOPS 每 GB

total_iops_sec_per_gb

read_iops_sec_per_gb

write_iops_sec_per_gb

burst IOPS

IOPS

total_iops_sec_max

read_iops_sec_max

write_iops_sec_max

修复了数据传输速率

每秒字节数

total_bytes_sec

read_bytes_sec

write_bytes_sec

Burst 数据传输率

每秒字节数

total_bytes_sec_max

read_bytes_sec_max

write_bytes_sec_max

计算 IOPS 限制时 IO 请求的大小。

如需更多信息,请参阅为 IOPS 限制设置 IO 请求大小

Bytes

size_iops_sec

2.6.2.1. 为 IOPS 限制设置 IO 请求大小

如果您实现 IOPS 卷性能限制,您还应指定典型的 IO 请求大小,以防止用户绕过这些限制。如果没有,用户可以提交多个大 IO 请求,而不是大量较小的请求。

使用 size_iops_sec QoS 属性键指定典型 IO 请求的最大大小(以字节为单位)。块存储服务使用此大小来计算提交的每个 IO 请求的比例 IO 请求,例如:

size_iops_sec=4096

  • 8 KB 请求被计算为两个请求。
  • 6 KB 请求计算为一和半个请求。
  • 任何小于 4 KB 的请求都会被计算为一个请求。

块存储服务仅在计算 IOPS 限制时使用此 IO 请求大小限制。

注意

size_iops_sec 的默认值为 0, 它会在应用 IOPS 限制时忽略 IO 请求的大小。

2.6.2.2. IOPS 限制根据卷大小扩展

您可以创建 IOPS 卷性能限制,由用户创建的卷容量决定。这些服务质量(QoS)限制使用置备的卷的大小进行扩展。例如,如果卷类型的 IOPS 限制为 500 每个 GB 的卷大小,则此卷类型置备的 3 GB 卷会将读取 IOPS 限制为 1500。

重要

卷的大小在卷附加到实例时确定。因此,如果在将卷的大小附加到实例时更改了卷的大小,则只有在这个卷分离时,才会为新卷大小重新计算这些限制,然后重新附加到实例。

您可以使用以下 QoS 属性键(按 IOPS per GB 指定)来创建可扩展的卷性能限制:

  • total_iops_sec_per_gb :为读取和写入操作指定每个 GB 的全局 IOPS 限值。

    注意

    除了使用总计限制,您可以将单独的限制应用到读写操作,或者选择仅限制读取或写入操作。

  • read_iops_sec_per_gb :指定每个 GB 卷大小的 IOPS 限制,它只适用于读操作。

    注意

    当您指定总限制时,会忽略这个限制。

  • write_iops_sec_per_gb :指定每个 GB 卷大小的 IOPS 限制,它只适用于写入操作。

    注意

    当您指定总限制时,会忽略这个限制。

重要

包含这些 QoS 限制的 QoS 规格的消费者可以是 前端,也可以是 两个,但不能 后端。如需更多信息,请参阅 QoS 规格的 Consumers

2.6.3. 使用仪表板创建和配置 QoS 规格

Quality of Service (QoS)规格是卷性能 QoS 限制列表。您可以通过将 QoS 属性键设置为部署特定值来创建每个 QoS 限制。要将 QoS 性能限制应用到卷,您必须将 QoS 规格与所需的卷类型关联。

先决条件

  • 您必须是一个项目管理员,才能创建、配置、关联和解除关联 QoS 规格。
  • 访问 Red Hat OpenStack Platform (RHOSP) Dashboard (horizon)。如需更多信息,请参阅使用 OpenStack 控制面板管理云资源

流程

  1. 以 admin 用户身份登录控制面板。
  2. 选择 Admin > Volumes > Volume Types
  3. QoS Specs 表中,点 Create QoS Spec
  4. 输入 QoS Spec 的名称。
  5. Consumer 字段中,选择此 QoS 规格的消费者。如需更多信息,请参阅 QoS 规格的 Consumers
  6. Create。新的 QoS 规格显示在 QoS Specs 表中。
  7. QoS Specs 表中,选择新 QoS 规格的 Manage Specs 操作,以打开 Specs 窗口,在其中添加 QoS 性能限制。
  8. Specs 窗口中的 Create 打开 Create Extra Specs 窗口。
  9. Key 字段中指定 QoS 性能限制的 QoS 属性键,并在 Value 字段中设置性能限制值。如需有关可用属性键的更多信息,请参阅 块存储 QoS 属性键

    重要

    确保您正确拼写了 QoS 属性键。包含错误拼写属性键的卷性能限制将被忽略。

  10. Create,将 QoS 限制添加到您的 QoS 规格。
  11. 对您要添加到 QoS 规格的每个 QoS 限制重复步骤 7 到 10。

2.6.4. 使用 CLI 创建和配置 QoS 规格

Quality of Service (QoS)规格是卷性能 QoS 限制列表。您可以通过将 QoS 属性键设置为部署特定值来创建每个 QoS 限制。要将 QoS 性能限制应用到卷,您必须将 QoS 规格与所需的卷类型关联。

先决条件

  • 您必须是一个项目管理员,才能创建、配置、关联和解除关联 QoS 规格。

流程

  1. 提供 overcloud 凭证文件:

    $ source ~/<credentials_file>
    • <credentials_file > 替换为您的凭据文件的名称,如 overcloudrc
  2. 创建 QoS 规格:

    $ openstack volume qos create [--consumer <qos_spec_consumer>] <qos_spec_name>
    • 可选:将 <qos_spec_consumer > 替换为此 QoS 规格所需的消费者。如果未指定,则消费者默认为 这两者。如需更多信息,请参阅 QoS 规格的 Consumers
    • <qos_spec_name > 替换为 QoS 规格的名称。
  3. 通过为每个要添加的 QoS 限制指定单独的 --property <key=value&gt; 参数,为 QoS 规格添加性能限制:

    $ openstack volume qos set --property <key>=<value> <qos_spec_name>
    • <key > 替换为所需性能约束的 QoS 属性键。如需更多信息,请参阅块存储 QoS 属性键

      重要

      确保您正确拼写了 QoS 属性键。包含错误拼写属性键的卷性能限制将被忽略。

    • 在 QoS 属性键所需的测量单元中,将 < value > 替换为此性能约束的部署特定限制。
    • <qos_spec_name > 替换为 QoS 规格的名称或 ID。

      Example:

      $ openstack volume qos set \
       --property read_iops_sec=5000 \
       --property write_iops_sec=7000 \
       myqoslimits
  4. 查看 QoS 规格:

    $ openstack volume qos list
    +--------------------------------------+---------+-----------+--------------+-----------------------------------------------------+
    | ID                                   | Name    | Consumer  | Associations | Properties                                          |
    +--------------------------------------+---------+-----------+--------------+-----------------------------------------------------+
    | 204c6ba2-c67c-4ac8-918a-03f101811235 | myqoslimits | front-end |              | read_iops_sec='5000', write_iops_sec='7000' |
    +--------------------------------------+---------+-----------+--------------+-----------------------------------------------------+

    此命令提供了所有配置的 QoS 规格的配置详情表。

2.6.5. 使用控制面板将 QoS 规格与卷类型关联

您必须将服务质量(QoS)规格与现有卷类型关联,才能将 QoS 限制应用到卷。

重要

如果卷已附加到实例,则 QoS 限制仅在卷分离时应用于此卷,然后重新附加到这个实例。

先决条件

流程

  1. 以 admin 用户身份登录控制面板。
  2. 选择 Admin > Volumes > Volume Types
  3. Volume Types 表中,选择所需卷类型的 Manage QoS Spec Association 操作。
  4. 要关联的 QoS Spec 列表中选择所需的 QoS 规格。
  5. 单击 关联。QoS 规格添加到编辑 卷类型的关联 QoS Spec 列中。

2.6.6. 使用 CLI 将 QoS 规格与卷类型关联

您必须将服务质量(QoS)规格与现有卷类型关联,才能将 QoS 限制应用到卷。

重要

如果卷已附加到实例,则 QoS 限制仅在卷分离时应用于此卷,然后重新附加到这个实例。

先决条件

流程

  1. 提供 overcloud 凭证文件:

    $ source ~/<credentials_file>
    • <credentials_file > 替换为您的凭据文件的名称,如 overcloudrc
  2. 将所需的 QoS 规格与所需的卷类型关联:

    $ openstack volume qos associate <qos_spec_name> <volume_type>
    • <qos_spec_name > 替换为 QoS 规格的名称或 ID。您可以运行 openstack volume qos list 命令来列出所有 QoS 规范的名称和 ID。
    • <volume_type > 替换为卷类型的名称或 ID。您可以运行 cinder type-list 命令来列出所有卷类型的名称和 ID。
  3. 验证 QoS 规格是否已关联:

    $ openstack volume qos list

    输出表的 Associations 列显示哪些卷类型与这个 QoS 规格相关联。

2.6.7. 使用控制面板从卷类型取消关联 QoS 规格

当您不再需要将 QoS 限制应用到该卷类型的卷时,您可以将服务质量(QoS)规格与卷类型解除关联。

重要

如果卷已附加到实例,则 QoS 限制仅在卷分离时从这个卷中删除,然后重新附加到这个实例。

先决条件

  • 您必须是一个项目管理员,才能创建、配置、关联和解除关联 QoS 规格。
  • 访问 Red Hat OpenStack Platform (RHOSP) Dashboard (horizon)。如需更多信息,请参阅使用 OpenStack 控制面板管理云资源

流程

  1. 以 admin 用户身份登录控制面板。
  2. 选择 Admin > Volumes > Volume Types
  3. Volume Types 表中,选择所需卷类型的 Manage QoS Spec Association 操作。
  4. QoS Spec to be associated 列表中选择 None
  5. 单击 关联

    QoS 规范应从编辑 的卷类型的关联 QoS Spec 列中删除。

2.6.8. 使用 CLI 将 QoS 规格与卷类型关联

当您不再需要将 QoS 限制应用到该卷类型的卷时,您可以将服务质量(QoS)规格与卷类型解除关联。

重要

如果卷已附加到实例,则 QoS 限制仅在卷分离时从这个卷中删除,然后重新附加到这个实例。

先决条件

  • 您必须是一个项目管理员,才能创建、配置、关联和解除关联 QoS 规格。

流程

  1. 提供 overcloud 凭证文件:

    $ source ~/<credentials_file>
    • <credentials_file > 替换为您的凭据文件的名称,如 overcloudrc
  2. 解除与 QoS 规格关联的卷类型。当多个卷类型与相同的 QoS 规格关联时,您可以解除关联特定卷类型,或者所有卷类型:

    • 解除与 QoS 规格关联的特定卷类型:

      $ openstack volume qos disassociate <qos_spec_name> --volume-type <volume_type>
      • <qos_spec_name > 替换为 QoS 规格的名称或 ID。您可以运行 openstack volume qos list 命令来列出所有 QoS 规范的名称和 ID。
      • <volume_type > 替换为与此 QoS 规格关联的卷类型名称或 ID。您可以运行 cinder type-list 命令来列出所有卷类型的名称和 ID。
    • 解除与 QoS 规格关联的所有卷类型:

      $ openstack volume qos disassociate <qos_spec_name> --all
  3. 验证 QoS 规格是否已解除关联:

    $ openstack volume qos list

    此 QoS 规范的 Associations 列不应指定卷类型或为空。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.