RAID 10

AAA Print

The disks, first called inexpensive and today called independent, are a series of two or more separate disks that the operating system will recognize as one drive when the array is set up correctly. It's simply a number of connected disks. While an array can be two disks, it can also theoretically be 1000 disks. There's no limit to the number of disks in an array, but for practical purposes the number is usually quite limited. That's because if you had an array with 1000 disks, the risk of two or more of those disks failing at the same time would be much higher than if you had an array of 5 disks.

The array with 1000 disks would, in most cases, have the storage capacity of 1000 disks or almost 1000 disks, but the increased rate of disk failure and data loss would make it a logistical nightmare. So an array is usually two or more drives. Some arrays require at least 3 disks, some require an even number. Some people might also call the array in a RAID 10 or any RAID system a cluster.

IN 1987, when the acronym RAID was coined, use of the word inexpensive to describe the disks and the system was seen as a good thing. Computer technology was picking up pace and starting to develop more rapidly, but until then the only way to get good data storage and retrieval was with an expensive and usually very large mainframe computer, which put it out of the reach of the general public. The RAID systems, however, made it much more affordable and practical. Today, the I in a RAID 10 or any RAID system stands for independent, because it's believed that the work inexpensive will be equated, not with something good and affordable, but with something cheap and probably not very good.

The R for the redundancy in a RAID array is what makes it either a fast, safe or fast and safe method of data writing, storage and retrieval, depending on the type of configuration used in that particular array. RAID 10, being a nested array, offers two different benefits to the user, both those best benefits of the RAID 0 and the RAID 1 array.

Not every RAID array is good for saving data or preventing data loss, but typically those RAID systems offer more speed and bandwidth than the arrays that are almost like backups because one or more disks can fail without data loss. Those have the disadvantage of offering less storage space and usually running much slower. A nested array like a RAID 10 combines two very different arrays to reach a compromise on both speed and the ability to recover data in the event of a disk failure.

RAID 10 and Nested RAIDS

When RAID arrays are nested, like with a RAID 10 array, a RAID level that provides maximum redundancy (or data duplication) is nested with RAID 0, which is the fastest RAID array. It's best if the RAID 0 arrays are on the top level, with the second level made up of the redundant array, in case of disk failure.

In a RAID 10, a RAID 1 array is combined with a RAID 0 arrays. To understand the benefits of nesting RAIDs it helps to understand the advantages and disadvantages of each RAID array.

A RAID 0 array is designed for speed, with no fault tolerance. The data is spread among the disks in the array with the use of striping, which means the data is split into chunks. Those chunks are then distributed through the array. So each disk in an array has its own separate chunk of the data. No two disks house the same information. This also serves to give the array more storage space because there's no mirroring of information. There's also no parity to slow things down.

Parity is the act of the checking the written information and error-checking. In RAID systems with parity like RAID 5, some of the array is used for the parity so that if a disk fails, the data can be reconstructed from the blocks of parity and data loss is prevented or minimized. In a RAID array like RAID 0 with no parity, there's no need to write separate data to parity or skip over blocks of parity on a disk when writing or reading. But there's also no error protection.

The RAID 0 array, on its own or in a RAID 10 array, cannot save data if one of the disks in the array fails. Because each disk has separate information and none of the data is duplicated anywhere, if one disks fails, all the data is lost. So RAID 0 is best for speed and heavy access when other back ups are performed frequently to prevent irreparable data loss or damage.

RAID 10 also contains one more RAID 1 arrays. RAID 1 is vastly different from RAID 0, first of all because of its redundancy. In a RAID 1 system, every disk within that system holds the same data as every other disk. So the redundancy of the data is that it's saved on every disk, completely. How is this useful? This type of RAID array provides excellent fault tolerance because even if every disk but one were to fail, the data would still be saved. As long as one disk is operating, because each disk is identical, there should be no data loss.

