基本卷质量服务

基本卷 QoS 允许您为每个卷定义硬性性能限制。

通过卷类型和关联的 extra-specs 控制附加卷的性能参数。

自 13.0.0 Rocky 版本发布以来,Cinder 支持以下选项来控制卷质量服务,这些选项的值应该不难理解。

对于固定 IOPS 每卷。

  • read_iops_sec

  • write_iops_sec

  • total_iops_sec

对于突发 IOPS 每卷。

  • read_iops_sec_max

  • write_iops_sec_max

  • total_iops_sec_max

对于固定带宽每卷。

  • read_bytes_sec

  • write_bytes_sec

  • total_bytes_sec

对于突发带宽每卷。

  • read_bytes_sec_max

  • write_bytes_sec_max

  • total_bytes_sec_max

对于突发桶大小。

  • size_iops_sec

请注意,对于 iops 和 bytes,total_*total_*_max 选项不能与等效的 readwrite 值一起使用。

例如,为了创建一个具有 20000 读取 IOPS 和 10000 写入 IOPS 的 QoS extra-spec,您可以使用以下方式使用 Cinder 客户端

$ cinder qos-create high-iops consumer="front-end" \
  read_iops_sec=20000 write_iops_sec=10000
+----------+--------------------------------------+
| Property | Value                                |
+----------+--------------------------------------+
| consumer | front-end                            |
| id       | f448f61c-4238-4eef-a93a-2024253b8f75 |
| name     | high-iops                            |
| specs    | read_iops_sec : 20000                |
|          | write_iops_sec : 10000               |
+----------+--------------------------------------+

等效的 OpenStack 客户端命令是

$ openstack volume qos create --consumer "front-end" \
  --property "read_iops_sec=20000" \
  --property "write_iops_sec=10000" \
  high-iops

完成此操作后,您可以使用 qos-associate Cinder 客户端命令将此 QoS 与卷类型关联。

$ cinder qos-associate QOS_ID VOLUME_TYPE_ID

或者使用 openstack volume qos associate OpenStack 客户端命令。

$ openstack volume qos associate QOS_ID VOLUME_TYPE_ID

现在您可以创建一个新卷并尝试将其附加到诸如 Nova 之类的消费者。如果您登录到 Nova 计算主机,您将能够在检查虚拟机的 XML 定义时使用 virsh dumpxml 查看分配的限制。

注意

自 Nova 18.0.0 Rocky 版本发布以来,前端 QoS 设置仅在使用 libvirt 驱动程序时受支持。