[Openstack] [Cinder] Cinder snapshots

Chuck Thier cthier at gmail.com
Mon Nov 12 19:25:32 UTC 2012


Top posting to give some general history and some thoughts.

Snapshots, as implemented currently in cinder, are derived from the
EBS definition of a snapshot.  This is more of a consistent block
level backup of a volume.  New volumes can be created from any given
snapshot.  This is *not* usually what a snapshot is in a traditional
storage system, though snapshots are usually used in the process.

My concern with trying to expose more general snapshot, cloning, etc
functionalities in the api is that they are very backend dependent,
and will have different capabilities and properties.  Trying to define
a generic API for these cases that works across all backends is going
to be problematic, which is why I've always been supportive of having
these implemented as extensions specific to each backend.

--
Chuck

On Sun, Nov 11, 2012 at 11:09 PM, Avishay Traeger <AVISHAY at il.ibm.com> wrote:
> John Griffith <john.griffith at solidfire.com> wrote on 11/11/2012 17:01:37:
>> Hey Avishay,
>>
>> >>I guess I'm still confused about what a snapshot is
>> >>in OpenStack.  Currently you can't really do anything with them via
>> >>OpenStack.
>> Sure you can, you can use them to create a new volume.  They make a
>> good backup mechanism IMO.
>
> Right - you can either make a new volume (=clone) or figure out somehow
> what name Cinder gave to the snapshot and make a backup on your own.
>
> [ Off topic question: How can a user determine the name of a
> volume/snapshot on the back-end for a given volume/snapshot? ]
>
>> I guess my question to you in your definition then is 'what's the
>> difference between a snapshot and a clone'?
>
> IMHO, a clone is a full, independent copy of the volume.  It would copy all
> data (either in foreground or background) and leave the user with a volume
> - as if he created a new volume and used dd to copy all the data.  A
> snapshot is something that depends on the original volume and in most
> implementations would contain only changed blocks.
>
> "Clone" definitely has other meanings - what's your definition?
>
>> Also, it Seems to me if we go with the idea of adding snapshot-
>> restore, and a true "clone" feature you get everything that you're
>> asking for here and more... so I'm not sure of the problem?  Maybe
>> you could help me understand why defining snapshot and clone in the
>> manner described doesn't seem appropriate?
>
> So as I stated above, clone would give me a full copy, which can be
> wasteful.  I should be able to read and write to snapshots within the
> context of Cinder.
>
>> FWIW, I think a R/O attach is something that would be good to have
>> as an option regardless.
>
> It's a necessity IMO.  R/W is less common, but also very important.
> It's obvious that Cinder can't support features found in some storage
> controllers, but even LVM2 supports R/W snapshots (released almost 10 years
> ago).  Don't get me wrong - LVM is awesome - but if ubiquitous,
> freely-available software supports a feature that controllers also
> generally support, I think Cinder should support it too.
>
>> Thanks,
>> John
>
> Thank you,
> Avishay
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack at lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp




More information about the Openstack mailing list