Thread (22 messages) 22 messages, 6 authors, 2014-01-14

Re: RAID 10 far and offset on-disk layouts

From: NeilBrown <hidden>
Date: 2014-01-14 09:16:55

On Tue, 14 Jan 2014 10:06:13 +0100 Gionatan Danti [off-list ref] wrote:
On 01/13/2014 11:27 PM, NeilBrown wrote:
quoted
quoted
Mmm... they seem different to me.

SeSe FAR Layout:

sda1 sdb1 sdc1 sde1
    0    1    2    3
    4    5    6    7
    . . .
    3    0    1    2
    7    4    5    6

Notice how (for example) sdb1 is coupled both to sda1 (0,4) and
sdc1(1,5). If sdb1 fails, any sda1 or sdc1 failure lead to data loss.

Now, Wikipedia FAR Layout:

4 drives (sda1, sdb1, sdc1, sdd1)
--------------------
A1   A2   A3   A4
A5   A6   A7   A8
A9   A10  A11  A12
..   ..   ..   ..
A2   A1   A4   A3
A6   A5   A8   A7
A10  A9   A12  A11
..   ..   ..   ..

Notice now how a single disk (eg: sdb1) is coupled to only another
_single_ disk (eg: sda1). In this case, if sdb1 fails, you had to lose
sda1 to have a data loss. Losing sdc1 or sdd1 will _not_ lead to data loss.
Thanks for being explicit - it is much easier to answer explicit questions :-)

Yes, they are different.  So the wikipedia article is wrong, or at least
misleading.  That is not what the "f2" layout looks like.

The md driver does support that layout.  I don't know yet what mdadm will
call it, but it won't be called "f2".

So this change:

http://en.wikipedia.org/w/index.php?title=Non-standard_RAID_levels&diff=501908270&oldid=501604733

was wrong.

NeilBrown
Ok, so let recap:

1) FAR layout is the one depicted by SuSe documentation, while the 
Wikipedia entry is wrong
Yes.
2) MD _can_ produce a FAR layout as depicted by Wikipedia, but we don't 
know how the user-space mdadm tool call it (maybe it is not implemented 
yet?)
Yes.  Not implemented yet.
3) There are any reasons why FAR and OFFSET layout scramble data in this 
manner, coupling any disk with two more disks? It was done for 
simplicity, or I am missing something?
It just seemed the easiest thing to do at the time.
4) you confirm that currently we can _not_ create a FAR layout as the 
one depicted by wikipedia by no means? What about OFFSET layout?
You certainly can created the FAR layout depicted on wikipedia, e.g. by
binary-editing the metadata on some devices, or writing some code which does
that for you.  It requires flipping one bit in the metadata and updating the
checksum.  You can probably even to it by writing something appropriate into
some sysfs files.
But mdadm cannot do it yet.
Ditto for the new OFFSET layout.
(The old offset layout can be created with "--layout=o2").

NeilBrown

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help