openstack-manuals/doc/admin-guide-cloud-rst/source/blockstorage_volume_number_weigher.rst
Atsushi SAKAI d5ab7e0a13 Rename 2 files and Fix 19 typos on Cloud Admin Guide and Config Ref
fix following one word, it affects two filename and 19 words.
weighter => weigher
This fix affects following documents.
  Cloud Administrator Guide
  Configuration Reference

http://docs.openstack.org/admin-guide-cloud/content/section_manage-volumes.html
http://docs.openstack.org/admin-guide-cloud/content/volume_number_weighter.html

http://docs.openstack.org/draft/config-reference/content/compute-nova-conf.html

This issue is already discussed on following thread in ML.
http://lists.openstack.org/pipermail/openstack-docs/2015-July/007184.html

Change-Id: Ib5e652b454b613e3851765726647d62ce01f8b0f
Closes-Bug: #1478507
2015-07-28 20:46:59 +09:00

2.7 KiB

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 LVMISCSIDriver 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:

scheduler_default_weighers=VolumeNumberWeigher
enabled_backends=lvmdriver-1,lvmdriver-2
[lvmdriver-1]
volume_group=stack-volumes
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=LVM_iSCSI

[lvmdriver-2]
volume_group=stack-volumes-1
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=LVM_iSCSI

Volume type

Define a volume type in Block Storage:

$ cinder type-create lvm

Create an extra specification that links the volume type to a back-end name:

$ cinder type-key lvm set volume_backend_name=LVM_iSCSI

This example creates a lvm volume type with volume_backend_name=LVM_iSCSI as extra specifications.

Usage

To create six 1-GB volumes, run the cinder create --volume-type lvm 1 command six times:

$ cinder create --volume-type lvm 1

This command creates three volumes in stack-volumes and three volumes in stack-volumes-1.

List the available volumes:

# 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