[Linux-cluster] [ddraid] extensibility
phillips at redhat.com
Thu May 12 05:36:07 UTC 2005
On Wednesday 11 May 2005 10:02, Jakob Praher wrote:
> hi philipp and all,
> I am very interested in ddraid for having sios systems over the
> network. A few questions though:
> I've looked shortly at your implementation (ddraid-0.5.0), but have a
> few questions, which I thought to ask you:
> * how will you track extensibilty:
> afaik you assign a fixed number of logical sectors to the device
> mapper device. but lets take a trivial example:
> you have 3 disks (2^k+1), each in a sperate computer.
> then you want to plug a 4th and 5th disk (2^k+1) disk (again separate
> computer) in the ddraid - how should that look like regarding the dm
You want to increase the "order" of the ddraid array? This is not
supported yet. The way to do it would be to create a new, higher order
ddraid array with an initial size of zero, then pvmove from the old
array to the new one, expanding the new array and recovering space from
the beginning of the old array as the move proceeds. This will be
tricky to implement! But it is possible, and in time we can expect to
see more sophisticated functionality like that arrive.
Adding an extra spindle to each ddraid member will be much easier. In
that case, you would change each ddraid member to a linear combination
of two devices, by changing your dmsetup commands.
> what problems could arise given the striping information on the
> blocks. do you simply extend a stripe from 2 to 4 data blocks?
This is quite a tricky problem because you want to start using the new
geometry while some of the old geometry is still in use. There is no
obstacle to implementing this, except a lot of work.
> is it
> possible to raise the number of logical sectors with device mapper
> (sorry for my ignorance - I haven't looked the details of the dmsetup
> man page). do you have to rearrange block sizes or stripe
If you raise the number of logical sectors in the device mapper command,
then you must actually have the new capacity available. In other
words, you would need to increase the partition size of each member of
the ddraid array as well. CLVM is supposed to be able to do such
things automatically, but ddraid has not been integrated with CLVM yet.
> * have you investigated raid-x - would that be possible to implement
> via device mapper?
> I've looked closer on a the papers by hwang et al regarding Raid-x,
I do not have that paper. Is it freely available online? I see from
the abstract that "the RAID-x architecture is based on an orthogonal
striping and mirroring (OSM) scheme". The answer is: you probably can
implement this in device mapper. But why?
> which also provides a single io space for servlerless clusters.
DDRaid provides that, in an efficient form.
> The design is basically a mixture of mirroring and striping, making it
> possible for one node to fail completly.
DDRaid does this without using either mirroring or striping. It sounds
like Raid-x is fairly wasteful of disk space and IO bandwidth, compared
> On stripe is made of (n-1) blocks and you have (n-1) mirror blocks.
> They have implemented as part of their trojan cluster project, wich I
> think isn't alive any more.
What is "n" in this description?
More information about the Linux-cluster