* A RAID primer
There are many levels of IT hell. Surely, one of the worst of those involves coping with the looming torture of RAID 5.
RAID has been with us for more than 20 years, and during that time has saved the corporate bacon for many an admin. RAID is a splendid thing when it works but when it fails, depending on the circumstances, the result may be anything from an inconvenience to a disaster.
Most of us are familiar with RAID 0 (data striping) and RAID 1 (mirroring). The first provides enhanced read performance but has no protection against data loss and is awkward to scale due to the need to re-stripe whenever capacity is added; the second protects data, but at the expense of reduced write performance and, of course, the necessity of buying twice as much disk capacity to support the mirrors.
RAID 0 and RAID 1 – sometimes used in the same RAID set (RAID 10) – have typically appealed to managers using less expensive systems.
The preferred alternative when it comes to first-tier storage with high performance disks has been RAID 5. But we have now arrived at the point where we ought to ask ourselves if RAID 5 continues to be a good choice for first tier data.
RAID 5 stripes data and distributes parity information (used for error correction) across all drives within the array. This yields most of the read performance advantages of RAID 0, but comes at the expense of slower writes due to the parity calculations that accompany each write operation. Like RAID 0, adding more disks to the array involves parity recalculation and imposes a significant performance penalty.
Beyond that, with RAID 5 we find that one high-risk element is added. When a second drive fails, the consequence is always catastrophic data loss.
As a result, replacing failed RAID 5 drives immediately is crucial and hot spares are often kept on hand so that rebuilds can begin right away. The expense of owning a spare Fibre Channel or SCSI drive, admittedly costly, is pretty easy to swallow compared to the potential disaster of losing access to high performance, online data.
Unfortunately, the need to re-stripe the parity imposes essentially the same calculation penalty on a system as would a simple expansion of the array. While all that calculation is taking place, system performance degrades markedly, frequently degrading things so much that I/O performance during the rebuild renders the system unusable. If you’ve never been through a RAID 5-rebuild process while users continue to access the system, you can capture the flavor of it by using a demanding application at the same time as your system is running a backup.
Have a good book handy.
Performance penalties during rebuilds have always been part of the price of using RAID 5, but we may be getting to the point where that price has gotten to be too high. With small disks, performance during rebuilds was certainly exasperating, but at least it was a relatively short-lived problem. As systems get larger however, the situation becomes radically different, and not in a good way.
Next time, I’ll show you why.




