Redundant arrays of independent disks (RAID) is a system of data storage that uses multiple hard disk drives to store data. A variety of different storage techniques can be used to achieve different levels of redundancy, error recovery and performance.
A redundant array of independent disks (RAID) is a common system for high-volume data storage at the server level. RAID systems use many small-capacity disk drives to store large amounts of data and to provide increased reliability and redundancy. Such an array appears to the computer as a single logical unit consisting of multiple disk drives.
RAID storage can be done in a number of ways. Some RAID types emphasise performance, others reliability, fault tolerance or error correction. Which type you choose depends on what you're trying to accomplish.
Common to all RAID systems, however, and their real advantage, is the "hot-swapping" ability: You can pull out a defective drive and insert a new one in its place. For most RAID types, data on a failed disk can be rebuilt automatically without the server or the system ever having to be shut down.
RAID isn't the only way to protect large amounts of data, but regular backups and mirroring software are slower and often require shutting down the system if a drive fails.
Even if the disk doesn't crash the server, information technology workers would still need to shut down the servers to replace the drive.
RAID instead rebuilds data from the remaining drives using mirrored or parity information, without requiring a shutdown.
The three most common RAID implementations are Levels 0, 3 and 5.
RAID Level 0, data striping, is the most basic model. On a normal hard drive, data is stored on consecutive sectors of the same disk.
RAID 0 uses a minimum of two disk drives and divides data into blocks that range from 512 bytes to several megabytes, which are written alternately to the disks. Segment 1 is written to Disk 1, Segment 2 to Disk 2, and so on. When the system reaches the final drive in the array, it writes to the next available segment of Drive 1, and so forth.
Striping the data distributes the I/O load evenly across all the drives. And since drives can be written to or read from simultaneously, performance increases noticeably. But there's no data protection. If a disk fails, data is lost. RAID 0 isn't for mission-critical environments, but it's well suited to applications such as video production and editing or image editing.
RAID Level 3 includes data striping, but it also assigns one drive to store parity information. This provides some fault tolerance and is especially useful in data-intensive or single-user environments for accessing long sequential records. RAID 3 doesn't overlap I/O, and it requires synchronised-spindle drives to prevent performance degradation with short records.
RAID Level 5 is similar to Level 0, but instead of dividing data into blocks, it stripes the bits of each byte across multiple disks.
This byte-striping adds overhead, but if a drive fails, it can be replaced and the data reconstructed from parity and error-correcting codes. RAID 5 overlaps all read/write operations. It requires three to five disks for the array and is best suited to multi-user systems that don't need critical performance or that do few write operations.
Less common RAID types
RAID Level 1 is disk mirroring - everything written to Disk 1 is also written to Disk 2 and can be read from either disk. This provides instant backup but requires the highest number of disk drives and doesn't improve performance.
Offering the best performance and fault tolerance in a multi-user system, RAID 1 is the easiest configuration to implement, and it works best for accounting, payroll, financial and high-availability data.
RAID Level 2 was developed for mainframes and supercomputers. It corrects data on the fly, but RAID 2 is prone to high error-checking and correcting ratios.
RAID Level 4 includes large stripes so that records can be read from any single drive. It's rarely used because it lacks support for multiple simultaneous write operations.
RAID Level 6 is rarely implemented commercially. It extends RAID 5 using a second parity scheme distributed over different drives.
It can sustain multiple simultaneous drive failures, but performance, especially for write operations, is poor, and the system requires an extremely complex controller.
RAID Level 7, offered only by Storage Computer, includes a real-time embedded operating system as a controller and high-speed bus for caching. It gives fast I/O, but it's expensive.
RAID Level 10 consists of an array of stripes, in which each stripe is a RAID 1 array of drives.
This has the same fault tolerance as RAID 1, and it's aimed at database servers requiring high performance and redundancy without high capacity.
RAID Level 53, the most recent type, is implemented as a Level 0 striped array, in which each segment is a RAID 3 array.
It has the same redundancy and fault tolerance as RAID 3. This could be useful for IT systems needing a RAID 3 configuration with high data-transfer rates, but it's expensive and inefficient.