This chapter is from the book

Redundant Arrays of Inexpensive Disks (RAID)

To help with data protection and system reliability, there are redundant arrays of inexpensive disks (RAID) that use two or more drives in combination to create a fault tolerance system to protect against physical hard drive failure and to increase hard drive performance. A RAID can be accomplished with either hardware or software and is usually used in network servers. Hardware RAID offers better performance and is transparent to the operating system. However, it costs more to implement because you need a RAID controller. Software RAID is inexpensive and easy to configure because it has no special hardware requirements other than multiple disks.

There are several levels of RAID. The first one is RAID 0. RAID 0 stripes data across all drives. With striping, all available hard drives are combined into a single large virtual file system, with the file system’s blocks arrayed so they are spread evenly across all the drives. For example, if you have three 500MB hard drives, RAID 0 provides for a 1.5GB virtual hard drive. When you store files, they are written across all three drives. When a large file is written, a part of it may be written to the first drive, the next chunk to the second drive, more to the third drive, and perhaps more wrapping back to the first drive to start the sequence again. Unfortunately, with RAID 0 there is no parity control or fault tolerance, so it really is not a true form of RAID. If one drive fails, you lose all data on the array. However, RAID 0 does have several advantages because it has increased performance through load balancing.

A common RAID used in networked PCs and servers is RAID 1, known as disk-mirroring. Disk-mirroring copies a partition onto a second hard drive. As information is written, it is written to both hard drives simultaneously. If one of the hard drives fails, the PC still functions because it can access the other hard drive. You can then replace the failed drive, and data is copied from the remaining good drive to the replaced drive.

NOTE

This book focuses on RAID 0, 1, and 5 because that is the software RAID that is supported by Windows Server 2008. There are other levels of RAID, but RAID 0, 1, and 5 are the most popular and are the only software RAID supported by Windows Server 2008.

Another common RAID is RAID 5 (sometimes referred to as striped volume with parity), which is similar to striping, except one of the hard drives is used for parity (error-correction) to provide fault tolerance. To increase performance, the error-correction is spread across all hard drives in the array to avoid having one drive do all the work in calculating the parity bits. If one drive fails, you still keep working because the missing data can be filled in by doing parity calculations with the remaining drives. When the failed drive is replaced, the missing information is rebuilt. However, if two drives fail, you do loose all data on the array. RAID-5 has better performance than RAID 1. RAID 5 usually requires at least three drives, with more preferable. If you have 3×500GB drives, you will have 2×500GB=1000GB of disk space because one of the drives must be used for parity. If you have 6×500GB drives, you have 5×500GB=2500GB of disk space. RAID can be implemented through the use of a hardware RAID controller or through software. Windows Server 2003 and Windows Server 2008 offers software RAID that supports RAID 0, RAID 1, and RAID 5. Typically, for better performance and reliability, it is recommended that you use hardware RAID.