RAID Hardware and Software Technology Guide
Server Reliability Through RAID
RAID stands for Redundant Arrays of Independent Disks. In practical terms (to our business customers) RAID refers to the level of reliability built into a Server in terms of protecting data should one or more hard disks fail. The trade off is expenditure versus the level of data protection and possible down time. Basic RAID systems offer some level of data protection but do not facilitate replacement of faulty hard drives without having to power down the Server. Higher level RAID systems provide more redundancy and also can eliminate any down time.
RAID 1 & RAID 2
RAID 1 simply provides simultaneous copies of the data written to the hard drives by 'mirroring'. Disk drives in the array are divided into two groups. When data is written to one disk, it is simultaneously written to a 'mirror' disk drive, providing protection against drive failure.
RAID 2 enhances RAID I mirroring by verifying that disk writes are accurate. This is done by detecting errors as information is written by using an algorith called the Hamming Error Correction Code.
RAID 3 & RAID 4
RAID 3 provides redundancy through a process known as byte striping. Data is striped across all disks in the array, rather than being written to a single disk platter, and parity information that can be used to reconstruct the stripe is written to a parity disk. This speeds up the write process found in RAID I and yields better performance and data throughput.
RAID 4 is similar to RAID 3, but uses a larger stripe width (two blocks instead of one) to support the requirements of short, transaction-oriented writes, rather than longer files requiring sequential block storage. In terms of data reads, RAID 4 is fast and better suited to read-intensive database applications. Parity writing, however, is a potential bottleneck.
RAID 5 eliminates the parity drive bottleneck in RAID 4. Instead, parity block information is distributed on the same disks used to hold striped data. Parity information is written to a data disk that does not hold a file's striped data so that a loss of a striped disk will not result in the loss of parity information that can be used to recover the contents of the stripe.
Many RAID 5 array products from vendors automatically recover data from a failed drive and enable the replacement of physical disk drives while the array continues in operation. Hot swappable drives particularly useful in RAID 5 systems because they can be changed out while the server is powered.
Softrim recommends RAID 5 with three drives and a hot Spare. This approach provides the best level of redundancy and virtually eliminates down time, while being more cost effective than using 5 or more drives.
RAID 0 comprises a collection of striped disks that lack any particular fault tolerant features (e.g., no mirroring, no parity). k is shorthand for a technique that represents the collective disk drives in a JBOD as a single virtual volume to the operating system. RAID 0 utilizes all of the disks in the cabinet to make the virtual volume. In other RAID levels, up to half of the installed drives are used to provide mirrored data or parity information used to restore the other half of the disks (the so-Called "usable storage" of the array) should one or more drives fail.
Software RAID vs. Hardware RAID
Software RAID relies on code installed on the Server to control and configure the storage array as a RAID. Software controlled I/O operations are sent across the SCSI host bus adapter and cable that provided the interconnect with the array. RAID software establishes the volume image of the array, processes the parity of data that was being written to RAID parity disks and performed all of the housekeeping and configuration functions. A shortfall is that RAID software also consumes a lot of processing cycles on the server. For this reason, even though some operating system software products provide software RAID support, RAID is more commonly performed in hardware.
Hardware RAID is implemented in two fundamental topologies. In the first approach, RAID micro-code is written into bus-based RAID adapters that install in the server. More often however, RAID micro-code is embedded on specialized controllers that are tied to the array itself. The selection and use of these controllers varies amongst manufacturers and can have impact on the overall quality of the system.
For more information contact Softrim