[openstack-dev] [Discussion] Different types of snapshots

Kashyap Chamarthy kchamart at redhat.com
Thu Jun 13 04:19:54 UTC 2013


On 06/12/2013 09:02 PM, Duncan Thomas wrote:
> On 12 June 2013 13:27, Kashyap Chamarthy <kchamart at redhat.com> wrote:
> 
>>> A point of contention for a number of folks is that currently the base
>>> implementation is such that the snapshot is dependent on the source volume,
>>> but not all back-ends require this.
>>
>> To be fair, each snapshot-type has its use-case.
>>
>> Isn't the whole point of snapshot is a point in time to quickly revert to a known sane
>> state, so depending on source is okay, I believe.
>>
>> Maybe what you mean is a "clone".
> 
> You're walking into the middle / end of a long discussion here, 

Maybe, I'm just trying to understand. It was my poor wording.

> but a
> clone is different to a snapshot in that a snapshot is immutable. This
> is a very useful property for certain usecases (e.g. golden images)

Sure, I myself do a lot of clones/snapshots while testing and understand the difference.
And understand the use-case of golden image.


Just to note, in QEMU, you can merge snapshot chains (i.e. r/w or mutable).


e.g.

    .------------.    .------------.    .------------.    .------------.
    |            |    |            |    |            |    |            |
    | RootBase   |<---|  Snap-1    |<---|  Snap-2    |<---|  Active    |
    |            |    |            |    |            |    |            |
    '------------'    '------------'    '------------'    '------------'
                       /                 |
                      /                  |
                     / commit data       |
                    /                    |
                   /                     |
                  /          commit data |
                 v                       |
    .------------. <---------------------'                .------------.
    |            |                                        |            |
    | RootBase   |                                        |  Active    |
    |            |<---------------------------------------|            |
    '------------'                 Backing File           '------------'



You're merging top-level images -- [Snap-1] and [Snap-2] into a lower-level base image --
[RootBase] which will now be the backing file of the current [Active] image.


But the above demonstrates what can be done with qcow2 files.


-- 
/kashyap



More information about the OpenStack-dev mailing list