[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