[cinder] OpenStack lvm and Shared Storage

Gorka Eguileor geguileo at redhat.com
Mon Jun 28 16:30:11 UTC 2021


On 26/06, pradyumna borge wrote:
> Hi,
>
> In a mulit-node setup do we need to provide shared storage via Cinder
> when setting up the second compute node?
>
> In a typical mulit-node setup we will have:
> 1. First node as Controller node acting as a Compute node too. This
>    will have Cinder *lvm*.
> 2. Second node as Compute node.
>    1. Will this node have any storage via lvm? If yes then how will
>       the first compute node access storage on the second node?
>    2. Likewise, how can the VMs on this second node access storage on
>       the first compute node?
>
> My other questions are:
> 1. So if I spawn a VM on the second Compute node, where will the disks
>    of the VM reside?
> 2. Can I attach attach a disk on the first node to a VM on the second
>    node?
> 3. Do I have to configure NFS storge as shared storage for Cinder?
> 4. Does Cinder take care of sharing the disks (I dont think so)
> 5. What are the steps to setup devstack for multi-node and multi
>    storage (nfs and lvm)
>
> ~ shree
>

Hi,

I believe there may be some misunderstandings on how OpenStack operates.

Some clarifications:

Nova:

- Can run VMs without Cinder volumes, using only ephemeral volumes that
  are stored in compute's local disk.
- Can run with ephemeral local boot volumes and attach Cinder external
  volumes.
- Can run with Cinder boot volumes.

Cinder:

Cinder-volume usually connects to an external storage solution that is
not running on the controller node itself, except when LVM is used.  In
that case the volume is local no the node where cinder-volume is running
and the host exports the volume via iSCSI so any compute node can
connect or the cinder-backup service running on any controller node can
connect.

But since the volume data is only stored in that specific node, it means
that when the node is offline no cinder volume can be used, so it's
usually only used for POCs.

There are multiple ways to deploying devstack with multiple backends,
but one way to do it is using the CINDER_ENABLED_BACKENDS variable in
your local.conf file.

I never use NFS, but for example, to have 2 LVM backends:

  CINDER_ENABLED_BACKENDS=lvm:lvmdriver-1,lvm:lvmdriver-2

To enable the Ceph plugin and have lvm and ceph with:

  enable_plugin devstack-plugin-ceph git://git.openstack.org/openstack/devstack-plugin-ceph

  CINDER_ENABLED_BACKENDS=lvm,ceph

Cheers,
Gorka.




More information about the openstack-discuss mailing list