For a primer on what RAID is, check out my first blog on the topic. For an introduction to RAID level 1, check on this post.
RAID5 is perhaps the most mentioned level of RAID in server deployments and many seem to think it is the best for all situations. Just what is it though?
RAID5 is "striping with parity". This level of RAID requires a minimum of three disks that are configured together in a single array, presented to the server as single contiguous storage space. Whenever data is written to the array it is striped across the drives. So, part of the file is written to drive 1, then part written to drive 2, etc... After the data is completely written to the array an additional block of data is written - to the next drive - called the parity data. This parity data is calculated based on the other data written and can be used by the server to reconstruct data if one of the drives fails.
[Side note: RAID0 is striping without parity. RAID0 stripes across all the drives in the array but does not write the extra parity data. This is nice and fast but cannot tolerate any failures. A fault in a single drive in the array will cause downtime and complete data loss.]
What are the RAID5 pros and cons?
The good: Since the data is written across three or more disks, it also gets read from three or more disks when it is needed. This can have a substantial impact on data read operations - depending on the number of disks used. The more disks involved in the stripe, the faster the theoretical read performance.
More good: RAID1 has 50% "wasted" (unusable) space. RAID5's "wasted" space will be equivalent to a single drive in the array. So, with three drives you lose 33% of the raw space. With four drives you only lose 25% of the raw space. Etc... Then you have large storage requirements, RAID5 can provide much better space utilization than most of the other RAID options.
The bad: Since a parity block of data needs to be both calculated and written to disk on every write operation, the speed of the complete write is slowed down a bit. In a situation where the application is very write-intensive, RAID5 can be a hindrance. The larger the percentage of writes versus reads, the worse the performance can become (comparatively speaking). Applications that write to disk substantially would be better served by RAID1 or RAID1+0 configurations.
It is not uncommon for customers to come to us with a preconceived idea that they need RAID5 thinking that it is the best RAID level for all situations. In some cases it is, but often it isn't. Working with customers to understand their project and needs to help determine the ideal architecture for them is one of many things that sets ORCSWeb apart from the competition. As part of our combined technical support and customer service focus we work to be sure that the customer benefits from our years of experience supporting Internet projects.
~Brad