Monday, January 12, 2009

Desktop RAID-1 Mirrors

This article describes how to build an Intel RAID-1 Array and it assumes basic hardware knowledge. Adding a RAID array is surprisingly easy. See the bottom of this article for common questions and answers. This is a lengthy and detailed article.

Related Article: RAID Volume Rebuild

Contents:
  • Who can Raid? Requirements
  • What it protects and what it does not
  • Installing Hardware
  • Building the Array (software method)
  • Building the Array in BIOS (hardware method)
  • Testing the Raid
  • Performance Improvements
  • Questions and Answers
  • Does the Raid Survive a Windows 7 upgrade? Yes. With no work on your part.

Consider RAID on Your Desktop

Imagine you had a computer that could write to two hard disks at the same time – every time you saved a file or installed a program, it could write to both. If one disk failed, the other would keep running without data loss or interruption. Except for a system-tray notification, you would never know the drive died. This is exactly what a RAID (R
edundant Array of Inexpensive Disks) controller does and the process is called "mirroring." This article discuss how to add a RAID array to your desktop computer.
As exotic as this sounds, RAID is available on nearly every machine, even those of us with older computers. (Laptops, to my knowledge, do not have RAID, for no other reason than they don't have room for a second hard disk.) With falling hard drive prices, RAID is inexpensive – costing only about $70 to $90 for a second hard disk; you probably already have everything else needed. If you think this doesn't apply to your machine, consider this: even the lowest-cost Dell desktop computers have a RAID controller on the motherboard.


To make this work, you need a second hard disk the same size or larger than your existing drive and a motherboard that supports RAID. The RAID controller is probably already in the computer and most have shipped with RAID for the past seve
ral years. Check your system documentation or the vendor's website (or snoop around in the BIOS) if you don't know.
These steps assume you have a bootable computer with the operating system already installed. If you are installing the RAID and the OS from scratch, see this Intel article: Installing an OS onto a RAID Volume.

RAID Does Not Protect All Failures:

RAID only protects you against mechanical hard-disk failures and they are not the end-all for data-protection. Keep in mind that if one d
isk writes something, the other follows. This means botched installs and deleted files are not recoverable by the RAID. But for mechanical failures, even with today's reliable hardware, this is an inexpensive safety feature.

Types of Raid:

When looking at your computer's RAID controller, you will find several different types of RAID:
RAID-0 "Striping - Spanning" (not recommended)
RAID-1 "Mirroring" (this article)
RAID-5 "Parity" (requires three identical drives)

RAID-0, also called "Stripping," is where two hard drives are electronically joined together to form one larger volume; thus, two 250G disks
become one 500G C: drive. While this has uses, data-redundancy is not one of them. RAID-5 uses three (or more) identical hard disks to mirror the data but this is beyond the scope of this article. This article only considers RAID-1 -- where one drive is a mirror of the other.
Before starting, you will also need a backup utility. If you have Acronis, Ghost, or the backup utility that came with an external USB disk, then you have what you need. Be sure your backup is an "image" and not a file-by-file backup and be sure the Emergency Recovery Disk that came with the backup utility works. You may or may not need this backup, depending on which of the two methods described below are used. In any case, the backup is good insurance in case something goes wrong.

Building a RAID Array:


Expect to spend about 15 minutes installing the hardware and building the array, plus the time it takes to restore your backup or transfer the data to the array. The process is fairly simple, especially if you are using SATA hard drives.

When building the array, you can build it in hardware (BIOS), without software, or you can use Intel's "Matrix Storage Console" (which is a utility, not a driver). Regardless of which method, the underlying RAID array is controlled at the hardware level and this is what you want. This is a good time to interject this thought: Windows XP
also came with software-RAID driver, called "Dynamic Disks." Software RAID is inherently risky and should never be used.

If you build the array in BIOS, all data on both hard disks is destroyed when the array is built; a restore from backup is required. The benefits of this method is in speed: the array will build faster than the software method, even counting the restore, but the restore is a pain and there are risks if the restore fails.



If you use Intel's Matrix Storage Console (software), you can build the mirror without losing your data (no need to restore a backup). Note: Since this article was orginally written, Intel renamed this utility to "Intel Rapid Storage." The drawback is it will take longer to build and you have to install a small software utility. This is my recommended method. Both the BIOS and Software methods are described below.

Prerequisites for building a RAID Array:

A. An Image Backup of your existing system is recommended or required.
Building a RAID array can be risky, especially if you make a mistake in a menu. Because of this, I recommend a current image-backup of your system. If you are using the BIOS-method (hardware) for building the array, a backup is required.

B. Make sure the "Emergency Recovery CD" that c
ame with your backup software works and it can see your most recent backup. I also recommend making a drag-and-drop backup of your data, just to be safe. (See this article for ways to speed up your backups Disk Cleanup Steps)

C. Install the new hard-drive(s).

Your existing bootable system disk is probably connected on SATA Port 0. Connect the new mirror drive on SATA Port 1 (the ports are silkscreened on the motherboard as "SATA-0", "SATA-1").


If you are building the array in hardware, a third hard-drive makes the process faster. In my case, I was lucky: I replaced my old hard disk with two new drives. With this, I was able to install new drives in Port-0 and-1 and I used Port-2 (3) for my origin
al disk. I then made a disk-to-disk clone from the old to the new. If you are using the Software method, a third drive will not help with the array build.

(With SATA, connect the thin USB-like cable and the power cable. There are no Master-Slave switches or cable-positions to be concerned with. For the power, use the newer-style connector, if available, or th
e older AT-Style, never both).

D. In BIOS, enable the Raid Controller.

Boot the PC and enter the BIOS hardware menus (Cold boot the computer and press F10 or F12). Once in the BIOS, enable the RAID controller. This step varies by motherboard manufacturer and by model but should be easy to figure out. On my Intel Motherboard, the setting was called "Configure SATA as [RAID]".


BUILDING THE ARRAY:


Continue with the next steps, choosing either the hardware or the software method; both are described below. If you have troubles building the array in software, consider the Hardware method, which is nearly fool-proof.


Using the Software Method (recommended):

1. Confirm the pre-requisites above
including enabling the BIOS, installing the extra hard drives and a current emergency-in-case-you-mess-up backup.

If the hardware and BIOS are setup properly, you will see Intel's "Press Ctrl-I" when cold-booting the computer.


Click image for a larger view; click right-x to return

With the software method, a cold-boot will show the same Ctrl-I menu but you will not use this screen to build the array. It does, however, indicate you have the hardware and BIOS set properly.


2. Install Intel's Matrix Storage Console (now called Intel Rapid Storage Technology Driver) software.

From within Windows, install Intel's "Matrix Storage Console" software. This is a free program provided by your computer manufacturer or you can get it directly from Intel. I recommend downloading the latest version from Intel's site here.

When installing, follow Intel's default recommendations. (With other motherboard vendors, use their console software and follow their instructions. The steps will be similar.)

3. Login to Windows as an administrator and laun
ch Intel's Storage Manager software.

a. Select top menu choice:

Actions, "Create RAID Volume From Existing Hard Drive."
Type a Volume Name: (e.g. "SysRAID")
Choose RAID Level 1
Accept the default Strip Size (64K)



(Click illustration for lager view; click Back to return)

b. When prompted for the Source Hard Drive

Choose Port-0
Click the arrow to move the entry to the other side.
Do not move the second drive yet.

Be careful here; choose your existing system (boot) drive as the source. If you blunder and go the other direction, you will copy a blank, non-bootable drive over the top of your real data. This is where a backup might come in handy.


c. Select the Second drive.

On the next screen you will be prompted for the second "Member drive" (the
second/Mirrored drive); click the arrow to move it over to the right-side.

d. When prompted for the Volume size, you must accept the default; RAID-1 must be at 100%.

4. Allow the RAID to (mirror).

Progress will be reported on the system tray or in an optional dialog box. (In the Storage Console, other-mouse-click 'Volume_0000' and choose "Show Rebuild Progress.").

How much Time to Rebuild?:

A 1-terabyte mirror will take several hours to build.
The lengthy time is because this is considered a low-priority task while Windows is running. You can use the computer while the rebuild takes place. (As a matter-of-fact, I am writing this article now, during a rebuild.)
Performance Improvement: Hard Disk Cache

If you find the RAID is rebuilding too slowly, be aware the local Hard Disk has a Cache setting. From the Storage Management Console, open the Volumes folder. Other-mouse-click "SysRaid" and choose "Enable Volume Write-Back Cache". This change can be made on the fly.

This setting changed my Rebuild from 4 hours to 1.5 hours and has other benefits for normal disk read-write activity.

Alternately, this same setting can be found in Control Panel, Disk Drives, locate the hard disk "SysRaid", select Properties, "[x] Enable Write Caching on the Device."

Some readers have reported 80+ hours on a 1Terabyte rebuild. I am waiting on their reply to see if this setting helped the problem, but in general, I don't have a good solution. I would wonder if the machine were infected with Viruses. Consider disconnecting the network cable, then disable the virus scanner and try the rebuild again. If this does not improve the rebuild times, leave the RAID broken while you do a more thorough test for viruses. Consider this Keyliner virus article: Removing Win-Viruses. I would like your comments on this problem.


Results:

Once built, Windows (and all other software) will only show one drive (e.g. the 250G disk) even though two are installed. The mirror is completely transparent.

This completes the software-build steps. If this is your first time with a RAID array, I recommend looking at the testing steps, below.

Building the Array In Hardware (BIOS):

If you are using the hardware (BIOS) to build the array (instead of the software), follow these steps. You do not need to do these steps if you have already built the array in software, from above.
Warning: If you use this method, all data on both hard-drives will be destroyed and you will have to restore from a backup. For this reason, I recommend using the software method, above. But if you are in a rush, and you have a good backup, this method is considerably faster, even taking the restore into account.

1. Confirm you have the prerequisites, which includes a *required* image backup. Install the new hard drives and enable the RAID controller in BIOS, all described above.

2. Cold-boot the computer and watch the DOS-like screens as the hardware boots. The RAID controller menu will briefly flash (with Intel, it shows "Press Ctrl-I"). Press (Ctrl-I) to enter the RAID menu.



Click image for a larger view; Back to return.

3. Follow the on-screen prompts to build the array, starting with "Create New Volume."


When prompted, give the array a name, such as "SysRAID"
Accept the default stripe-size: (64K)
Choose RAID-1 (not RAID-0).

The array only takes a few moments to build.
When it warns "All data will be destroyed," it *will* erase both drives.

4. When done, shut down the computer and boot with your backup program's "Emergency Restore Disk."

Restore the Backup now. If you are using a
third drive, clone from that disk to the new RAID volume. When restoring, remember that all software, including Windows and your backup/restore software will only see one disk in the RAID volume, even though two are installed. This is not an error. To all software, the RAID appears as one drive.


5. When the restore completes, shut down the computer and remove the third drive (if installed).

6. Reboot one last time. Windows should boot and you are essentially done. You will be pleased to know there are no Windows drivers required; the mirror is done completely in hardware.

7. Optionally install Intel's RAID monitoring software, "M
atrix Storage Console."

Although it is not required to build or use the array, you should install the Matrix Storage Console software because without it you cannot detect a drive failure during normal day-to-day operations.

(Click image for larger view; click right-x to return)

Without the utility, you can manually check the drive's status by pressing Ctrl-I when booting, but this is not an appropriate time to be notified. Some computers are left running for weeks and months at a time and your drive could have failed long before then.


Testing the RAID:


Because you have a good backup, this is an ideal time to test the Mirror by forcing a drive failure. Doing this gives you first-hand experience on how the Mirrors operate and how to recover from a failure. Test now because there will never be a better time.

A. Confirm a current backup.

B. Turn off the computer; disconnect one or the other of the RAID drives, simulating a drive failure.

C. Boot the PC and launch into Windows.

Results: When Windows loads, the monitoring software will show a failed RAID but the system will be perfectly operational and will run at normal speeds (the drives are not rebuilding)


D. Gracefully shut down the computer and re-connect the
failed drive.
*Do not* hot-plug the "failed" SATA drive; no hardware manufacturer recommends this and personal experience agrees.

E. Reboot the computer

Results: Windows will boot normally and the disk will show auto-rebuild with the RAID monitor showing a "degraded" status. You can use the com
puter during the rebuild but it will be slower than normal, with tons of disk activity. Rebuild time varies depending on the size of the disks; expect several hours. It is best to leave the computer up and operational while the RAID is re-constructed, although this is not required. Immediately after rebuilding, the computer will return to normal speeds and no reboot is required.
Failed RAID

Usually, when the RAID shows a problem, it has probably failed because of a power issue and the drives are simply out of sync. 99% of the time, this can be fixed in software. If you suspect the drive is simply out of sync, rebuild the array with the steps outlined in this article:
See this related article, with more details: RAID Volume Rebuild

In summary:
If the drives are not automatically rebuilding, use the Storage Console software to select the failed drive and initiate the rebuild. See the illustration below for where to find the new drive. When rebuilding the replacement disk, other-mouse-click the new drive and choose "Rebuild"

(Click illustration to see larger version; click right-x to return)

Although rare, If the power outage was particularly brutal, sometimes the hardware still won't see the disk. In these instances, open the computer's case, disconnect the failed drive and reboot the computer. (
Use the utility to identify the failed drive's serial number; this way you won't pull the wrong drive out of service.) Gracefully shut the computer down and re-connect the failed drive. You should be able to use the Storage Matrix Console software to rebuild the disk.

If the drive has physically died (and I've not seen this really happen in years), replace the drive with a new one that is as large or larger than the surviving drive.


Final Comments:

I have received several comments from readers who said, "Why bother. RAID is too much trouble and half-the-time the RAID controller is the cause of the drive failure, not the drive." This may have been true in the old days, but now the hardware is better and the monitoring software is improved. My argument is simply this: RAID is inexpensive, easy to setup and reliable. Plus, you get really neat bragging rights once installed.


Author Notes: This page has been a popular page to search against, but I can tell from the searches that some questions were not answered.

Q:Is there a performance benefit or hit with RAID-1?
A: RAID-1 reads slightly faster than a single disk (See Intel article here). There is no measurable performance hit when writing. The real benefit is in redundancy.

Q: Should I use RAID-0 or RAID-1 for performance?
A:
RAID-0 (where two drives are spanned into one logical drive) is faster than RAID-1, but many report the difference is not large enough to matter. In any case, I do not recommend RAID-0, even on servers. With RAID-0, half of your data lives on disk and the other half on the other -- this doubles your risk of a drive failure. If either drive dies, *all* data is lost; there is no redundancy. If this is a server, you likely installed RAID-0 on the OS drives -- but the OS is not where servers spend most of their time. If you are a stickler for speed, buy 10,000RPM drives.

Q: Can I have three drives in my RAID-1 Array?
A: No, by definition, RAID-1 is only two drives and the Intel controller does not support a hot-spare. Consider a RAID-5 Array, which is supported by newer motherboards. RAID-5 is beyond the scope of this article.

Q: Can I build the RAID-1 array without loosing my data on the initial build?
A: Yes, use the Software method, described above. However, it would be insanely risky to not have a backup while building the array.

Q: Can the second drive be a different brand or smaller than the first?
A: The second drive can be a different brand, but it cannot be smaller. You may have difficulties with two different brands with ostensibly the same size (e.g. 250GB); one brand may have a small fraction less space than the other, due to overhead and this will cause the RAID-build to fail. I prefer using the same brands. I would like to hear additional comments on this.

Q: Can I run multiple RAID-1 Arrays (2 separate RAID-1 arrays; total 4 disks)?
A: Yes. If this is for your home computer, you need to get a life .

Q: Can I reboot or shutdown the computer while a RAID is rebuilding?
A: Yes, but the rebuild will start over. There is no harm, but is not recommended.
See this related article, with more details: RAID Volume Rebuild

Q: I plan on upgrading to Windows 7. Will my existing RAID survive?
A: Yes. Because the RAID is in hardware, you can do either an in-place upgrade or a complete format and wipe of your hard disk and the RAID will still function -- with no work on your part. Once Windows 7 is installed, the RAID will be fully operational and Windows won't even know it is on a RAID. The only thing you should do is install the latest Intel Storage Console so you can see the RAID's status.
Download from:

Current as of 2010/08
  • Intel Download: Rapid Storage Technology (SATA ver 9.6.0.1014 2010.03.23 formerly called Intel Storage Manager. Choose the 'AllOS' version, at the bottom)


Related articles of interest:
Raid Volume Rebuild
Acronis vs Ghost
Maxtor External USB
Vista Spiffs
Optimizing the Windows Swap File
Rebuilding Vista from Scratch

5 comments:

  1. This may be a stupid question but if I have 2 drives in a RAID 1 array for strictly data - meaning I have a third single drive that has the OS on it - and the motherboard fails can I just pull one of those drives out, plug it into a different system and keep my data intact? I'm just curious as redundancy is good but what happens in the case of some hardware failure other than the drive itself.

    ReplyDelete
  2. This is something that I have not yet tried, but I know this much about the process: The drives are normal drives; the RAID does not introduce any unusual formatting or any other controls on the data. The drive should be able to move to other machines without issue.

    However, there are reported problems when an entire RAID (both disks) are moved to a different brand motherboard (presumably because the prior motherboard fried). The RAID will not survive intact.

    This is not as bad as it sounds. Build the new system with one of the two disks; non-raid. Then introduce the second drive.

    ReplyDelete
  3. To answer the question: "Can I run multiple RAID-1 Arrays", the answer is, Yes. The intel controllers support 2- RAID1 arrays (4 drives). If one drive fails, just replace it and it only rebuilds that single drive, the other array stays intact.

    ReplyDelete
  4. Okay, I don't know anything about "modern" motherboards, disk connections, etc. so this may be a no-brainer. Can I have one small non-RAID drive as the boot disk, and two large RAID drives for the data? Can I do this with a laptop and two eSATA drives?

    ReplyDelete
  5. The author writes: In answer to the first question, yes, it is common to have a non-mirrored boot drive and mirrored Data drives. Boot from Sata-0; have Sata-1 and -2 as the mirror. Ideally, you would install all programs and data on D: (-1, -2); there are no issues with this configuration.

    I've not worked with eSata, but I know this much. To make this work, both the drive(s) and the controller must be esata capable. What is unclear to me is if SATA-3 drives are considered "Esata" or if you need new drives.

    In any case, it is not the drive, but the controller that determines if they are RAID capable. All of the Esata controllers I glanced at had RAID capabilities and there are even products for laptops.

    ReplyDelete

Comments are moderated and published upon review.