What is RAID Storage and What is the Best RAID Configuration?
WHAT IS RAID?
RAID (Redundant Array of Independent Disks; originally Redundant Array of Inexpensive Disks) is a technology which is used to increase the performance and reliability of data storage by combining multiple smaller disks into a single, more capable, device.
The term itself was coined by David Patterson, Garth Gibson and Randy Katz, and first mentioned in 1988 in their technical report named “A Case for Redundant Arrays of Inexpensive Disks (RAID)” — wherein it was argued that a RAID array, by utilizing redundancy, could be more reliable than any one disk drive. According to Katz, the term inexpensive in the acronym was soon replaced with independent by industry vendors due to the implications of low costs.
RAID arrays grant numerous advantages, and they vary depending on the chosen configuration. In general, RAID helps with:
1. Increasing fault tolerance, or ability to function after one or several disk failures.
2. Boosting read and write speeds.
3. Enlarging capacity to hold all your data.
HOW DOES RAID WORK
RAID improves performance by placing data on multiple disks and thereby allowing input/output operations to overlap in a balanced way; on the other hand, as the use of multiple disks increases the mean time between failures (MTBF), applying of an array also remarkably enhances fault tolerance.
However, it’s important to comprehend: although RAID can be used to back up data from other disks or arrays with the purpose to increase performance and reliability of the storage, it is not meant to be an alternative or substitute for backing up data as it still might get damaged or erased without harm to the disk it’s stored on. For instance, part of the data may be overwritten as a result of a system malfunction, or the file can become damaged due to an unintentional (or malice) user action. It’s important to understand the failure signs so you can determine if you need RAID data recovery.
BASICS OF RAID CONFIGURATIONS
There are various RAID configurations (levels), each of which applies different techniques to operate the stored data. The three main of them are:
- Striping: divides data into blocks, splitting the its flow between the drives;
- Mirroring: stores identical copies of data simultaneously in different blocks.
- Parity: calculates the missing block to prevent the system from going down in the case of a failed drive or missing data.
Below are viewed the most popular RAIDs that use these techniques (or combinations of them) to suit different needs.
Applies striping technique. Splits data across two or more disks, with no parity, redundancy or fault tolerance: if one of the drives fails, all data in the RAID 0 array is lost and the whole system is unable to function. Best used for non-critical data storing purposes such as caching live streams and other files where speed is important and reliability is secondary.
Pros: Great performance (read and write operations); all storage capacity is used, no overhead related to parity controls; easy to implement.
Cons: No redundancy of data; no fault tolerance.
Suitable for: Live streaming, IPTV, VOD Edge Server
Applies mirroring technique. RAID 1 duplicates data by writing identical information to pairs of drives. This method doesn’t offer increased write speed, yet is a great way to create failover storage: if any of the elements in the array fails, the system can still access data from the remaining disks; and as soon as the faulty disk is replaced with a new one, the data is copied to it from the functioning disk(s) to rebuild the array. Best used for application servers where data redundancy and reliability are crucial.
Pros: Fault tolerance; increased read performance; data recovery is extremely easy.
Cons: Lower usable storage capacity (only half of the total drive volume since all data is written twice).
Suitable for: Accounting systems etc.
Applies striping with parity technique. RAID 5 is currently the most common and widely accepted as one of the more secure configurations. RAID 5 requires at least three drives, however, it offers both speed (as data is accessed from multiple disks) and great reliability since is capable of calculating the data from of one of the other data blocks, should they no longer be available (which means this array can withstand a single drive failure without losing data, or access to it). Best used for file and application servers that have a limited number of data drives.
Pros: Fault tolerance and increased performance of read operations (writing is somewhat slower due to the calculation processes).
Cons: Drive failures may effect on throughput; complexity of technology.
Suitable for: File storage servers, application servers.
Applies striping with double parity technique. RAID 6 requires at least 4 drives; it is nearly identical in setup to RAID 5, however, RAID 6 provides increased reliability by utilizing one more parity block, which allows it to withstand two drives dying simultaneously and have an operational system remain accessible.
Pros: Higher redundancy than RAID 5, great reliability; increased read performance.
Cons: Slower write performance than in RAID 5; drive failures may effect on throughput; the complexity of technology.
Suitable for: Large file storage servers and application servers.
RAID 10 (0+1 )
Applies striping and mirroring techniques. This level combines the redundancy of RAID 1 with the increased performance of RAID 0. It provides security by mirroring all data on secondary drives while using striping across each set of drives to speed up data transfers. RAID 10 is best suitable for environments where both high performance and security are required.
Pros: Fault tolerance; extremely high performance.
Cons: Much higher cost (since half of the storage capacity is involved in mirroring).
Suitable for: Highly used database servers and those performing a lot of write operations.
LESS COMMON RAID CONFIGURATIONS
Rarely used, this method stripes data at the bit rather than block level, and uses a Hamming code for error correction.
Also rarely used, RAID 3 uses byte-level striping with a dedicated parity disk. This setup is unable to service multiple requests at the same time.
This configuration consists of block-level striping and a dedicated parity disk: it allows the system quick read speed, but generally, slower write speed.
This is a layout variation of RAID 5 in which a designated spare space allows rebuilding a failed array right away. This space is always left empty in the case of a failure.
This introduction should help you to navigate in possible options and determine what type of RAID suits your needs the best. Visit our blog to learn more about the data recovery industry and trends.