How to Setup a RAID System

About RAID

RAID stands for Redundant Array of Independent Disks and with at least two hard disk drives you can setup them as a RAID array in order to increase the disk performance or to improve data reliability. In this tutorial we will teach you how to setup a RAID system on your PC.
As mentioned, there are two ideas behind RAID: performance (a.k.a. RAID0) and reliability (a.k.a. RAID1).
RAID0, also known as data striping, is set when you want to improve your disk performance. It works by dividing the files to be written on disk into several chunks (called stripes) and saving each chunk on a different drive. For example, if you have a 200 KB file and two hard disk drives, it will be cut into two 100 KB chunks and each chunk will be saved on a different hard disk drive.
This is a very summarized explanation; in reality each stripe must be a power of two and is configured when you setup the RAID system. If your RAID system uses 128 KB stripes, it would divide our 200 KB file into two 128 KB chunks (the rest of each stripe, 28 KB, would be left empty). If our system were using 32 KB stripes, our 200 KB file would be divided into eight 32 KB chunks, and the system would send four chunks to each hard disk drive.
But how this improves performance? In the example we gave, instead of storing one 200 KB file, each hard disk drive will store a 100 KB file. The time spent storing a 100 KB file is theoretically half the time spent storing a 200 KB file. Basically what we do on RAID0 is to put the hard disk drives to work in parallel.
The total disk capacity on a RAID0 system is the sum of the total capacity of the two hard disk drives. So if we use two 80 GB hard disk drives, our disk system will have 160 GB capacity. You can even create “partitions” on your RAID system, so you can have more than one “disk” on your system.
So if you want to build a high-performance system, consider buying two disk drives with smaller capacity and configuring them as a RAID0 system instead of buying one high-capacity hard disk drive.
If you are thinking of having two drives just to separate data (e.g., one drive for operating system and programs and the other for data like documents), go ahead and assemble a RAID system, as, like we mentioned, you can create “partitions” on your RAID system (keep in mind, however, that you cannot remove one of the drives and install it on another computer expecting to read its contents like you would do normally – it won’t work).
In Figure 1 we summarized how RAID0 works.

Figure 1: How RAID0 (data striping) works.

RAID1, on the other hand, does not improve performance, but is targeted to improve the data reliability of your PC. It works by copying everything that is sent to the first hard disk drive to the second, and that is why it is also known as mirroring. Consider RAID1 as a hardware-based backup system. If the first hard disk drive fails, the second one takes its place immediately.
Since the second disk drive is a backup disk, the total disk capacity on a RAID1 system is the capacity of the first disk drive only. So if you have two 80 GB hard disk drives configured as RAID1, the total disk capacity will be 80 GB.
If you are concerned with data reliability, RAID1 is the way to go.
In Figure 2 we summarized how RAID1 works.


              Figure 2: How RAID1 (data mirroring) works.

There are other RAID configurations as well, but not all RAID controllers support them (all controllers support at least RAID0 and RAID1). Here is a small summary of other common RAID systems your RAID controller may support:
  • RAID0+1: It is a system using RAID0 and RAID1 at the same time. It needs four identical hard disk drives. If one of the hard disk drive fails, the system becomes a RAID0 system (data striping).
  • RAID10: It is a system using RAID0 and RAID1 at the same time. It needs four identical hard disk drives. If one of the hard disk drive fails, the system becomes a RAID1 system (mirroring).
  • RAID5: It is a RAID0 system storing parity information for better reliability. It needs at least three identical hard disk drives. On a three-drive system the total capacity will be the size of each hard disk drive times two (and not three) – for example, if three 80 GB drives are used, the total disk capacity will be of 160 GB, as the rest of disk space is used to store parity information.
  • JBOD: Stands for “Just a Bunch of Disks” and isn’t a RAID system, as it doesn’t improve disk performance or disk reliability. It is used to join two drives with different capacities as if they were a single drive. For example, you can use JBOD to add a 40 GB hard disk drive to an 80 GB hard disk drive to appear as a single 120 GB to the system.

    Requirements

