Re: layout of far blocks in raid10
From: Neil Brown <hidden>
Date: 2010-05-11 21:56:56
On Tue, 11 May 2010 13:13:06 -0400 Aryeh Gregor [off-list ref] wrote:
On Tue, May 11, 2010 at 11:12 AM, Keld Simonsen [off-list ref] wrote:quoted
There is a quesition on block layout in the raid10 far layout, that I would like to know more about. For 4 drives, and with 2 copies (-n 4 -p n2) I see several possible layouts, 3 of them are, showing the beginning of each raid0 section:There are only two layouts possible here: cyclic, and double-transposition. The first can be summarized in cycle notation <http://en.wikipedia.org/wiki/Cycle_notation> as (abcd), where two letters are adjacent if the extra copy of the first letter is on the same disk as the second letter, and it's assumed the letters wrap around in the parentheses (so the extra copy of d is on the same disk as a). The second is (ab)(cd). So for instance, your example 1 is (1432), example 2 is (13)(24), and example 3 is (1234). For larger numbers you have more possibilities, like (abc)(def) or (abcd)(ef) for six drives. The exact number of possibilities is the number of partitions of the number of drives <http://en.wikipedia.org/wiki/Partition_(number_theory)> that don't include 1. As far as I know (hopefully someone will correct me if I'm wrong), RAID10 in mdadm stores data like (ab)(cd)(ef)..., at least if you have an even number of drives.
I'm not quite sure how to respond to this... As a mathematician I would expect you to understand the important of precision in choosing words, yet you use the word "know" for something that is exactly wrong. Either you mean "guess" or you have been seriously misinformed. If it is the latter, then please let me know where this misinformation came from so I can see about getting it corrected. md/raid10 uses a simple cyclic layout in all cases. It does so because this layout is completely general and works for all numbers of devices and copies. So you can only survive multiple device failures where are most N-1 are adjacent where N is the number of copies, and the first and last devices are treated as adjacent. NeilBrown
Thus one disk out of every pair can fail and you'll still have your data, where the pairs are determined by the order you specify on the command line. I don't know if this behavior is guaranteed, but you can verify it by leaving some devices missing -- trying to create a RAID10 with "/dev/sda1 /dev/sdb1 missing missing" will fail, but "/dev/sda1 missing /dev/sdb1 missing" will succeed, at least in my limited experience. I don't know what mdadm does if there are an odd number of drives -- perhaps something like (ab)(cd)(efg), perhaps something more complicated. I know more about mathematics than about mdadm. :) -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html