[CentOS] Raid 10 questions...2 drive

Sun Sep 26 02:39:03 UTC 2010
Tom H <tomh0665 at gmail.com>

On Sat, Sep 25, 2010 at 4:04 PM, Ross Walker <rswwalker at gmail.com> wrote:
> On Sep 25, 2010, at 1:52 PM, Tom H <tomh0665 at gmail.com> wrote:
>> On Sat, Sep 25, 2010 at 11:48 AM, Ross Walker <rswwalker at gmail.com> wrote:
>>> On Sep 25, 2010, at 9:11 AM, Christopher Chan <christopher.chan at bradbury.edu.hk> wrote:
>>>> Jacob Bresciani wrote:
>>>>> RAID10 requires at least 4 drives does it not?
>>>>>
>>>>> Since it's a strip set of mirrored disks, the smallest configuration I
>>>>> can see is 4 disks, 2 mirrored pairs stripped.
>>>>
>>>> He might be referring to what he can get from the mdraid10 (i know, Neil
>>>> Brown could have chosen a better name) which is not quite the same as
>>>> nested 1+0. Doing it the nested way, you need at least 4 drives. Using
>>>> mdraid10 is another story. Thanks Neil for muddying the waters!
>>
>>
>>> True, but if you figure it out mdraid10 with 2 drives = raid1, you would need 3
>>> drives to get the distributed copy feature of Neil's mdraid10.
>>
>> I had posted earlier (
>> http://lists.centos.org/pipermail/centos/2010-September/099473.html )
>> that mdraid10 with two drives is basically raid1 but that it has some
>> mirroring options. In the "far layout" mirroring option (where,
>> according to WP, "all the drives are divided into f sections and all
>> the chunks are repeated in each section but offset by one device")
>> reads are faster than mdraid1 or vanilla mdraid10 on two drives.
>
> If you have any two copies of the same chunk on the same drive
> then redundancy is completely lost.
>
> Therefore without loosing redundancy mdraid10 over two drives
> will have to be identical to raid1.
>
> Reads on a raid1 can be serviced by either side of the mirror, I
> believe the policy is hard coded to round robin. I don't know if it is
> smart enough to distinguish sequential pattern from random and
> only service sequential reads from one side or not.
>
>>> For true RAID10 support in Linux you create multiple mdraid1 physical
>>> volumes, create a LVM volume group out of them and create logical
>>> volumes that interleave between these physical volumes.
>>
>> Vanilla mdraid10 with four drives is "true raid10".
>
> Well like you stated above that depends on the near or far layout pattern,
> you can get the same performance as a raid10 or better in certain
> workloads, but it really isn't a true raid10 in the sense that it isn't a stripe
> set of raid1s, but a distributed mirror set.
>
> Now don't get me wrong I'm not saying it's not as good as a true raid10,
> in fact I believe it to be better as it provides way more flexibility and is a
> lot simpler of an implementation, but not really a raid10, but something
> completely new.

You must've misunderstood me.

mdraid10 on two disks: it is raid1 but you have the option of
mirroring, for example, cylinder 24 on disk 1 with cylinder 48 on disk
2; the Wikipedia article says that it makes reads faster (I don't
understand why but that's a different story).

mdraid10 on four disks: it is true raid10 but you also have various
"--layout=" options.