Buildegg Articles Computer Hardware Analysis


RAID 1 Mirroring with Windows 7

Hate the idea of possibly loosing all of your files if (and when) you hard drive dies? Considering implementing a mirrored array (RAID Level 1) for your important data. Most PC users today have two immediate options for building a mirrored array of hard disks: their motherboard's chipset and within Windows. This article focusing on setting up and managing a mirrored array by using Windows 7.

What is RAID 1? What is a 'mirror'?

RAID Level 1 can also be referred to as a mirrored array of hard drives. Mirroring is implemented when fault tolerance is desired. Fault tolerance is the ability of the data contained in the array to remain intact if one of the drives fails. In a mirrored array, all of the data is duplicated across 2 or more hard drives. The general idea: All of one's important data would be stored on a mirrored array, and if one of the hard drives dies (which should be assumed, they die often), the data is still accessible / usable from the other drive. During a state of "failed redundancy", the volume is now only one hard disk, and it would be smart to replace the failed disk promptly to rebuild the array. Common categories you may want to store on a redundant (same thing as "fault tolerant") array: years of pictures, videos, documents, music, and hard-to-replace software install packages.

Why use Windows instead of the Chipset?

Any decent motherboard today will have a chipset whose hard drive controller will offer various levels of RAID. Using the chipset for RAID arrays is necessary if you intend to install the operating system on the array, like if you want a striped array (RAID 0) for performance, however a mirrored array can be implemented using the chipset or dynamically through Windows (other OS's do it too... I'm just focusing on Windows).

For the purposes of having a mirrored array, I strongly suggest building it through Windows instead of the chipset for the following reasons:

  • Portability - A Windows array will survive if you have to replace / upgrade your motherboard; a chipset array will most likely not survive a mobo upgrade (because the mobo will probably be using a different hardware controller).
  • Manageability - "Create and Format Hard Disk Partitions" is the Windows 7's GUI for managing your hard drives and volumes. It is much better than trying to use a seemingly out-dated text utility from the motherboard's chipset.
  • No Performance Hit - A true RAID controller (a separate expansion card; normally expensive) will offer superior performance for any RAID array, but considering the options available to you now, both the mobo's chipset and Windows offload the array functions to the CPU, and any speed difference is negligible. See this video comparing a striped array setup through various ways.

How to set up a Mirrored Array in Windows 7

The environment for this quick tutorial is as such: the operating system, Windows 7 RC, is installed on a hard drive that will, of course, not be involved in the RAID 1 array. Also note, Windows will refer to disks as either "basic" or "dynamic", and to their partitions as "volumes".

A WD 320 GB RE2 Hard Drive

A WD 320 GB RE2 Hard Drive

  1. Install two hard drives. For my tests, I installed two WD 320 GB RE2 drives. Visit Buildegg's Component section to see the best hard drives to buy.
  2. Boot up Windows, hit the start button, and in the search box type either "Create and" or "Disk man", and click "Create and Formant Hard Disk Partitions". This program is also accessible through Control Panal -> System and Security -> Administrative Tools -> Create and Formant Hard Disk Partitions.
  3. If these drives have never been used, it may ask you to initialize them, in which case you'll most likely be using "MBR".
  4. If the new disks do not say "Unallocated" in them, then delete their volumes by right-clicking on each disk's volume and going to "Delete Volume..."
  5. Now lets create the RAID: right-click on one of the disk (doesn't matter which), and go to "New Mirror Volume..."

    New Mirrored Volume

    Creating a New Mirrored Volume

  6. A series of prompts will ask you about some details of your new mirrored volume (array), like which disks are to be included, size of the volume, drive letter assignment, and volume name. In my example, I chose Disk 1 and Disk 2 (Disk 0 being my original disk with the OS on it), the full size available (its default), drive letter M, quick format, and "WinMirror" as the volume name.

    A Mirrored Volume has been created in Windows 7

    A Mirrored Volume has been created in Windows 7

That's it! Transfer all of your important files to your new "drive" and have a little peace of mind. Here's an idea... map all of your Windows libraries (those default ones, Documents, Pictures, etc) to your mirrored array, and you can upgrade hardware / format and reinstall windows all day long and not have to worry about your data.

What happens when a hard drive fails? How do you recover?

The whole point for setting up a mirrored array is anticipating the time when one of the hard drives fail and die. There are two points in time where failure might happen: while the computer is on and you're using it, or somewhere between the computer being shut off and turned back on. I simulated a drive failure while using the mirrored volume and I was able to continue working on files; accessing them and saving them. What is interesting is that Windows will not inform you that the array in an unhealthy state (at least, it never told me...); you wont know until Windows is restarted. When you boot your system back up after one of the drives have failed, you will notice your mirrored volume missing (when you go to access something from it). Fear not, your data is still there, just open "Create and Format Disk Partitions" and manage the situation.

Inside Window's disk manager you'll find the still functioning disk, and it will be flagged with "Failed Redundancy", of course meaning that the mirrored volume is no longer redundant because the other drive failed. In the most common situation I can imagine for most of us, you will need access to your files, and it may be a few days (or weeks) before you can replace the failed hard drive.

  1. First lets gain access to our files. Right-click on the dynamic disk that is still functioning and go to "Remove Mirror..."

    Remove Mirror from Failed Redundancy Volume

    Remove Mirror from Failed Redundancy Volume

  2. Select and remove the missing (failed) disk. In my example, Disk 1 was the disk that failed, so I'm keeping Disk 2 and removing Disk 1 (which is labeled just as "Missing").

    Select and Remove the Missing Disk

    Select and Remove the Missing Disk

  3. Now you're left with a "Healthy" simple volume from which you can continue to use all of your data.
  4. Get a replacement hard drive so you can rebuild the mirror. NOTE: Most hard drives now have 3-5 year warranties, and all you have to do is go to the manufacturers website, fill out the RMA, and send in the defective drive.
  5. Fast forward to the time that you install a replacement hard drive (this may be an hour later, or weeks later).
  6. Open the Windows disk manager "Create and Format Disk Partitions" and make sure that the new drive is initialized and is unallocated.
  7. Right-click on the disk that survived (the one from the original mirror), and go to "Add Mirror...". Follow the prompts and add the new drive.
  8. Now you have a new RAID 1, Mirrored Volume. You'll notice that both drives in the array say "Resynching", which is pretty much the one drive being copied to the other. This process may take the better part of a day if you have large drives, but thats okay because it's being done in the background -- you don't have to worry about it.

Some Notes

A mirrored array is just a controller (in this article's case, Windows) automating and managing the duplication of data across two hard drives. If the mirrored volume is done through Windows 7, you can pull one of the hard drives out and move it to another computer, and use the data. I can't really think of a practical reason to do this, but just in case you ever run into the situation of installing a drive from your mirror into a new or different computer, here is how: Install the drive into the other Windows 7 computer. Open the disk manager and you'll find the drive in the GUI list, but it will be flagged as "foreign". You will need to right-click on that drive and go to "Import Foreign Disks...".

Import a Foreign Disk

Import a Foreign Disk

Follow the prompts and it will soon become a simple volume. Now you have all that data on two different computers. Why? I don't know. 😛