RAID is an acronym for redundant array of independent (or inexpensive) disks and was designed to improve the fault tolerance and performance of computer storage systems. RAID was first developed at the University of California at Berkeley in 1987, and was designed so that a group of smaller, less expensive drives could be interconnected with special hardware and software to make them appear as a single larger drive to the system. By using multiple drives to act as one drive, increases in fault tolerance and performance could be realized. Initially, RAID was conceived to simply enable all the individual drives in the array to work together as a single, larger drive with the combined storage space of all the individual drives added up. However, this actually reduced reliability and didn't do much for performance, either. For example, if you had four drives connected in an array acting as one drive, you would be four times as likely to experience a drive failure than if you used just a single larger drive. To improve the reliability and performance, the Berkeley scientists proposed six levels (corresponding to different methods) of RAID. These levels provide varying emphasis on either fault tolerance (reliability), storage capacity, performance, or a combination of the three. Although it no longer exists, an organization called the RAID Advisory Board (RAB) was formed in July 1992 to standardize, classify, and educate on the subject of RAID. The RAB developed specifications for RAID, a conformance program for the various RAID levels, and a classification program for RAID hardware. The RAID Advisory Board defined seven standard RAID levels, called RAID 06. RAID typically is implemented by a RAID controller board, although software-only implementations are possible (but not recommended). The levels are as follows:
Additional RAID levels exist that were not supported by the RAID Advisory Board but which are instead custom implementations specific companies have used. Note that a higher number doesn't necessarily mean increased performance or fault tolerance; the numbered order of the RAID levels was entirely arbitrary. At one time virtually all RAID controllers were SCSI based, meaning they used SCSI drives. For a professional setup, SCSI RAID is definitely the best choice because it combines the advantages of RAID with the advantages of SCSIan interface that already was designed to support multiple drives. Now, however, ATA RAID controllers are available that allow for even less expensive RAID implementations. These ATA RAID controllers typically are used in single-user systems for performance rather than reliability increases. Most ATA RAID implementations are much simpler than the professional SCSI RAID adapters used on network file servers. ATA RAID is designed more for the individual who is seeking performance or simple drive mirroring for redundancy. When set up for performance, ATA RAID adapters run RAID Level 0, which incorporates data striping. Unfortunately, RAID 0 also sacrifices reliability such that if one drive fails, all data is lost. With RAID 0, performance scales up with the number of drives you add in the array. If you use four drives, you won't necessarily have four times the performance of a single drive, but it can be close to that for sustained transfers. Some overhead is still involved in the controller performing the striping and issues still exist with latencythat is, how long it takes to find the databut performance will be higher than any single drive can normally achieve. When set up for reliability, ATA RAID adapters generally run RAID Level 1, which is simple drive mirroring. All data written to one drive is written to the other. If one drive fails, the system can continue to work on the other drive. Unfortunately, this does not increase performance at all, and it also means you get to use only half of the available drive capacity. In other words, you must install two drives, but you get to use only one (the other is the mirror). However, in an era of high capacities and low drive prices, this is not a significant issue. If you want to eliminate a lot of bulky cabling, consider Serial ATA RAID, which uses the narrow Serial ATA cables shown earlier in this chapter. Combining performance with fault tolerance requires using one of the other RAID levels, such as 3 or 5. For example, virtually all professional RAID controllers used in network file servers are designed to use RAID Level 5. Controllers that implement RAID Level 5 are more expensive, and at least three drives must be connected. To improve reliability, but at a lower cost, many of the ATA RAID controllers enable combinations of the RAID levelssuch as 0 and 1 combined. This usually requires four drives, two of which are striped together in a RAID Level 0 arrangement, which is then redundantly written to a second set of two drives in a RAID Level 1 arrangement. This enables you to have approximately double the performance of a single drive, and you have a backup set should one of the primary sets fail. Today, you can get parallel or Serial ATA RAID controllers from companies such as Arco Computer Products, Iwill, Promise Technology, HighPoint, and more. A typical low-cost ATA RAID controller enables up to four drives to be attached, and you can run them in RAID Level 0, 1, or 0+1 mode. Remember that performance suffers somewhat when running two drives (master/slave) on a single parallel ATA channel because only one drive can transfer on the cable at a time, which cuts performance in half. Four-channel parallel ATA RAID cards are available, but most new RAID cards are moving to Serial ATA, which doesn't have the master/slave channel sharing problems of parallel ATA. Serial ATA RAID cards use a separate Serial ATA data channel (cable) for each drive, allowing maximum performance. I recommend Serial ATA RAID cards for best performance. If you are looking for an ATA RAID controller (or a motherboard with an integrated ATA RAID controller), things to look for include
If you want to experiment with RAID inexpensively, you can implement RAID without a custom controller when using certain higher-end (often server-based) operating systems. For example, Windows NT/2000 and XP or Server 2003 operating systems provide a software implementation for RAID using both striping and mirroring. In these operating systems, the Disk Administrator tool is used to set up and control the RAID functions, as well as to reconstruct the volume when a failure has occurred. Normally, though, if you are building a server in which the ultimate in performance and reliability is desired, you should look for Serial ATA or SCSI RAID controllers that support RAID Level 3 or 5. |