基本卷质量服务¶
基本卷 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 选项不能与等效的 read 和 write 值一起使用。
例如,为了创建一个具有 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 驱动程序时受支持。