RAID Setup Guide: What is RAID?
A redundant array of independent disks, or RAID, is a way of storing the same data in different places (where the term redundant comes from) on multiple hard disks.
There are many ways to use RAID and there are several different types of array. Some use multiple disks to increase performance – think a two or three lane road instead of single, that has to serve traffic going in two directions – while others are used to increase reliability. Additionally, there is a third type of RAID that offer the best of both worlds; all of which we’ve explained below.
A RAID array appears to the operating system to be a single logical drive, regardless of how many individual drives are part of the RAID array. Both hard disks and SSDs can be used, and while it’s advised that matching drives are used in a single array for best performance, it’s not strictly required.
This article focuses on setting up a RAID array with an Intel motherboard for the single user.
What kinds of RAID are there?
I know of 9 different kinds of RAID plus a performance RAID that has no redundancy built into it, however on everything outside of the high-end server environment you’ll only be offered the four main versions: RAID 0, 1, 0+1 and 5. These RAID configurations can and are used independently or in different combinations. Below are the different kinds of a RAID that are used today.
RAID-0: This technique has striping but no redundancy of data. It offers the best performance as data is read/written to both drives simultaneously, but no fault-tolerance so if one drive fails you lose both drives data. Drives are typically added in multiples of two.
RAID-1: This type is also known as disk mirroring and consists of at least two drives that duplicate the storage of data. There is no striping. Read performance is improved since either disk can be read at the same time, meaning if one disk is busy the other is accessed. Write performance is the same as for single disk storage. RAID-1 provides the best performance and the best fault-tolerance in a multi-user system, although for a single user it’s unlikely to see as much benefit. Again drives are typically added in multiples of two.
RAID-2 (non-consumer): This type uses striping across disks with some disks storing error checking and correcting (ECC) information. It has no advantage over RAID-3 and has generally been superseded.
RAID-3 (non-consumer): This type uses striping (RAID 0) but dedicates another drive to storing parity information. The embedded error checking (ECC) information is used to detect errors. Data recovery is accomplished by calculating the exclusive OR (XOR) of the information recorded on the other drives. Since an I/O operation addresses all drives at the same time, RAID-3 cannot overlap I/O, and performance is limited by the single parity disk. For this reason, RAID-3 is best for single-user systems and uses three or more drives.
RAID-4 (non-consumer): This type uses large stripes, which means you can read records from any single drive. This allows you to take advantage of overlapped I/O for read operations. However since all write operations have to update the parity drive, no write I/O overlapping is possible. Thus, RAID-4 is not much different to RAID-3 and offers no advantage over the more common RAID-5.
RAID-5: This type includes a rotating parity array, thus addressing the write limitation in RAID-4. That means all read and write operations can be overlapped. RAID-5 stores parity information but not redundant data (but parity information can be used to reconstruct data if a single drive fails). RAID-5 requires at least three and usually five disks for the array. It’s best for systems in which performance is not so critical or which do few write operations.
RAID-6 (non-consumer): This type is similar to RAID-5 but includes a second parity scheme that is distributed across different drives and thus offers higher fault- and drive-failure tolerance (up to two drives can fail simultaneously).
RAID-7 (non-consumer): This type includes a real-time embedded operating system as a controller, caching via a high-speed bus, and other characteristics of a stand-alone computer. Currently only one vendor offers this specialist and expensive system.
RAID-10: Combining RAID-0 and RAID-1 is often referred to as RAID-10, which offers higher performance than RAID-1 but at much higher cost as it requires a minimum of four disks. There are two subtypes: In RAID-0+1, data is organized as stripes across multiple disks, and then the striped disk sets are mirrored. In RAID-1+0, the data is mirrored and the mirrors are striped.
RAID-50 (or RAID-5+0) (non-consumer): This type consists of a series of RAID-5 groups and striped in RAID-0 fashion to improve RAID-5 performance without reducing data protection.
RAID-53 (or RAID-5+3) (non-consumer): This type uses striping (in RAID-0 style) for RAID-3′s virtual disk blocks. This offers higher performance than RAID-3 but at much higher cost.
What can I use to build a RAID array?
Today we are spoilt for choice. More commonly used we have SSD drives:
And mechanical (hard disk) drives:
While there is also occasionally ‘hybrid’ combo drives, like the Seagate Momentus XT:
SSD PCIe drives are more exclusively reserved for enterprise and business applications, and often have their own internal RAID construct:
And I have even built a RAID array using RAM, with Acard Technology Solid State units:
Capacity is similarly as varied depending on the type of product you choose: it can range from tens of GB (RAM drives) to 4TB per disk with HDD. The storage industry is moving at such a fast rate, that its innovation continually churns out bigger (HDD) and faster (SSD) drives. However let us return to the question at hand, in short we can use any storage medium that we can connect to our motherboards SATA (or PCIe) ports. Most commonly used are SSD and mechanical hard drives.
For purposes of this article we are going to be using two ADATA 60GB S511 drives. RAID requires that at least two drives be used but the upper limit is dependent on the type of RAID and your hardware’s functional limitations.