What is RAID (Redundant Array of Independent Disks)?
To ensure availability in the data center, a type of data storage technology called RAID (Redundant Array of Independent Disks) is used. RAID is multiple storage drives (two or more), hard drives for example, that are linked together to create one single large volume of storage. This results in increased performance and/or data redundancy. There are different types, or as they are usually referred to, levels, of RAID, and depending on which level of RAID is used (i.e., RAID 0, 1, 4, 5, or 10), storage availability and redundancy are achieved using one or a combination of three methods; mirroring striping, and parity.
When the mirroring method is used, two same-sized drives are linked together and what gets written to the first also gets written to the second, creating an exact copy for redundancy purposes. In the image below, the mirroring method used by RAID 1 shows that the blocks are identical on both disks.
With the striping method, on the other hand, the data being written traverses along with the linked drives, so no drives are identical. The linked drives function as one single drive, and the data is ‘striped’ between the two as shown by the RAID 0 example in the image below. The benefit of striping is that it increases capacity and results in faster performance because it takes less time to write the data a single time to one disk (in this case, two disks functioning as one) than it does to write the data multiple times to create a copy on each of the linked drives, as is done using the mirroring method. Something to consider, however, is that if one of the linked drives goes down, all the data will be inaccessible. Therefore, in the case of RAID 0, the desired outcome is performance rather than redundancy. At first, this may not seem like a desirable storage option, but there are some tasks, such as graphic design or media compilation that require higher performing storage like RAID 0 for a temporary amount of time.
Mirroring offers redundancy as opposed to striping because, as shown in the above image, if one drive goes down, all the data is preserved on the other disk. One way to get the best of both methods is with a RAID 10 (1+0) or a RAID 0+1 storage configuration, which incorporates both mirroring and striping.
Another RAID technique, called parity, is a way of checking if there are errors in a string of data. Parity is used in certain RAID configurations by adding a data bit at the end of a string of data being written to a disk.
As you may know, data is made up of 0s and 1s. A parity data bit acts as a way to check the number of 1s in the string of data. There are two types of ways to use parity: odd parity and even parity.
The first set of characters
01010101 of the example data output above represent a string. After the string, the last highlighted character
0 displayed above is the parity bit.
The example above uses even parity. A parity bit of
0 means that the number of 1s, including the parity bit, is even. This is confirmed by the four 1s in the string. If one of the 1s was accidentally switched to a 0 during the transmission, the number of 1s including the parity bit would be odd and therefore incorrect. If the data string does not match the data bit, it means that there was an error in the transmission of the data.
The following would be an example of odd parity:
In the example data output above, the number of 1s including the parity bit
1, is five, and therefore odd.
RAID levels that use parity, assign one of the disks in the volume as a parity disk where the parity information is stored. Should a disk failure occur, the parity information can be used to recover the lost data from the failed disks?
Understanding all the levels and combinations of RAID is beyond the scope of this course, but you should now have a good idea of why RAID is used in data center storage.