In order to have a RAID system on your PC you will need two things: a RAID controller and at least two identical hard disk drives. If you want to setup a system different from RAID0 or RAID1 more hard disk drives may be necessary, as we explained in the previous page. On this tutorial we are assuming that you are going to build a RAID0 or a RAID 1 system, so we will assume a system with two hard disk drives from now on.
Nowadays several motherboards come already with an embedded RAID controller, making it very easy to setup a RAID system: all you will need is two identical hard disk drives (if your motherboard has RAID capability, of course).
So the first thing you need to check is whether your motherboard has an embedded RAID controller or not. This can be seen on the manual of your motherboard. The motherboard chipset – the south bridge chip (which is also known as ICH, I/O Controller Hub, on Intel chipsets) to be more exact – is in charge of controlling the hard disk ports of your motherboard. So the south bridge chip of your motherboard needs to have an embedded RAID controller. On Intel chipsets, this chip needs to have the letter “R” in order to have this feature. For instance, ICH7 chip does not have RAID feature, while ICH7R does. The same thing may happen with chipsets from other suppliers. For example, VIA VT8237R has RAID function while VT8237 doesn’t.
Some manufacturers call RAID function with a fancier name, like “Intel Matrix Storage” or “NVIDIA MediaShield Storage”. At the end is all the same thing.
Many motherboards have an extra chip providing more hard disk drive ports, usually from companies like SiliconImage, JMicron, Marvell, Promise and HighPoint, just to name the most common ones. Usually this extra chip has an embedded RAID controller. So if your motherboard chipset does not provide RAID function but your motherboard has an extra chip that does, you will need to install your hard disk drives to the ports attached to this chip instead of using the hard disk drive ports attached to the south bridge chip.
In Figure 3, you can see the detail of Intel D975XBX2 motherboard that we will be using on this tutorial. This motherboard has a total of eight SATA-300 ports, four controlled by the chipset (Intel 975XBX, using ICH7R south bridge) and four controlled by Marvell 88SE6145 chip. Both chips have an embedded RAID controller, but if the chipset was using a different south bridge chip (ICH7, for example) we could still use RAID, as the extra four SATA-300 ports have this feature.

Figure 3: SATA ports found on Intel D975XBX2 motherboard.

In situations like the one shown in Figure 3 – two RAID-enabled chips on the motherboard – the hard disk drives must be installed on the same port group. As you can see, Intel used black color on the ports connected to the chipset and blue color on the ports connected to the extra chip. So your two hard disk drives must be installed on ports with the same color. As the motherboard chipset supports RAID, we prefer to use the ports that are connected to the chipset (black ports on this example).
If your motherboard doesn’t have a RAID chip, you still can use a RAID system by buying an add-on RAID controller.

Physical Installation

The RAID installation process is divided into three parts:
  • Physical installation, where you install the hard disk drives on your PC in such a way they will be able to be used as a RAID system;
  • RAID configuration, where you setup the system to use the two hard disk drives as a RAID array.
  • Operating system installation, where you need to install the operating system loading a special driver in order to recognize your RAID array.
It is very important to notice that setting up a RAID system deletes all data inside your hard disk drives. So make a backup of all your data before continuing, if your hard disk drives have important data inside.
The physical installation is pretty straightforward: install your hard disk drives to your case, connect a power supply plug on each hard disk drive and connect each hard disk drive to the appropriate hard disk drive port on the motherboard (if your motherboard doesn’t support RAID you will need to buy a RAID controller card and install your hard disk drives to it). Of course this procedure must be done with your computer turned off.
On the pictures below we removed the system from the case for clearer pictures. On this tutorial we are using an Intel D975XBX2 motherboard and two Samsung HD080HJ hard disk drives (80 GB, SATA-300).
It is important to use ports that can deliver the maximum performance your hard disk drive is able to reach. There are two main hard disk interface standards, parallel ATA (PATA or simply IDE) and Serial ATA (SATA). PATA ports are fading away, with SATA ports being the standard today. If you are assembling a new system, do not use parallel ATA hard disk drives.
Parallel ATA can be found in two speeds, ATA/100 and ATA/133. Of course the best scenario if you are still using this kind of hard disk drive is to use ATA/133 drives together with ATA/133 ports. For the best performance you need to install each hard disk drive on a separated port, each one configured as “master” and using its own 80-wire cable. Do not install them on the same cable using master/slave configuration as this reduces performance. Unfortunately newer motherboards usually don’t have more than one parallel ATA port, making it a very bad choice to use parallel ATA hard disk drives.
Don’t forget that the parallel ATA ports must support RAID, of course. The parallel ATA ports shown in Figure 4 are not the ones controlled by the chipset, but two extra IDE ports provided by an extra chip, supporting RAID.

Figure 4: The correct way of connecting PATA hard disk drives.

Since parallel ATA is fading away, we are going to focus on Serial ATA.
Serial ATA can also be found in two speeds, SATA-150 (a.k.a. 1.5 Gbps) and SATA-300 (a.k.a. 3 Gbps). The best performance can be achieved with SATA-300 ports and SATA-300 hard disk drives.
The installation is pretty easy. Connect one SATA cable to each hard disk drive and connect one SATA power cable to each hard disk drive (if your power supply doesn’t have SATA power cables, SATA hard disk drives come with an adapter that converts the standard peripheral power plug into a SATA power plug).

