Redundancy On A Budget: Implementing A RAID File Server
At a Glance:
- Implement an inexpensive fault-tolerant file server
- Hardware and software requirements
- Configuring RAID
- Mirroring the boot volume
Windows Server 2003
It happened again—a hard drive crashed on one of your user's PCs, taking irreplaceable data along with it. And again, the user said the same thing every other user with the same problem does: "I thought you guys did backups!"
To make matters worse, other department members were using a shared folder on her hard drive as a defacto file server. They lost data too, and now they hate you, the IT department, and computers (in that order).
This situation is not only unfortunate, but all too familiar. It's also preventable at surprisingly little cost. Did you know that you can implement a fault-tolerant departmental file server on a low-end desktop PC? Well get ready, because all you need is Windows Server™ 2003, a PC, and an extra hard drive.
A Server? Are You Nuts?
I know you're skeptical, and you should be, but have a look in your storage room, scrap heap, or garbage pile before you laugh me out of the room. An older machine is just fine, as long as it meets the hardware requirements for Windows Server 2003, which are surprisingly lightweight. This is because departmental file servers are, in most cases, low-volume. They don't require a fast CPU, although extra RAM and a fast network card may help to speed things up on busy days. Microsoft recommends a 550MHz (or faster) CPU and 256MB (or more) of RAM to run Windows Server 2003. (You can find a comprehensive listing of supported PCs on the Windows Catalog Web site.)
For what it's worth, I consider Microsoft hardware recommendations to be a working minimum. The actual minimum requirements published on the box are technically accurate, but I wouldn't want to run Windows Server 2003 on a Pentium 133 with 64MB of RAM. Whoever established those minimum requirements deserves to have that computer on their desktop for a week, if you ask my opinion. Anyway, I digress.
After you salvage a suitable PC from the scrap heap or are able to purchase a new one, determine how much disk capacity you will need and install two identically sized hard drives of that capacity. The total should therefore be double the capacity you need. Make sure they're actually identical since some hard drives, even with the same brand and model numbers, aren't. Also, remember that if you're using an older PC, you may need to update the BIOS to recognize all of the space on the new hard drives.
Unleashing the Beast
Now it's time to install Windows. This is always an interesting, fun, and educational experience (especially on older hardware), but I presume that you're up for it. Microsoft product support is just a phone call away if you need assistance, and they're a lot better than they used to be. On the primary drive, create a small NTFS-formatted C: volume (10-15GB) and install Windows Server 2003 onto it. Do not create additional volumes on the primary or secondary drives during the installation process; you will do this later. You probably know how to join your existing domain or have a plan to create a new one. If not, don't join or create a domain during setup. Instead, see Index of Windows Server 2003 Technical Articles for assistance in completing your deployment.
Microsoft Windows Server 2003 Administrator's Pocket Consultant by William R. Stanek (Microsoft Press, 2003) provides a comprehensive discussion and walk-through of RAID options in Windows Server 2003
A compendium of Windows Server 2003 technical articles is located at Index of Windows Server 2003 Technical Articles
For more details about Windows 2000 Server RAID configuration, see Implementing RAID on Windows 2000 Servers.
After you install Windows Server 2003, it's a good idea to go immediately to Windows Update and download all critical updates. Since most departmental file servers are used only during the business day, you may want to automate the updating process. To accomplish this, you can configure Automatic Updates to automatically download and install future critical updates during off-peak hours. Of course, then you're trusting Microsoft to deploy patches on your machine whenever they like, which may or may not cause problems with your applications. For my part, I'd rather have Microsoft update my server than have a hacker do it for me, and I'll probably continue to think this until the first time one of my servers dies horribly (for no obvious reason) after a security update. Fortunately, this hasn't happened to date.
For security reasons, a fresh installation of Windows Server 2003 runs very few services by default. Use the Configure Your Server Wizard to add the File Server role, which will enable file sharing features. If the wizard does not display automatically after you log on, you will find it on the Start menu under Administrative Tools. It may be tempting, but don't simply turn everything on. Running unnecessary services not only presents a security hazard, but may make your server run more slowly.
Configuring Fault Tolerance
Windows Server 2003 supports RAID 0, 1, and 5 configurations. RAID 0 and 5 are wonderful, fantastic, and useful, but they're not the right tools for this job. A RAID 1 configuration is shown in Figure 1. This is the most appropriate for a small, low-volume departmental file server. RAID 1 creates an exact, simultaneous copy of the same data on two separate hard drives. RAID 1 volumes are also known as mirrored volumes. (In case you don't know, RAID stands for redundant array of independent disks.)
Figure 1 Dynamic Mirrored Volume
To configure an array, you first need to convert your disks from Basic to Dynamic. Start the Computer Management snap-in, located on the Start menu under Administrative Tools. Expand Storage, and then click Disk Management. Right-click Disk 0, and click Convert to Dynamic Disk (you can safely click Yes on the warning dialog box). A dialog box will warn that file systems will be dismounted. Again, you can safely click Yes, and then click OK to restart your computer. Note that this process actually requires two restarts. The first reboot is prompted by Disk Management in order to convert the boot volume device from Basic to Dynamic, while the second reboot is prompted by Plug and Play (PnP) in order to install the new boot volume device.
After you restart your computer, repeat this process on Disk 1 to convert it to a dynamic disk.
Mirror, Mirror, On the Drive
After both of your disks have been converted to dynamic, you need to mirror the boot volume. This is easy. Right-click on the C: volume, and then click Add Mirror. When prompted to select the location for the mirror, click Disk 1. The volume will display a Resynching status until the mirror is built. When you see Healthy, you're finished. If you shut down or reboot your server while a volume is resynching, the mirroring process will be aborted and you will have to recreate the mirror (which I learned the hard way).
After establishing the boot mirror, you should test to make sure you can, in fact, boot from the secondary drive. This provides peace of mind that things will go smoothly in case you lose the primary drive.
Figure 2 Resynching Status
Now that your boot volume is mirrored, it's time to make a volume for your data. This is even easier since you use a simple wizard. On Disk 0, right-click Unallocated, and then click New Volume to display the New Volume wizard. Select Mirrored for the volume type, and complete the wizard with your size, drive letter, and volume label preferences. The volume will display a Resynching status until the mirror is built, as shown in Figure 2. When the volume displays a Healthy status, the process is complete. As with the operating system mirror, don't shut down or reboot your server until you see that the volume is Healthy.
Break out the champagne! You now have a fault-tolerant departmental file server, and you built it without spending a fortune. You can now create shared folders and assign permissions on the data volume, and your users will have a safe place to store their files. If a hard drive in the server later fails, you can easily replace it without data loss or undue business interruption.
But now for the hangover: fault tolerance is great, but it's no substitute for regular backups so don't forget this very important safeguard. After all, fault tolerance does you little good if someone steals the computer or the building burns down. There are numerous ways to back up your data, but that's a topic for another article.
Robert Walker is an Operations Technical Specialist for the Department of Clippy Affairs at Microsoft. Among other tasks, he maintains the server infrastructure that Clippy uses to ask whether you’re writing a letter, and if you want some help.
© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; reproduction in part or in whole without permission is prohibited.