Understanding RAID

RAID Level 6 – RAID Level 6 is much like RAID 5 (striped parity) except instead of one parity block per stripe there are two. With two independent parity blocks, RAID 6 can survive the loss of two disks in the group.

Read performance will be similar to RAID 5 but write performance will be slower since the second block of parity needs to be calculated and written. RAID 6 is not widely adopted today but more and more companies are bringing solutions to market.

The need for RAID 6 came to light as serial ATA (SATA) drives grew in size, but not in performance. SATA drives are usually configured in RAID 5 groups (it does not make sense to mirror 500GB SATA drives since the data is usually a second or third copy and the overhead is excessive).

When a disk fails, they are so large and slow that rebuild times can be very long and a second drive can potentially fail during this period. RAID 6 provides the highest level of protection against drive failures of all the RAID levels, however, its wide-spread acceptance will be based on whether companies will be willing to pay for the extra capacity cost or suffer the performance impact to insure against a relatively rare event of two drives failing simultaneously.

Plaid RAID – With the maturity of hardware-based and software-based RAID and the requirement for increased performance, a new, unofficial RAID level has cropped up: plaid.

There are three places to implement RAID: software, RAID controllers and storage arrays.

Software RAID – RAID implemented on a server by software uses internal drives or external JBOD (just a bunch of disks). The software, usually a logical volume manager, manages all of the mirroring of data or parity calculations.

The overhead associated with the parity calculations can be excessive and may cause applications to run slowly. Software RAID is good for a single server and is not recommended for I/O intensive applications. Software RAID is usually used in conjunction with a storage array to create plaid RAID levels.

RAID Controller – Another way to implement RAID on a server is to use RAID controllers. These are cards that can be added to a server and offload the overhead of RAID from the CPUs.

RAID controllers are a far better solution for a single server than software RAID solutions since server CPUs spend no processing power calculation parity or managing the mirrored data. Like software RAID, RAID controllers use either internal drives or JBOD. A server-based RAID controller can fail and be a single point of failure.

Storage Array – A storage array usually consists of two high-performance, redundant RAID controllers and trays of disks. All pieces of the array are redundant and built to withstand the rigors of a production environment with many servers accessing the storage at the same time. They support multiple RAID levels and different drive types and speeds.

Storage arrays also usually have snapshots, volume copy and the ability to replicate from one array to another. If the servers need high performance, large capacities or superior performance, storage arrays are the right choice.

RAID is a necessary building block for any company’s data protection needs. Without RAID, even a small glitch in a disk drive could cause data loss. Thankfully, with software RAID, server-based RAID controllers and external storage arrays, all companies—from the smallest to the largest—can find a RAID solution to protect their data.

Jim McKinstry is senior systems engineer with the Engenio Storage Group of LSI Logic, an OEM of storage solutions for IBM, TeraData, Sun Microsystems, SGI and others.