[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Multiple backend for Openstack

On Wed, 2020-10-14 at 18:38 +0530, Deepa KR wrote:
> Hi All
> Good Day
> From documentation we are able to understand that we can configure
> multiple
> backends for cinder (Ceph ,External Storage device or NFS etc)
> Is there any way we can choose the backend while instance launching
> .Say

> instance1 backend should be from an external storage device like EMC 
> and
> instance2 to launch and have backend volume from ceph
kind of you can use volume types to do this indrectly.
end users shoudl generally not be aware if its ceph or an emc san you
less you name the volumens tyeps "cpeh" and "emc" but that is a
operator choice. you can map the volume type to specific backend using
there config file.

>  .Can this be achieved
> using cinder availability zone implementation or any other way?
> I have gone through below link (*section Configure Block Storage
> scheduler
> multi back end)*
> https://docs.openstack.org/cinder/latest/admin/blockstorage-multi-backend.html

well that basically covers what you have to do

your cinder config for lvm emc and ceph might look like this


volume_group = cinder-volume-1
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

use_multipath_for_image_xfer = true
volume_driver = cinder.volume.drivers.emc.emc_smis_fc.EMCSMISFCDriver
volume_backend_name = emcfc

volume_driver = cinder.volume.drivers.rbd.RBDDriver
volume_backend_name = ceph
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1

or you might have 3 diffent config one for each

you then create 3 different volume types and assocatie each with a

openstack --os-username admin --os-tenant-name admin volume type create
openstack --os-username admin --os-tenant-name admin volume type create
openstack --os-username admin --os-tenant-name admin volume type create

openstack --os-username admin --os-tenant-name admin volume type set
lvm --property volume_backend_name=lvm
openstack --os-username admin --os-tenant-name admin volume type set
emc --property volume_backend_name=emc
openstack --os-username admin --os-tenant-name admin volume type set
ceph --property volume_backend_name=ceph

then you can create volumes with those types

openstack volume create --size 1 --type lvm my_lvm_volume
openstack volume create --size 1 --type ceph my_ceph_volume

and boot a server with them.

openstack server create --volume my_lvm_volume --volume my_ceph_volume

if you have cross az attach disabel in nova and you want all
type/backend to be accesable in all AZ you need to deploy a instance of
the cinder volume driver for each of the tyeps in each az.

i dont know if that answers your question or not but volume types are
the way to requst a specific backend at the api level.

>   Suggestions please ..
> Regards,
> Deepa K R