Grizzly brought the multi-backend functionality to cinder and tons of new drivers. The main purpose of this article is to demonstrate how we can take advantage of the tiering capability of Ceph.
# Multi backend options
# Define the names of the groups for multiple volume backends
enabled_backends=rbd-sata,rbd-ssd
# Define the groups as above
[rbd-sata]
volume_driver=cinder.volume.driver.RBDDriver
rbd_pool=cinder-sata
volume_backend_name=RBD_SATA
# if cephX is enable
#rbd_user=cinder
#rbd_secret_uuid=<None>
[rbd-ssd]
volume_driver=cinder.volume.driver.RBDDriver
rbd_pool=cinder-ssd
volume_backend_name=RBD_SSD
# if cephX is enable
#rbd_user=cinder
#rbd_secret_uuid=<None>
Unfortunately the rbd driver doesn’t support this variable yet (most of the drivers don’t). This feature has been submitted here: https://review.openstack.org/#/c/28208/.
Then create the pointers:
$ cinder type-key ssd set volume_backend_name=RBD_SSD $ cinder type-key sata set volume_backend_name=RBD_SATA $ cinder extra-specs-list +--------------------------------------+------+---------------------------------------+ | ID | Name | extra_specs | +--------------------------------------+------+---------------------------------------+ | b1522968-e4fa-4372-8ac4-3925b7c79ee1 | ssd | {u'volume_backend_name': u'RBD_SSD'} | | b50bf5a3-6044-4392-beeb-432302f6421c | sata | {u'volume_backend_name': u'RBD_SATA'} | +--------------------------------------+------+---------------------------------------+
Eventually create 2 volume type, one for each backend:
$ cinder type-create ssd +--------------------------------------+------+ | ID | Name | +--------------------------------------+------+ | b1522968-e4fa-4372-8ac4-3925b7c79ee1 | ssd | +--------------------------------------+------+
$ cinder type-create sata +--------------------------------------+------+ | ID | Name | +--------------------------------------+------+ | b50bf5a3-6044-4392-beeb-432302f6421c | sata | +--------------------------------------+------+
Comments