RAID 10 (RAID 1+0)
What is RAID 10?
RAID 10, also known as RAID 1+0, is a RAID configuration that combines disk mirroring and disk striping to protect data. It requires a minimum of four disks and stripes data across mirrored pairs. As long as one disk in each mirrored pair is functional, data can be retrieved. If two disks in the same mirrored pair fail, all data will be lost because there is no parity in the striped sets.
RAID, which stands for redundant array of independent disks, comes in several different configurations. A RAID 1 configuration copies data from one drive to another, mirroring and duplicating data to provide improved fault tolerance and data protection. Data is fully protected as the mirror copy is available if the originating drive is disabled or unavailable. Because it makes a full duplicate of the data, RAID 1 requires twice as much storage capacity as the original data.
RAID 0 doesn't provide any data protection; its sole purpose is to enhance drive access performance. It does that by spreading the data out across two or more drives. That way multiple read/write heads on the drives can write or access portions of data simultaneously, thus speeding up overall processing.
RAID 10 provides data redundancy and improves performance. It is the a good option for I/O-intensive applications -- including email, web servers, databases and operations that require high disk performance. It's also good for organizations that require little to no downtime.
The high performance of RAID 10, and its ability to speed up both write and read activities, makes it suited to frequently used, mission-critical database servers. However, the four-disk minimum requirement makes RAID 10 a costly choice for smaller computing environments. That 100% storage capacity overhead may be overkill for small businesses and consumer use.
How it differs from other forms of RAID
The two-number format of RAID 10/1+0 is known as a nested RAID configuration because it combines two RAID levels to enhance performance. Other nested RAID levels are:
- 01/0+1
- 03/0+3
- 50/5+0
- 60/6+0
- 100/10+0
While RAID 1+0 is similar to RAID 0+1, the reversed order of the numbers indicates the two RAID levels are layered in the opposite order. RAID 1+0 mirrors two drives together and then creates a striped set with the pair. RAID 0+1 creates two stripe sets and then mirrors them. While both RAID levels use the same number of drives, they are not synonymous.
Disk mirroring's data protection advantages
Mirroring is the simplest way to ensure data protection. It creates a full, intact copy of all active data. When an original drive or set of drives fails, the user simply switches to the mirrored devices to regain full access to the data. The switch to the mirrored drives is nearly instantaneous, so any disruptions to normal operations will be limited.
Other RAID levels use a parity-based scheme to protect the data. With parity, a failed drive is rebuilt using the data from the surviving drives in the set along with the parity information. If there is a lot of data on the drive array supporting parity RAID, the rebuild can take hours -- or even days. During the rebuild process, data in the RAID system will not be available.
According to manufacturer specifications and independent benchmarks, RAID 10 provides lower latency and superior throughput compared with all other RAID levels, except for RAID 0.
The 100% storage capacity overhead that disk mirroring requires means if 20 TB is installed in a RAID 10 environment, only 10 TB of disk space is available for live data, with the other 10 TB reserved for the mirror copy. This drive capacity penalty is much higher than RAID levels that don't use mirroring.
Because of this capacity penalty, levels such as RAID 5, 50 (5+0) and 6 may be considered as alternatives. However, when rebuilding with RAID 10, only the surviving mirror of all the drives is read, while non-mirroring levels require all remaining drives to be read. The heavier lifting required by RAID 5, 50 and 6 could therefore result in a higher risk of failure and data loss.
RAID 6 stripes data and calculates parity two times, storing these results in different areas of the disk. This can help protect against two simultaneous disk failures, but the compute power needed to make two parity calculations for every write operation slows RAID 6 significantly.
JBOD, or just a bunch of disks, may also be considered as an alternative to RAID 10. JBOD does not use striping or parity, but it can treat multiple disks as one entity and combine their capacity. While JBOD can be less expensive than RAID, it has few other advantages. The lack of redundancy with a JBOD arrangement uses all available drive capacity but puts data at higher risk of corruption.
Generally, read/write operations on RAID arrays are faster, and data streams can be divided and stored concurrently. JBOD data can only be stored on one disk at a time.
Advanced data mirroring
Disk mirroring duplicates data to multiple hard drives connected to a single controller. It is a form of backup used in some RAID arrays and can be hardware- or software-based.
Unlike RAID 0 and RAID 1, RAID 1+0 combines striping and mirroring to create redundancy. As long as an array has an even number of hard disk drives, these two actions can be used together. While mirroring can reduce the amount of available capacity in a RAID 1+0 array, it creates another layer of protection against data loss.
With data mirroring, RAID 10 arrays can maintain multiple copies of data, allowing for a quicker recovery in the event of a failure. By striping mirrored data, RAID 10 combines the speed boost of striping with the added redundancy of mirroring.
Hardware RAID vs. software RAID
RAID 10, like all other RAID levels, can be deployed using hardware or software. Hardware RAID requires a RAID controller inside a motherboard slot that connects the drives. Software RAID uses a utility application to manage the RAID configuration.
Hardware RAID often costs more than a software option, but it can have superior performance. This approach can sometimes replace disks without shutting down the server, a practice known as hot swapping. With hardware RAID, higher write throughput speeds are supported, as well as faster recovery of lost data. Because of this, hardware RAID is the preferred option when dealing with essential servers.
Software RAID is less expensive and less complex to deploy. Most operating systems include software RAID support. However, while hardware RAID is likely to provide a battery backup in case of power failure, software RAID does not. Small businesses prefer software RAID because it offers higher performance in standard RAID levels. Software RAID does not offer nested levels like RAID 10.
RAID 10 with SSD
While RAID was created for hard disk drives, there are some RAID levels -- such as RAID 5, 6 and 10 -- that can be used on solid-state drives (SSDs). For example, RAID 10's method of striping mirrored sets can be beneficial in a flash system. However, the majority of traditional RAID levels are not optimized for flash environments.
Write-heavy RAID levels like 5 and 6 may cause latency and performance problems when used with SSDs. Because each write on a flash drive requires an erase and erase cycles are limited on SSDs, the additional writes created by RAID 5 and 6 can seriously affect flash performance.
The higher cost of requiring 100% drive capacity overhead applies when using solid-state storage versus magnetic media, and it is exacerbated given the higher cost of solid-state storage. Already more expensive than other forms of RAID, the cost of using SSDs with RAID 10 may deter consumers. However, the cost of flash has been declining, so a RAID 10 scheme using solid-state storage may become a more attractive option over time.
Advantages of RAID 10
The advantages of RAID 10 include the following:
- Cost-effective. RAID 10 is an economical and technically simple approach to data protection paired with a boost in performance.
- Full redundancy. Data is fully redundant in a RAID 10 environment.
- Fast recovery. Because it does not rely on parity to rebuild any data elements lost during a drive failure or disk fails, recovering data in a RAID 10 array is fast, resulting in little downtime.
- Performance boost for some applications. RAID 10's basic data striping is an effective way to improve performance for applications that don't require large amounts of data.
Drawbacks of RAID 10
Some of the disadvantages of RAID 10 include these:
- Large capacity penalty. Because RAID 10 requires 100% capacity overhead, it is not an ideal RAID implementation for large amounts of data. The capacity penalty for other forms of RAID -- notably those that are parity based -- is much smaller.
- Limited scalability. RAID 10 is an effective alternative for smaller applications, but it doesn't scale well.
- Time-consuming recovery. If a disk array has to switch over to the mirror drives, a new mirror must be created as soon as possible to ensure continuous data protection. Copying all the original data to a new drive or set of drives can be time-consuming and may hinder ongoing operations that rely on the data.
Considerations for using RAID 10
While RAID 10 writes to two disks at once, it should not be considered a replacement for traditional data backup. If the operating system is corrupted, the data on both disks is at risk of corruption. Given that possibility, RAID should not be considered the last line of defense against data loss. RAID 10 can protect against single drive (or drive set) failures, but a secure data backup plan should also be in place.
The faster rebuild times and features like hot swapping disks make RAID 10 an appealing option. However, its reduced capacity will likely make it a feasible alternative only for smaller applications or environments.
To decide whether to use RAID 10, consider the following four questions:
- What is my budget?
- How much storage capacity do I need?
- What are my read/write performance requirements?
- How much rebuild and recovery time can I afford?