Figure 5: Our two SATA hard disk drives with their cables installed.

Then install the other end of each cable to an available SATA port on your motherboard. For better organization, use the lowest numbered ports. For example, on our motherboard the four ports controlled by the ICH6R south bridge were labeled SATA0, SATA1, SATA2 and SATA3. We used SATA0 and SATA1 ports. Remember that you must install the cables to ports that support RAID (see previous page for a detailed discussion on this subject).

Figure 6: Installing the cables on the motherboard.

Now you will need to set up the hard disk drives as a RAID array.


RAID Configuration


After the physical installation your hard disk drives will operate as two separated hard disk drives. So you need to configure them as a RAID system. The exact procedure and option names vary a little bit depending on the motherboard you have.
If you are using the hard disk ports controlled by the chipset, you need to enter first on the motherboard setup and configure them as “RAID” instead of “IDE”. Under “IDE” configuration they work as normal IDE ports, while under “RAID” configuration you can enable them to work as a RAID system. In fact, if you don’t change this configuration the system won’t show you the RAID configuration screen during the POST, preventing you from setting up your RAID system.
So enter the motherboard setup (by pressing Del right after you turn on your PC) and change this option. On our motherboard this option was available at Advanced, Drive Configuration, “Configure SATA As”. The exact path and option name vary depending on the motherboard manufacturer.

                      Figure 7: Enabling the motherboard ports to work under RAID configuration.

After changing this configuration, you need to save the changes and exit.


RAID configuration is made by pressing a set of keys during the POST (Power-On Self Test), which is that series of text-mode messages that appear when you turn on your PC before it starts loading your operating system. This set of keys varies depending on the RAID chip manufacturer. Usually is Control together with the first letter of the manufacturer name. For example, for Intel is Control I, for Marvell is Control M, for SiliconImage is Control S, for JMicron is Control J and so on.


This set of keys should be pressed while a RAID configuration screen is shown during POST. Since our motherboard has two RAID chips, two screens like this are shown, one for configuring the RAID provided by the Intel chipset and another for configuring the RAID provided by Marvell 88SE6145 chip.
As we connected our two hard disk drives on the ports controlled by the chipset, the screen pictured in Figure 9 was shown. As you can see, no RAID is configured (the phrase “None defined” appears under “RAID Volume”, and the two hard disk drives are identified as “Non-RAID Disk”). So you need to press Control I while this screen is shown in order to configure your RAID system.

                                                                                       
                                 Figure 9: RAID configuration screen during POST (Intel chipset).

Intel RAID configuration utility main menu is shown in Figure 11. This screen will show up after you press Control I while the text shown in Figure 9 appears after you turn on your computer.

                                                     Figure 11: RAID configuration utility.

All RAID utilities are very similar and very easy to use. In our example the main screen shows information about the hard disk  drives and presents four options. Select the first one, Create RAID Volume, to setup your RAID system. The screen shown in Figure 12 will be shown.

                                                       Figure 12: Creating your RAID system.

Here you will have to configure:
  • Volume Name: The name under which your operating system will access your RAID system.
  • RAID Level: The RAID type you want, RAID0 (data striping, for improving performance) or RAID1 (mirroring, for improving reliability). Other RAID types will be available depending on the RAID chip you have.
  • Disks: For selecting the disks you want to include in this RAID array.
  • Strip size: This is the size of the data chunks your RAID system will use. Roughly speaking, this is like the size of each “sector” your hard disk drive will use. The ideal size is subject of a lot of debate. Generally speaking, bigger stripes are better if you work with big files, while smaller stripes are better if you work with small files. If you don’t have a clue on what value to use, leave it on its default size (usually 64 KB or 128 KB). 
  • Capacity: Here you can configure a lower capacity in order to create more than one RAID volume (like if you were “partitioning” your RAID array, i.e., creating two or more “RAID drives”). For example, instead of having just one 160 GB array we could configure one 100 GB array and another with 50 GB, so the operating system will recognize them as separated disks, even though both will be using the RAID system.
After hitting “Create Volume” a confirmation screen will be shown, remembering that all your data will be lost. Hit “Y” and your RAID will be created.

                                                          Figure 13: Confirmation screen.

                                      Figure 14: Main menu, now with our RAID array created.

You can see our RAID array created in Figure 14. As you can see we created a RAID0 (striping) system.
Now that our RAID system is created, you will need to install the operating system. This is the trickiest part of the RAID setup process.

0 comments: