Imagine that your Web server recently went down due to a hard-disk failure, and it took several hours to get it up and running again. Your manager has come to you and said that he does not want to see this happen again, even if it means spending some money to upgrade the server for better fault tolerance.
One of the best and most cost-effective solutions to this problem is to utilize RAID. This week, Iâ€™ll take a look at how the levels of RAID technology work. Whether youâ€™re planning fault tolerance or studying for certification exams, this is information you need to know.
RAID: A definition of the technology
RAID is an acronym for Redundant Array of Inexpensive Disks. A research team at the University of California Berkeley, which published a paper defining RAID and the six levels that the technology uses, came up with the term. The technology behind the idea is actually quite simple: By combining an array of small, inexpensive disks, an administrator can store redundant data to provide fault tolerance to a server.
About the levels of RAID
There are six levels of RAID architecture, although one of these levels is actually nonredundant and thus not fault tolerant. They are as follows:
RAID Level 0
This level is also known as striping. Computer data is divided among the available disks, which offers high data throughput but no redundancy. (See Figure A.) Data loss would result upon disk failure. Level 0 can be used for high performance workstations, but it is not intended for mission-critical systems.
RAID Level 1
Level 1 is also known as mirroring. Computer data is divided by writing data to two or more disks, thus allowing for redundancy and data recovery upon disk failure. (See Figure B.) Data in this level tends to be written slowly but can be read quickly.
RAID Level 2
This level of RAID (Figure C) is intended for use with disks that donâ€™t have built-in error detection. Level 2 is of little use for most modern disks, as vendors generally build in error detection.
RAID Level 3
Level 3 stripes data at byte level across multiple disks. (See Figure D.) Parity is stored on a separate disk. To effectively use this level, hardware support must be implemented. It is very similar to Level 4.
RAID Level 4
Level 4 stripes data at the block level across multiple disks. (See Figure E.) Parity is stored on a separate disk. Read levels are comparable to Level 0; however, writes require parity data to be updated each time, slowing down random writes.
RAID Level 5
This level of RAID is comparable to Level 4, but instead of storing parity on a separate disk, it distributes it among the available disks. (See Figure F.) Level 5 increases small write speed, as the parity disk is not a bottleneck. But as parity data must be distributed to all available disks during reads, read performance tends to be slower than Level 4. At least three or more disks (typically five) must be used for this level.
What is striping?
Striping is the method used in RAID to combine all separate disks into a single storage volume. Striping partitions the disks into stripes, in which data is written on in a rotating sequence. Figure G shows an example.
Using RAID for fault tolerance
The RAID levels that are most commonly used for fault tolerance are RAID 1 and RAID 5. RAID 1 has two common variants. The first is the one mentioned above, in which one disk controller manages multiple disks. This is often called disk mirroring. The other option is disk duplexing, in which multiple hard-disk controllers manage multiple hard drives. This increases the write time as well as the read time and ensures that the disk controller is not a single point of failure.
RAID 5 is also very popular for fault tolerant disk management. RAID 5 can involve very large numbers of disks. The more disks you use, the more efficient RAID 5 becomes. RAID 5 is often utilized for large enterprise servers.
This should give you a good start at understanding the different RAID levels. Next week, weâ€™ll take a look at hot swap RAID.