I'm trying to set up a RAID10 set on an LSI MegaRAID controller. It is unclear to me how the RAID controller will actually lay out the RAID set on the physical drives.

Part of the problem is that MegaRAID seems to use terms very inconsistently; the same idea often has multiple terms, and it seems as if sometimes they use the same term to refer to multiple ideas. I'm going to try to use the terms that the MegaCli command seems to use most frequently.

MegaRAID requires that there be two to eight arrays within a RAID10 set. Each array must contain physical drives in multiples of two. Each array in the RAID10 set must have the same number of physical drives.

Is each array a RAID10 set, and then the arrays are joined together? If so, does the fact that the arrays have to be the same size imply that the arrays are being striped? If so, given that each array is striped, and then there's an additional layer of striping on top of that, should I be concerned about that redundancy in regards to performance? (Or would it be a good thing?)

If each array is a RAID10 set, though, why does MegaRAID require that you have at least two of them?

If each array is not a RAID10 set, why does it require that arrays have physical drives in multiples of two?

In the documentation, it refers to arrays as spans, which it elsewhere defines like this:

Disk spanning allows multiple drives to function like one big drive. Spanning overcomes lack of disk space and simplifies storage management by combining existing resources or adding relatively inexpensive resources. For example, four 20 GB drives can be combined to appear to the operating system as a single 80 GB drive. Spanning alone does not provide reliability or performance enhancements. Spanned virtual drives must have the same stripe size and must be contiguous.

Which, to me, implies concatenation, or, at best, striping. Let's be generous and call it RAID0.

So if I have to define two arrays, and arrays are spans, and spans are RAID0, then I'm defining two RAID0 sets. And if I have to define two of them, it'd make sense that it's mirroring those. But that would be a RAID1 of two RAID0s, or RAID0+1, which is bad.

I'd expect, then, that if I defined three arrays, that would be creating a three-way mirror of RAID0 sets, but if I actually do that, the logical drive still has half the capacity of all the drives in total, not a third. So that conclusion doesn't make sense, either.

The problem is that I have 18 drives I want in a RAID10 set. In every other RAID system I've used, I'd just create 9 two-drive mirrors and then stripe them, but I can't do that with MegaRAID. Because there have to be between two and eight arrays, and each array must have an even number of drives, the only config I can come up with that works is three arrays of six drives each, but I just feel strange doing that without having a better notion of how those disks are actually going to be laid out.

Am I overthinking this? Should I just let MegaRAID do its thing and just hope that the drives are laid out optimally?

2 Answers 2


LSI claim that their approach to RAID 10 differs from the standard definition because they follow the SNIA specification.

With MegaRAID RAID 1 can consist of from two drives (the more traditional definition) to up to sixteen drives. MegaRAID RAID 1 must be an even number of drives. With MegaRAID 1, if more than two drives are in the Virtual Drive (VD), then the VD consists of striped mirrored pairs. In other words, what traditionally would be considered RAID 10 (striped mirror pairs) is reported by MegaRAID as RAID 1.

With MegaRAID RAID 10, instead of the traditional method of having striped mirrored pairs, MegaRAID uses SNIA PRL=11, RLQ=0 For example, while a traditional eight drive RAID 10 would consist of eight mirrored pairs striped together, MegaRAID 'RAID 10' is actually four drives in a traditional RAID 10 span (two mirrored pairs striped) in a span striped with another four drives of striped mirrored pairs. Up to eight of these spans are supported.

Which means that if you want RAID10, choose what LSI labels RAID1. What LSI labels as RAID10 is what might be better referred to as RAID100 or RAID 1+0+0.

  • 1
    As always, ewwhite, you rock.
    – wfaulk
    Jan 14, 2015 at 16:57
  • 1
    It's interesting to note that the SNIA specification for what LSI calls RAID10 is referred to by SNIA as "RAID-1E Integrated Adjacent Stripe Mirroring", SNIA's definition of RAID1 is the usual definition of simple unstriped mirroring, and SNIA has nothing called "RAID10". (What is normally called RAID10 is implemented by SNIA as a "secondary RAID level".)
    – wfaulk
    Jan 14, 2015 at 17:05

A MegaRAID RAID 10 is a RAID 10 as everywhere else: A RAID 0 (span) on top of RAID 1 arrays. The problem in your case is that MegaRAID will only allow you to span 8 RAID 1 arrays, whereas the RAID 1 arrays have to consist of 2 harddisks each. Therefore you will only be able to use 16 disks in your RAID 10.

  • I don't know what to say other than that this answer doesn't match the evidence. It is not required that there be only two drives in an "array". I can put more in.
    – wfaulk
    Jan 14, 2015 at 16:17
  • Ok, then LSI's documentation seems to be wrong (or it's for a different MegaRaid version. hwraid.le-vert.net/raw-attachment/wiki/LSIMegaRAIDSAS/…
    – etagenklo
    Jan 15, 2015 at 8:10
  • I think both of those things are true. The version you linked to is 7 years old, and the current documentation is also either incomplete, unclear, or inaccurate, based on the link ewwhite provided in his answer.
    – wfaulk
    Jan 15, 2015 at 17:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .