RAID data storage levels
As technology evolves the flexibility and capabilities of data storage technology are only going to expand, though coming with it the complexity of the systems themselves. Moore's Law can go a long way to describe this.
RAID 0 is the classic data stripping configuration, data is written across all the drives resulting in much higher data throughout. This higher performance comes at a cost, if one or more drives fail within a RAID 0 severe data loss can occur.
The diagram below shows how the data walks across the array.
An example of a data recovery situation: a file was created that occupied data stripes 1 – 4, if drive 2 were to fail and the 2nd stripe lost, the file would most likely become corrupted. Another way to look at it would be if one drive fails, the largest possible good file would have to be smaller than the combined size of the remaining stripes.
This is the basic data mirroring RAID level, data from the primary drive is duplicated on to the other. There are no performance gains from this RAID level but if one drive fails you will have a backup on the 2nd.
To gain performance and/or additional redundancy the standard RAID levels can be combined to create hybrid or nested RAID levels, RAID types that provide redundancy are typically combined with RAID 0 to boost performance.
As you can see from the diagrams below these 2 RAID levels are a combination or RAID 0 and RAID 1. The difference between the two is the location of the actual RAID array, this is show on the diagrams where the stripes are in bold.
RAID 01 is configured so the RAID 0 has a mirror copy.
The advantage is that when a drive fails in one of the level 0 arrays, the missing data can be transferred from the other array. However, adding an extra hard drive to one stripe requires you to add an additional hard drive to the other stripes to balance out storage among the arrays.
A disadvantage for this configuration is that is cannot recover from two simultaneous drive failures, unless the drives are from the same data stripe. In the diagram; if drives 1 and 5 failed the RAID could be rebuilt, but if 1 and 4 failed it would result in data loss.
RAID 10 is configured so that the RAID 0 is split across two RAID 1 arrays.
A big advantage to RAID 10 is all but one drive from each RAID 1 array could fail without any data loss. However, if the failed drive is not replaced, the single working drive in that array becomes a single point of failure for the entire system, if that last drive goes all data within the array is lost.
The RAID nesting technique can be used for other RAID levels as well, most commonly on RAID 5 but it can also be applied to other levels like 3 and 6, producing levels such as 50, 51, 60, 61, 30 and 03.
RAID 2 comprises of data striping at a bit level with a dedicated parity drive. This level uses hamming error detection codes and is intended for use on drives that do not have built-in error detection. For this reason RAID 2 is not commonly used anymore.
RAID 3 and 4 both use striping with a dedicated parity drive, the difference between the two is that RAID 3 stripes at the byte level while RAID 4 stripes at the block level.
RAID 3 is seldom used these days due to the poor performance of byte level striping, RAID 4 is better with block level striping but still suffers slower write performance due to the parity having to be updated on every write.
RAID 5 is generally considered to be the best compromise between fault-tolerance, speed and cost. It stripes the data in the same way as a RAID 0, but it also stripes the parity information across all the drives as well. How the RAID array distributes the parity and data across the drives is vender specific but will almost always be one of four ways, left asymmetric, left symmetric, right asymmetric and right symmetric. In the diagram below you can see how the data moves over or around the parity, also the direction of the parity across the drives.
The direction of the parity is the easiest to spot, as you can see it either slopes to the right or left. Within asymmetric RAID the data stripes ignore the parity, jumping over it to the next available space. Symmetric RAID are a little more complex with the data striping, once the data hits a parity block it will move across and down onto the next stripe set.
RAID 6 is an extension of RAID 5; it follows the same data and parity distribution but with an added parity block in each stripe. The main reasoning behind this is you can have two simultaneous drive failures and the RAID will not lose any data. In smaller RAID the chance of two drives failing within a short period of time is slim, but as RAID arrays grow in size so does the probability of drive failures. For this reason RAID 6 is normally only recommended in larger RAID systems.
Performance wise it is very similar to RAID 5, write speeds are high because the data and parity can be written to all the drives but read access is slower due to the delay in skipping two sets of parity.
Modern RAID arrays
The highly complicated and technical nature of modern RAID arrays can be utilised with other highly complicated technologies for significant efficiency and cost benefits, such as virtualisation. However, it is not uncommon for one of these technologies to suffer a fault, and then combined with other highly complex technologies, to potentially cause significant data loss which can cost businesses millions in downtime. It is these types of situations where Ontrack comes into its own.
Modern RAID arrays can also utilise multiple file systems, like BTRFS or ZFS at hardware level, with NTFS or HFS layered over the top for application support via virtualisation. In the event that one of these file systems have a data loss, Ontrack can utilise its wealth of experience to assist with your RAID recovery.
How RAID recovery is performed
How data is stored on RAID
RAID is a term used for computer data storage schemes that spread and or replicate data among multiple hard disk drives. RAID was designed with two key goals: to increased data reliability and increased I/O (input/output) performance.
A number of standard configurations were designed which are referred to as levels. There were five RAID levels originally created, but many more variations have evolved, notably several nested levels and many non-standard levels (mostly proprietary).
A RAID combines physical hard disks into a single logical unit by using either special hardware or software. Hardware RAID solutions can come in a variety styles, from built onto the motherboard or add in cards, up to large enterprise NAS or SAN servers. With these setups the operating system is unaware of the technical workings or the RAID. Software solutions are typically implemented in the operating system.
There are three key concepts in RAID:
- mirroring, the copying of data to more than one disk
- striping, the splitting of data across more than one disk
- error correction, where redundant data is stored to allow problems to be detected and possibly fixed (known as fault tolerance)
Different RAID levels use one or more of these techniques, depending on the system requirements.
RAID is traditionally used on servers, but can be also used on workstations. The latter is especially true in storage-intensive computers such as those used for video and audio editing.
Unfortunately data loss risk doesn't limit itself to the RAID controller (the piece of hardware which manages and indexes where each packet of data is stored across each of the drives). Individual drives will fail at some point in their lifetime. When this happens, if individual drives fail then, assuming it is a RAID 1 or greater, the faulty drive can just be replaced with a new one and have the data storage map rebuilt with zero data loss. If a drive failure exceeds the redundancy capacity of the RAID array, get specialist help to rebuild your RAID array and recover your data.+44 (0)1372 741 999 Ontrack EasyRecovery
Commonly used RAID terms
RAID is a technology that supports the use of 2 or more hard drives in various configurations for the purposes of achieving greater performance, reliability and larger volume sizes through the use of consolidating disk resources and parity calculations.
A mathematical calculation which allows drives within a RAID array to fail without the loss of data. The simplest way to show this is the equation:
A + B = C
You can remove anyone of the letters from above and work out its value from the 2 remaining. I.e. if B was removed so the equation looked like A + ? = C, then B's value can be worked out by moving the A, so B = C – A.
This is obviously a simplistic way of describing it, to fully understand it in a RAID sense, knowledge of binary and the logical XOR expression is required.
The data from 1 or more hard drives is duplicated onto another physical disk(s).
The method that data and parity can be written across multiple disks. In the example below the data is written across the drives in a sequential order until the last drive, it then jumps back to the first and starts a 2nd stripe.
A block is the logical space on each disk where the data is written, the amount of space is set by the RAID controller and most commonly would be 16KB to 256KB in size. The data will fill up the space until the limit is reached and then move onto the next drive, until the last drive when it will jump to the start of the next stripe.
- Left / right symmetry
The symmetry in a RAID controls how the data and parity are distributed across the drives. There are four main styles of symmetry, which one is used depends on the RAID vender. Some companies also make proprietary styles depending on their business needs.
- Hot spare
There are a few different methods for dealing with drive failures within a RAID, one is the use of a Hot Spare. It is a spare disk which can be used in place of the failed one.
- Degraded mode
This happens when a drive in the RAID becomes unreadable, the drive is then considered bad and is withdrawn from the RAID. The new data and parity are then written to the remaining drives within the RAID, if any data is requested from the failed drive it is worked out with the parity on the others. This degrades the performance of the RAID, hence degraded mode.