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.
A RAID 1 configuration provides only data protection by copying data from one drive to another. 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, the RAID 1 requires twice as much storage capacity as required by 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 so that 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, and is the a good option for I/O-intensive applications -- including email, web servers, databases and operations that require high disk performance -- and 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 highly used, mission-critical database servers. However, the four-disk minimum requirement makes RAID 10 a costly choice for smaller computing environments, as it entails a 100% storage capacity overhead, which may be overkill for small businesses or 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 and 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 by creating a full, intact copy of all active data. When an original drive or set of drives fails, you can simply switch 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. With other RAID levels that use a parity-based scheme to protect the data, a failed drive is rebuilt using the data from the surviving drives in the set along with the parity information. If the data on the drive array supporting parity RAID is voluminous, the rebuild can take hours -- or even days. During the rebuild process, data in the RAID will not be available.
According to manufacturer specifications and independent benchmarks, RAID 10 provides lower latency and superior throughput to all other RAID levels, except for RAID 0.
Disk mirroring requires 100% overhead, so if you have 20 TB installed in a RAID 10 environment, only 10 TB is available for live data, with the other 10 TB reserved for the mirror copy. This is a much higher drive capacity penalty compared with RAID levels that don't involve mirroring. Because of this, 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 for corruption.
Generally, read and 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 by hardware or software. Hardware RAID requires a RAID controller inside a motherboard slot that connects the drives, while 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 (OSes) include software RAID support. However, while hardware RAID is likely to provide a battery backup in case of power failure, software RAID does not. Software RAID is preferred by small businesses because it offers higher performance in standard RAID levels, but it 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 10, 5 and 6 -- 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. Since 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 same cost factor of requiring 100% drive capacity overhead applies when using solid-state storage vs. magnetic media, but it is somewhat 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, there has been a steady decline in the cost of flash, so a RAID 10 scheme using solid-state storage may become a more attractive option over time.
Advantages of RAID 10
RAID 10 is an economical and technically simple approach to data protection paired with a boost in performance.
Data is fully redundant in a RAID 10 environment. And because it does not rely on parity to rebuild any data elements lost during a drive failure, recovering data in a RAID 10 array is fast, resulting in little downtime.
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
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.
RAID 10 is an effective alternative for smaller applications, but it doesn't scale well.
If a disk array has to switch over to the mirror drive(s), a new mirror will have to be created as soon as possible to ensure continuous data protection. Copying all the original data to a new drive or set of drives could 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 OS is corrupted, the data on both disks is at risk for corruption, so 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, while its reduced capacity will likely make it a feasible alternative only for smaller applications or environments.
To decide whether or not to use RAID 10, consider the following points:
- 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?