As a trade-off for the redundancy and fault tolerance of a RAID 1 array, though, there's the issue of lack of storage. If you have a RAID 1 array with 5 disks that each have 500 Gigs of storage, you could add an unlimited number of 500 gig disks, and the storage capacity of that array would never go above 500 gigabytes. That's because the data is redundant-it's replicated exactly on every disk. In some RAID arrays like a RAID 0, each added disk adds that much more storage space. Also, speed is slowed with a RAID 1 as compared to a RAID 0 array.

The RAID 1 part of a RAID 10 provides the redundancy and helps prevent against data loss, where the RAID 0, preferably on top of the nested RAID, provides the speed.

The Difference between RAID 10 and RAID 01

In a RAID 01 (also written as RAID 0+1) RAID 0 and RAID 1 arrays are combined to offer both speed and redundancy, just as they are in a RAID 10 (also written as RAID 1+0). The difference lies in which type of arrays make up which level.

In a RAID 10, the top level array is a RAID 0, and the second level is made up for RAID 1 arrays. This offers much better data loss protection that a RAID 0+1, which is a mirror of the stripes used in the second level RAID 0 array. If one disk fails in that type of setup, the data can be saved, but in the case of two disk failures, data is lost.

With a RAID 10, as long as one disk in each RAID 1 array remains operating, the data won't be lost. Failed disks must be replaced to guard against the risk of loss that would occur if the single remaining disk in any one array should fail, which would cause complete data loss. Because of this potential problem, RAID 10 arrays are typically set up with a hot swappable drive that automatically fills in for the failed disk in any array.

Because the RAID 0 array is on top, the information from the RAID 1 arrays (with each array containing more than one drive with identical information) and stripes it. The data is broken into chunks and spread across the disks in the top level RAID 0 array. Since information retrieval is faster on a RAID 0 and it's at the top level, when data is accessed it only has to be pulled from the RAID 0 array, speeding the system.

Yet unlike a RAID 0 system a long, a RAID 10 benefits from the second level of RAID 1 arrays and their redundancy and mirroring which guards against data loss.

Neither RAID 0 nor RAID 1 use parity, which is a method of writing the data in blocks across several disk or writing it one disk. It's error-checking to save data, and slows down the writing of data, because it's technically written once regularly and also to a parity block or drive. Parity can also slow reading if it's distributed parity, which is a set of blocks spread over several disks. When that disk reads data it has to skip over the parity blocks which can slow reading slightly.

Since neither of the types of arrays in a RAID 10 use parity, the speed of RAID 0 and the redundancy of RAID 1 combine with the slowing effects found in RAID that use parity to protect the data.

A RAID 10 system is ideal for databases that are heavily used and accessed because of it's fast read speed thanks to the fast, top level RAID 0 array, and its ability to write faster than other RAID arrays that use parity. The storage space available in a RAID 10 array depends on the second level RAID 1 arrays.

Because a RAID 1 array is limited by the size of one of its identical disks (5 disks each with 500 gigs means the whole array still only has 500 gigs of storage space because each disk contains identical information) then storage depends on the number of RAID 1 arrays. If each array has 100 gigs of storage space, for example, and there are 3 arrays, then the total storage capacity of the RAID 10 array is 300 gigs, regardless of how much bigger the disk space of the top level RAID 0 array might be. The RAID 10 array can only handle the amount of data that can fit on the total of the second level RAID 1 arrays.

There are other nested RAIDs besides RAID 0+1 and RAID 10, like RAID 30 (RAID 3+0) and RAID 50 (RAID 5+0) which offer different features for different purposes, with varying levels of redundancy, error protection and fault tolerance, as well as varying levels of write and read speeds. Like RAID 10, these have RAID 0 on the top level for fast access speeds and striping of the mirrored data. Unlike with RAID 10, however, the second levels RAID 3 and RAID 5 use parity for data protection.

Many companies that use large databases are switching to RAID 50 and RAID 60 arrays (which use RAID 6, a type of RAID 5 array with dual parity). This proves better for an enterprise that wants to diminish the data loss risk that can occur even in a fairly secure RAID 10 configuration.

Last Updated: January 3, 2012
Click to share this information

From around the web