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.