52370e58fe
These are in the cinder doc tree so of course they're block storage-related. Change-Id: Ic1950ff89021a89de397619eef17f8100eb3d847 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
89 lines
2.8 KiB
ReStructuredText
89 lines
2.8 KiB
ReStructuredText
.. _volume_number_weigher:
|
|
|
|
=======================================
|
|
Configure and use volume number weigher
|
|
=======================================
|
|
|
|
OpenStack Block Storage enables you to choose a volume back end according
|
|
to ``free_capacity`` and ``allocated_capacity``. The volume number weigher
|
|
feature lets the scheduler choose a volume back end based on its volume
|
|
number in the volume back end. This can provide another means to improve
|
|
the volume back ends' I/O balance and the volumes' I/O performance.
|
|
|
|
Enable volume number weigher
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
To enable a volume number weigher, set the
|
|
``scheduler_default_weighers`` to ``VolumeNumberWeigher`` flag in the
|
|
``cinder.conf`` file to define ``VolumeNumberWeigher``
|
|
as the selected weigher.
|
|
|
|
Configure multiple-storage back ends
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
To configure ``VolumeNumberWeigher``, use ``LVMVolumeDriver``
|
|
as the volume driver.
|
|
|
|
This configuration defines two LVM volume groups: ``stack-volumes`` with
|
|
10 GB capacity and ``stack-volumes-1`` with 60 GB capacity.
|
|
This example configuration defines two back ends:
|
|
|
|
.. code-block:: ini
|
|
|
|
scheduler_default_weighers=VolumeNumberWeigher
|
|
enabled_backends=lvmdriver-1,lvmdriver-2
|
|
[lvmdriver-1]
|
|
volume_group=stack-volumes
|
|
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver
|
|
volume_backend_name=LVM
|
|
|
|
[lvmdriver-2]
|
|
volume_group=stack-volumes-1
|
|
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver
|
|
volume_backend_name=LVM
|
|
|
|
Volume type
|
|
~~~~~~~~~~~
|
|
|
|
Define a volume type in Block Storage:
|
|
|
|
.. code-block:: console
|
|
|
|
$ openstack volume type create lvm
|
|
|
|
Create an extra specification that links the volume type to a back-end name:
|
|
|
|
.. code-block:: console
|
|
|
|
$ openstack volume type set lvm --property volume_backend_name=LVM
|
|
|
|
This example creates a lvm volume type with
|
|
``volume_backend_name=LVM`` as extra specifications.
|
|
|
|
Usage
|
|
~~~~~
|
|
|
|
To create six 1-GB volumes, run the
|
|
:command:`openstack volume create --size 1 --type lvm volume1` command
|
|
six times:
|
|
|
|
.. code-block:: console
|
|
|
|
$ openstack volume create --size 1 --type lvm volume1
|
|
|
|
This command creates three volumes in ``stack-volumes`` and
|
|
three volumes in ``stack-volumes-1``.
|
|
|
|
List the available volumes:
|
|
|
|
.. code-block:: console
|
|
|
|
# lvs
|
|
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
|
|
volume-3814f055-5294-4796-b5e6-1b7816806e5d stack-volumes -wi-a---- 1.00g
|
|
volume-72cf5e79-99d2-4d23-b84e-1c35d3a293be stack-volumes -wi-a---- 1.00g
|
|
volume-96832554-0273-4e9d-902b-ad421dfb39d1 stack-volumes -wi-a---- 1.00g
|
|
volume-169386ef-3d3e-4a90-8439-58ceb46889d9 stack-volumes-1 -wi-a---- 1.00g
|
|
volume-460b0bbb-d8a0-4bc3-9882-a129a5fe8652 stack-volumes-1 -wi-a---- 1.00g
|
|
volume-9a08413b-0dbc-47c9-afb8-41032ab05a41 stack-volumes-1 -wi-a---- 1.00g
|