RAID for Rookies
Published: 6th February 2013 | Source: OC3D | Price: |
Before World of Warcraft fans get excited, this isn't about leading a group of Leeroy Jenkins's. Instead, without further ado, we will cover the most fundamental levels of RAID schemes - RAID 0, RAID 1, RAID1+0, RAID 5 and RAID 6.
RAID 0, otherwise known as a Striping Array, is easily remembered as an all-or-nothing RAID, built purely for performance. At its simplest definition, it splits up data into 'blocks' - these are distributed between the hard-disk drives in the array as equally as possible. This allows larger data files to be processed faster as the individual hard-disk drives operated read/write in unison. Ultimately, this allows the combining of their respective blocks to form the complete data file far quicker than the file could be sought from a standard single hard-disk drive.
On the flip-side, RAID 0 offers no redundancy. This means that if one drive errors, loses integrity or fails, the entire RAID setup is virtually impossible to salvage - hence, the data stored on the RAID 0 setup will be forfeit. Therefore, it could be possible to liken a RAID 0 setup to a fast single hard-disk drive; you have performance but no data parity.
RAID 1, is the antithesis of RAID 0. It is typically consisting of two hard-disk drives which operate in unison, with the key difference being that they are exact sector-by-sector mirror of each other. This offers no performance advantage, but in the event of a hard-disk drive failure, you can run off just the one remaining hard-disk drive. They typically operate by a read request being fulfilled by one drive; yet write requests being fulfilled by both. Wear-levelling has been known to be employed to share the read requests between drives to lengthen the lifespan of the RAID setup before failure.
RAID1+0 (or otherwise known as RAID10) combines the elements of RAID0 and RAID1. That is, it consists of a striped RAID 0 setup which is made of a mirrored RAID (1). This is sometimes deemed a suitable RAID setup for a compromise between speed and redundancy of data, however, in the event of a drive failure, the striped element of the RAID will not be able to operate at original speed – thereby taking a noticeable performance hit over the full array’ speed. The mirrored element of this array allows a failed drive to be replaced and the array restored to original operational integrity, thereby allowing the array to be rebuilt with minimal difficulty.
Around-about this point, you may think that all possible beneficial setups for RAID have been established; you'd be incorrect however...
RAID 5 is similar to RAID1+0 in that it has both striping (for performance) and redundancy, however, it differs in the method of its redundancy. Instead of traditional mirroring of stripes, it will distribute the stripes across all bar-one of the hard-disk drives in the array - the final drive will be used to store the data parity - essentially a copy of the data in its entirety. This might not sound too amazing if you are thinking that the data parity is retained on just one disk drive in the array, however, the RAID5 setup distributes the parity logically, and equally, across all drives, best displayed in the following diagram:
RAID5 - simplified. Maybe...
As if RAID5 couldn't be improved upon further, an additional array, RAID6, was created.
RAID6 caters for an additional parity (essentially a mirrored parity) being incorporated into the array. This allowed for up to two hard-disk drives in the array to fail before the array would become 'at risk'; thereby offering the greatest array stability and recovery whilst still offering performance through striping.