What is RAID 10?

  • Service Provider

    RAID 10 is so commonly thought of as a special case in RAID discussions that it is easy to forget that it is actually nested RAID and not a RAID level in and of itself. It is used and recommended so often that we can start to overlook what it is under the hood.

    First, RAID 10 is nested RAID. It is not a RAID level itself like RAID 0, 1, 2, 3, 4, 5, 6 and 7 are. It is made up of sets of RAID 1 (mirrors) that are then combined into a single stripe of RAID 0. That is many RAID 1 sets, one RAID 0 stripe (this is important, the reverse would be RAID 01 and is not recommended.)

    At its core, each RAID 1 set is independent. They are mirrors unto themselves and know nothing of other RAID 1 sets within their overarching RAID 10. RAID 1 is incredibly reliable on its own and has the simple performance characteristics of being 1X write speed and 2X read speeds, where X is the speed of a single drive.

    The RAID 0 stripe that combines these RAID 1 sets is a normal RAID 0 stripe and provides no data protection on its own, all of this is left up to the underlying RAID 1 sets.

    RAID 1, of course, is not limited to just two drives but can have three or more. Each additional drive adds a magnitude of additional reliability to the array, and RAID 1 with just two drives is already the safest array type available. Each additional drive increases read performance of the sub-array, but does not change the write performance.

    The risks from RAID 10 come from the RAID 0 stripe and the reliance on every underlying RAID 1 array working. As the array grows, the risks that one RAID 1 set will fail increase. But unlike other scaling RAID types (4,5,6,7), RAID 10 increases in risk linearly and not geometrically allowing it to safely go to very large sizes.

    Data loss is not the only risk from large arrays. Large parity arrays take longer and longer to resilver after a failed drive has been replaced based on their size. RAID 10 arrays build at the RAID 1 sub-array level and never need to rebuild more than a single RAID 1 set when a disk is lost. This means that an array of four 10TB drives or one of fifty 10TB drives will rebuild at the exact same speed - the time for a single RAID 1 set to mirror one new drive.

    What makes RAID 10 complicated to discuss is that it can always lose at least one hard drive and recover (or can always lose any two, if the RAID sets are triple mirrored.) But you can't guarantee that it can lose two. But it can lose up to half of all drives (and recover in the same time as having lost only one!) What is most important to understand is that "number of drives that can be lost" is a useless measure of RAID. We only care about overall data loss and availability loss numbers (or in extremely rare cases, block corruptin numbers.) RAID 10 shines on overall data loss protection and absolutely dominates in availability loss protection.

  • @scottalanmiller Why 01 is not recommended strong reason ?

  • Service Provider

  • pKIH8je.png