[dm-devel] dm-snapshot scalability - chained delta snapshots approach

Jan Blunck jblunck at suse.de
Tue Oct 24 09:52:00 UTC 2006


On Mon, Oct 23, Molle Bestefich wrote:

> >This means that every snapshot still has its own exception store.
> >This would make deletion of snapshots unnecessary complex.
> 
> Complex, how?
> 
> Necessary operations (in order listed):
> * Acquire exclusive lock on this snapshot.
> * Check that next snapshot has room for exceptions, abort if not.
> * Acquire exclusive lock on next snapshot.
> * Move all exceptions to next snapshot.
> * Unlock next snapshot.
> * Remove this snapshot.
> * Done...
> 
> Sounds simple to me, but maybe I'm missing the point.

Hmm, sounds simple. Somehow I can't remember exactly where I thought the
problem is ...

> >We discussed some of the ideas about snapshots here at the dm summit. The
> >general ideas are as follows:
> >
> >- one exception store per origin device that is shared by all snapshots
> 
> Now that sounds complex.

But that is something already implemented for clustered snapshots although
that is userspace code.

> >Although that includes a complete redesign of the exception store code.
> 
> Especially when you say stuff like that :-).
> 

The chained-snapshots approach needs that too.

> >The throughput issues should be addressed by only
> >writing to one exception store.
> 
> Wouldn't this make debugging more complex, and further add to
> the difficulty of snapshot resizing?

Resizing? Nope, you only need to resize the exception store thats it. Resizing
the chained-snapshots approach is complex however: in the worst case you have
to move the exception stores to get enough free space.




More information about the dm-devel mailing list