summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-06-14 03:15:01 +0000
committerGerrit Code Review <review@openstack.org>2018-06-14 03:15:01 +0000
commit22a5a23e7c1bc94ae4f2cd98db120c399cd2207a (patch)
treeacae6d671b388cf395f361eb187f3d93c444e041
parentb229a9adedc58c6a745e51f088aca2e18e1193cc (diff)
parenta8c30bba3ce011140ed625531cec5106ba4024c0 (diff)
Merge "Add documentation page for basic volume quality of service"
-rw-r--r--doc/source/admin/blockstorage-basic-volume-qos.rst80
-rw-r--r--doc/source/admin/index.rst1
2 files changed, 81 insertions, 0 deletions
diff --git a/doc/source/admin/blockstorage-basic-volume-qos.rst b/doc/source/admin/blockstorage-basic-volume-qos.rst
new file mode 100644
index 0000000..d1af7e3
--- /dev/null
+++ b/doc/source/admin/blockstorage-basic-volume-qos.rst
@@ -0,0 +1,80 @@
1===============================
2Basic volume quality of service
3===============================
4
5Basic volume QoS allows you to define hard performance limits for volumes
6on a per-volume basis.
7
8Performance parameters for attached volumes are controlled using volume types
9and associated extra-specs.
10
11As of the 13.0.0 Rocky release, Cinder supports the following options to
12control volume quality of service, the values of which should be fairly
13self-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
29Note that the `total_*` and `total_*_max` options for both iops and bytes
30cannot be used with the equivalent `read` and `write` values.
31
32For example, in order to create a QoS extra-spec with 20000 read IOPs and
3310000 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
49The 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
59Once this is done, you can associate this QoS with a volume type by using
60the `qos-associate` Cinder client command.
61
62.. code-block:: console
63
64 $ cinder qos-associate QOS_ID VOLUME_TYPE_ID
65
66or 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
72You can now create a new volume and attempt to attach it to a consumer such
73as Nova. If you login to the Nova compute host, you'll be able to see the
74assigned limits when checking the XML definition of the virtual machine
75with `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.
diff --git a/doc/source/admin/index.rst b/doc/source/admin/index.rst
index 4b60a3f..456097c 100644
--- a/doc/source/admin/index.rst
+++ b/doc/source/admin/index.rst
@@ -31,6 +31,7 @@ Amazon EC2 Elastic Block Storage (EBS) offering.
31 generalized_filters.rst 31 generalized_filters.rst
32 blockstorage-backup-disks.rst 32 blockstorage-backup-disks.rst
33 blockstorage-boot-from-volume.rst 33 blockstorage-boot-from-volume.rst
34 blockstorage-basic-volume-qos.rst
34 blockstorage-capacity-based-qos.rst 35 blockstorage-capacity-based-qos.rst
35 blockstorage-consistency-groups.rst 36 blockstorage-consistency-groups.rst
36 blockstorage-driver-filter-weighing.rst 37 blockstorage-driver-filter-weighing.rst