Understanding RAID 5 Recovery
RAID 5 was developed because servers needed to quickly access and store large amounts of data safely. The term RAID stands for Redundant Array of Independent (or Inexpensive) Drives. RAID 5 is by far the most popular form of RAID in use, and the flavor of RAID we are discussing here. As the name implies, RAID is a method of joining multiple hard drives together to form one large very fast virtual disk drive AND it’s designed so if any one hard drive fails, the integrity of the data will remain intact. This is accomplished by using one drive or stripe, for parity.
Here is a simple illustration of how it works showing the truth table for 2 bits of data and the corresponding parity bits (yes it’s a simple exclusive OR gate for you geeks out there). It shows what the parity bit would be for each unique combination of data bits. Parity is 0 if the two data bits are the same. Parity is 1 if the two data bits are not the same.
|Data bit 1||Data bit 2||Parity bit|
For example, let us say that data bit 2 was unreadable, but you know that data bit 1 is a 0 and the parity bit is a 1. Using the table we can see that the unreadable bit 2 must have been a 1. This simple but effective method is the same technique used in RAID but on a much larger scale.
RAID configurations are found in a lot of products that you would not expect; including some low end consumer products. For instance, it has been quite common for manufactures to combine two 500GB hard drives in a RAID 0 configuration to create a 1TB external USB box.
RAID configurations are found inside most NAS or Network Attached Storage boxes as well as within SAN or Storage Attached Networks. In fact, SAN has been described as simply a RAID with a Fibre-Channel network connection while NAS has been described as a RAID with an Ethernet network connection.
As mentioned earlier, there are many different levels of RAID and below is a brief description of each.
- RAID Level 0 – Data is striped in set block sizes across multiple hard drives with no parity. Access speed is increased over a single disk drive, but this is not really a RAID in our opinion as there is no redundancy or built in method of recovering the data if a single drive fails. RAID 0 is mainly used for joining 2 smaller drives to appear as 1 larger drive.
- RAID Level 1 – Each data drive is being simultaneously mirrored to another data drive ensuring an exact image is always available. This provides redundancy and faster speeds when reading
data, but requires double the storage volume.
- RAID Level 2 – Data is striped at the bit level and uses ECC type correction methods for recreating lost data.
- RAID Level 3– Data is striped in bytes across multiple drives with one dedicated parity drive. It is seldom used.
- RAID Level 4 – Data is striped in set block sizes across multiple drives with one dedicated parity drive. This method is quite common but the need to constantly update the one dedicated parity drive can become a bottleneck.
- RAID Level 5 – Data is striped in set block sizes across multiple drives with distributed parity (parity distributed equally across all drives in the array). By providing an excellent blend of speed, safety and capacity, RAID 5 has become the most implemented format of RAID today.
- RAID Level 6 – Very similar to RAID 5 but uses two parity drives which allows the recovery from the simultaneous failure of two hard drives. Access speed is diminished somewhat. This format is rare.
- RAID Level 7 – An improved version of RAID using a dedicated parity drive similar to RAID levels 3 or 4 BUT with caching to get around the bottleneck created by dedicated parity drives. This particular RAID level is proprietary to Storage Computer Corporation and is not an industry standard.
- Nested RAID Level 0+1 or 01 – Fittingly referred to as a Mirror of Stripes, this is basically a RAID 1 implemented with two RAID 0 striped sets (instead of 2 actual hard drives). Simply said, the RAID keeps an exact copy of a striped set.
- Nested RAID Level 1+0 or 10 – Similar as above but reversed in which RAID level is the 1st building block, this Stripe of Mirrors is a RAID 0 or striped set implemented across mirrored RAID 1 sets of drives.