Skip to main content

Cinder

Remove service

$ openstack --os-cloud admin volume service list
+------------------+-----------------------------------+----------+---------+-------+----------------------------+
| Binary | Host | Zone | Status | State | Updated At |
+------------------+-----------------------------------+----------+---------+-------+----------------------------+
| cinder-scheduler | testbed-node-0 | internal | enabled | up | 2023-10-01T08:53:14.000000 |
| cinder-scheduler | testbed-node-1 | internal | enabled | up | 2023-10-01T08:53:15.000000 |
| cinder-scheduler | testbed-node-2 | internal | enabled | up | 2023-10-01T08:53:15.000000 |
| cinder-volume | testbed-node-0@rbd-1 | nova | enabled | down | 2023-09-30T18:50:05.000000 |
| cinder-volume | testbed-node-2@rbd-1 | nova | enabled | down | 2023-09-30T18:50:05.000000 |
| cinder-volume | testbed-node-1@rbd-1 | nova | enabled | down | 2023-09-30T18:50:08.000000 |
+------------------+-----------------------------------+----------+---------+-------+----------------------------+
$ docker exec -it cinder_api cinder-manage service remove cinder-volume testbed-node-0@rbd-1
Service cinder-volume on host testbed-node-0@rbd-1 removed.
$ docker exec -it cinder_api cinder-manage service remove cinder-volume testbed-node-1@rbd-1
Service cinder-volume on host testbed-node-1@rbd-1 removed.
$ docker exec -it cinder_api cinder-manage service remove cinder-volume testbed-node-2@rbd-1
Service cinder-volume on host testbed-node-2@rbd-1 removed.
$ openstack --os-cloud admin volume service list
+------------------+-----------------------------------+----------+---------+-------+----------------------------+
| Binary | Host | Zone | Status | State | Updated At |
+------------------+-----------------------------------+----------+---------+-------+----------------------------+
| cinder-scheduler | testbed-node-0 | internal | enabled | up | 2023-10-01T08:56:24.000000 |
| cinder-scheduler | testbed-node-1 | internal | enabled | up | 2023-10-01T08:56:25.000000 |
| cinder-scheduler | testbed-node-2 | internal | enabled | up | 2023-10-01T08:56:25.000000 |
+------------------+-----------------------------------+----------+---------+-------+----------------------------+

Sync quota

It can happen that more block storage usage is stored in the database for a project than is actually used. This can be corrected using cinder-manage.

For all projects:

$ docker exec -it cinder_api cinder-manage quota sync

Only for a specific project:

$ docker exec -it cinder_api cinder-manage quota sync --project-id PROJECT_ID

Quality of Service (QoS)

Create default volume QoS policy that allows 1000 read IOPS and 1000 write IOPS.

$ openstack --os-cloud admin volume qos create \
--consumer both \
--property read_iops_sec=1000 \
--property write_iops_sec=1000 \
default
+------------+---------------------------------------------+
| Field | Value |
+------------+---------------------------------------------+
| consumer | both |
| id | 48920d26-e85f-4920-8ed4-ff8d322c77b9 |
| name | testing |
| properties | read_iops_sec='1000', write_iops_sec='1000' |
+------------+---------------------------------------------+
$ openstack --os-cloud admin volume qos list
+--------------------------------------+---------+----------+--------------+---------------------------------------------+
| ID | Name | Consumer | Associations | Properties |
+--------------------------------------+---------+----------+--------------+---------------------------------------------+
| 48920d26-e85f-4920-8ed4-ff8d322c77b9 | default | both | | read_iops_sec='1000', write_iops_sec='1000' |
+--------------------------------------+---------+----------+--------------+---------------------------------------------+

Assign the default volume QoS policy to the __DEFAULT volume type.

$ openstack --os-cloud admin volume qos associate default __DEFAULT__
$ openstack --os-cloud admin volume qos list
+--------------------------------------+---------+----------+--------------+---------------------------------------------+
| ID | Name | Consumer | Associations | Properties |
+--------------------------------------+---------+----------+--------------+---------------------------------------------+
| 48920d26-e85f-4920-8ed4-ff8d322c77b9 | default | both | __DEFAULT__ | read_iops_sec='1000', write_iops_sec='1000' |
+--------------------------------------+---------+----------+--------------+---------------------------------------------+

Change the read IOPS from 1000 to 2000 and the write IOPS from 1000 to 2000 of the default volume QoS policy.

$ openstack --os-cloud admin volume qos set \
--property read_iops_sec=2000 \
--property write_iops_sec=2000 \
default
$ openstack --os-cloud admin volume qos list
+--------------------------------------+---------+----------+--------------+---------------------------------------------+
| ID | Name | Consumer | Associations | Properties |
+--------------------------------------+---------+----------+--------------+---------------------------------------------+
| 48920d26-e85f-4920-8ed4-ff8d322c77b9 | default | both | __DEFAULT__ | read_iops_sec='2000', write_iops_sec='2000' |
+--------------------------------------+---------+----------+--------------+---------------------------------------------+

The following properties are available.

For Fixed IOPS per volume:

  • read_iops_sec
  • write_iops_sec
  • total_iops_sec

For Burst IOPS per volume:

  • read_iops_sec_max
  • write_iops_sec_max
  • total_iops_sec_max

For Fixed bandwidth per volume:

  • read_bytes_sec
  • write_bytes_sec
  • total_bytes_sec

For Burst bandwidth per volume:

  • read_bytes_sec_max
  • write_bytes_sec_max
  • total_bytes_sec_max

For burst bucket size:

  • size_iops_sec