Browse Source

Merge "Add documentation page for basic volume quality of service"

tags/13.0.0.0b3
Zuul 11 months ago
parent
commit
22a5a23e7c
2 changed files with 81 additions and 0 deletions
  1. 80
    0
      doc/source/admin/blockstorage-basic-volume-qos.rst
  2. 1
    0
      doc/source/admin/index.rst

+ 80
- 0
doc/source/admin/blockstorage-basic-volume-qos.rst View File

@@ -0,0 +1,80 @@
1
+===============================
2
+Basic volume quality of service
3
+===============================
4
+
5
+Basic volume QoS allows you to define hard performance limits for volumes
6
+on a per-volume basis.
7
+
8
+Performance parameters for attached volumes are controlled using volume types
9
+and associated extra-specs.
10
+
11
+As of the 13.0.0 Rocky release, Cinder supports the following options to
12
+control volume quality of service, the values of which should be fairly
13
+self-explanatory:
14
+
15
+* `read_iops_sec`
16
+* `write_iops_sec`
17
+* `total_iops_sec`
18
+* `read_bytes_sec`
19
+* `write_bytes_sec`
20
+* `total_bytes_sec`
21
+* `read_iops_sec_max`
22
+* `write_iops_sec_max`
23
+* `total_iops_sec_max`
24
+* `read_bytes_sec_max`
25
+* `write_bytes_sec_max`
26
+* `total_bytes_sec_max`
27
+* `size_iops_sec`
28
+
29
+Note that the `total_*` and `total_*_max` options for both iops and bytes
30
+cannot be used with the equivalent `read` and `write` values.
31
+
32
+For example, in order to create a QoS extra-spec with 20000 read IOPs and
33
+10000 write IOPs, you might use the Cinder client in the following way:
34
+
35
+.. code-block:: console
36
+
37
+   $ cinder qos-create high-iops consumer="front-end" \
38
+     read_iops_sec=20000 write_iops_sec=10000
39
+   +----------+--------------------------------------+
40
+   | Property | Value                                |
41
+   +----------+--------------------------------------+
42
+   | consumer | front-end                            |
43
+   | id       | f448f61c-4238-4eef-a93a-2024253b8f75 |
44
+   | name     | high-iops                            |
45
+   | specs    | read_iops_sec : 20000                |
46
+   |          | write_iops_sec : 10000               |
47
+   +----------+--------------------------------------+
48
+
49
+The equivalent OpenStack client command would be:
50
+
51
+
52
+.. code-block:: console
53
+
54
+   $ openstack volume qos create --consumer "front-end" \
55
+     --property "read_iops_sec=20000" \
56
+     --property "write_iops_sec=10000" \
57
+     high-iops
58
+
59
+Once this is done, you can associate this QoS with a volume type by using
60
+the `qos-associate` Cinder client command.
61
+
62
+.. code-block:: console
63
+
64
+   $ cinder qos-associate QOS_ID VOLUME_TYPE_ID
65
+
66
+or using the `openstack volume qos associate` OpenStack client command.
67
+
68
+.. code-block:: console
69
+
70
+   $ openstack volume qos associate QOS_ID VOLUME_TYPE_ID
71
+
72
+You can now create a new volume and attempt to attach it to a consumer such
73
+as Nova.  If you login to the Nova compute host, you'll be able to see the
74
+assigned limits when checking the XML definition of the virtual machine
75
+with `virsh dumpxml`.
76
+
77
+.. note::
78
+
79
+   As of the Nova 18.0.0 Rocky release, front end QoS settings are only
80
+   supported when using the libvirt driver.

+ 1
- 0
doc/source/admin/index.rst View File

@@ -31,6 +31,7 @@ Amazon EC2 Elastic Block Storage (EBS) offering.
31 31
    generalized_filters.rst
32 32
    blockstorage-backup-disks.rst
33 33
    blockstorage-boot-from-volume.rst
34
+   blockstorage-basic-volume-qos.rst
34 35
    blockstorage-capacity-based-qos.rst
35 36
    blockstorage-consistency-groups.rst
36 37
    blockstorage-driver-filter-weighing.rst

Loading…
Cancel
Save