Organizing your hard disks with Windows NT

Brien Posey explains methods you can use to organize your hard disks in Windows NT and he describes various methods of fault tolerance that you can use to protect your data in case of a hard drive crash.

Hard disk management is a non-issue with many operating systems because most operating systems limit you to one or possibly two hard disk formats. For example, Windows 98 allows you to use the FAT file system or the FAT32 file system. Another example is OS/2. OS/2 allows you to use the FAT or the HPFS file system.

Windows NT also supports two different file systems—FAT and NTFS. However, unlike Windows 9x and OS/2, Windows NT lets you implement fault tolerance on these file systems. In this Daily Drill Down, I'll discuss ways of organizing your hard disks in Windows NT.

The basics
Before examining how Windows NT works on your hard disk, I must discuss a few basics. Let's begin with the physical layout of your hard disk. When you buy a new hard disk, it lacks any sort of organizational structure. The hard disk is basically a large, empty space. Before you can use your hard disk, you must organize the space into something that your computer understands. Dividing the hard disk into partitions does this. The partitions are logical units of the hard disk and they can be addressed individually as separate drive letters. Each partition has its own individual file system that functions independently of the file systems on other partitions. Once a hard disk has been formatted with the file system, it's referred to as a volume.

The primary tool for performing hard disk maintenance in Windows NT is the Disk Administrator. As you can see in Figure A, the Disk Administrator displays each physical drive within your system and all of the partitions on those drives.

Figure A
The Disk Administrator displays each hard disk in your system, as well as the partitions that they contain.

If you've inserted a new hard disk into your system, the Disk Administrator will display it as being entirely composed of free space. You must create a partition on the hard disk to be able to use it. To do so, select the hard disk from the Disk Administrator, and then select Create from the Partition menu.

Before you can work with the new partition, you must make it permanent. To do so, select Commit Changes Now from the Disk Administrator's Partition menu. When you do, you'll be allowed to format the new partition. Select Format from the Tools menu, and then select the type of file system to format the partition as. You can also select from a variety of other options, such as Enable Compression and Quick Format. When you select your file system, you can choose between FAT and NTFS.

Entire books have been written about the differences between FAT and NTFS. Therefore, it's impossible for me to discuss all of the differences in this Daily Drill Down; however I will discuss several differences. If you'd like more information beyond what I discuss here, read my Daily Drill Down "Choosing between file systems."

In a nutshell, NTFS is far superior to the FAT file system. It supports larger partition sizes, and it contains built-in security features. These security features enable you to assign permissions on a file level. Because of the file system's extended attributes, NTFS also supports features such as compression. In order to use the fault tolerant features that we'll discuss later on, you must format the partitions involved as NTFS.

The only time you'd want to use the FAT file system on a Windows NT machine is when you need backward compatibility. For example, you'd want to use FAT if the system was to be configured to dual-boot with Windows 98, because Windows 98 can't read an NTFS partition. It's also a good idea to use FAT for your boot partition in case you ever have system problems because you could boot your system from a DOS disk and repair the errors. If the boot partition is formatted as NTFS, the DOS boot disk won't allow you to access it to perform any sort of repair.

Volume sets
To use any of the fault tolerant features, you must format all involved partitions as NTFS. If you’ve previously formatted a drive as FAT, you can convert the partition to NTFS without losing any data.

One of the special features is called a volume set. A volume set allows you to combine several small partitions into one large partition. The partitions aren't physically combined, but rather logically combined. The advantage of logically combining partitions is that they can reside on separate physical drives. For example, if you have a 2 GB partition on your D drive, a 4 GB partition on your E drive and a 2 GB partition on your E drive, you could combine all of these partitions into an 8 GB volume set.

In a volume set, each partition involved shares a common drive letter. For example, in the situation described above, each partition might have the drive letter Q associated with it. By accessing the Q drive, you'd actually be accessing one of the partitions mentioned above. Windows NT will begin filling the volume set starting with the first partition. When the first partition is full, Windows NT will move to the next partition, all the while giving the illusion that all of the partitions are actually one large partition.

The disadvantage to volume sets is that they don't provide any fault tolerance beyond that of any other NTFS partition. In fact, if one partition in the volume set becomes damaged, the entire set may become unusable.

To create a volume set, select the empty, unformatted partitions that you'd like to combine and then select the Create Volume Set command from the Partition menu. You can combine up to 32 partitions into a volume set. Once you've created the volume set, you may format it.
Fault tolerance is a safety mechanism that allows you to salvage all of your data should a hard disk go bad. Windows NT supports fault tolerance through striping and mirroring.
Striping allows you to use several hard drives as a single drive. The difference between a stripe set and a volume set is that the partitions involved in a stripe set must be on separate drives, and they must all be the same size. A stripe set can contain anywhere from two to 32 hard disks.

The advantage of a stripe set is speed. When a file is written to a stripe set, a portion of the file is written to each drive. Therefore, disk reads and writes occur exponentially faster than they would on a single drive. For example, if you had a stripe set made up of three drives, each file would be read and written three times faster than on a comparable single drive system, because a third of each file would be placed on any given drive.

Drives composing a stripe set must be attached to separate disk controllers, or to an advanced controller, such as a SCSI controller that's capable of accessing multiple disks simultaneously.

Like a volume set, a stripe set offers no fault tolerance. If any one disk in the stripe set fails, the entire set will fail. However, there is a way to build fault tolerance into a stripe set. You can do so by creating a stripe set with parity. A stripe set with parity requires a minimum of three hard drives. It writes just enough information to each drive so that if any one drive in the set fails, the set can function without it and can rebuild the bad drive when you replace it.

So, why would anyone ever use a simple stripe set when they could use a stripe set with parity? As we mentioned, the stripe set with parity requires a minimum of three hard disks, while a simple stripe set requires only two. The reason for this is that the parity information must be written somewhere. In any stripe set, you'll lose the equivalent of one drive to parity information. Therefore, the more drives you have in your set, the lower percentage of space you'll lose. For example, if you have a stripe set with parity made up of three 2-GB drives, the usable amount of space will be 4 GB because you'll lose 2 GB to parity information. Basically, you'll lose one-third of your storage space to parity information. However, if you have ten 2-GB drives in a stripe set with parity, you'll lose one drive to parity information. This means that you'll have 18 GB available and will only lose one-tenth of your storage space to parity information.

Creating a stripe set
To create a stripe set, select the empty non-formatted partitions that you intend to use, then select Create Stripe Set from the Disk Administrator's Partition menu, or select Create Stripe Set With Parity from the Fault Tolerance menu. You'll then be asked to fill in some simple information such as the size of the stripe set. You must commit your changes when you're done.

When a striped drive goes bad
When a drive in a stripe set with parity goes bad, repairing the damage is easy. First, shut down Windows NT, and replace the bad drive. When you've done so, boot the computer and access Disk Administrator. Disk Administrator will acknowledge the new drive. Click OK to clear this message. Now, select the stripe set, hold down [Ctrl], and select the free space on the new drive. Finally, select Regenerate from the Fault Tolerance menu. Windows NT will now recreate the failed drive's information on the new drive. This process tends to take a while, and your computer will run slowly while the drive is being regenerated.

Mirror sets
A mirror set is also an architecture that uses multiple hard disks to provide fault tolerance should one disk crash. The basic concept behind a mirror set is simple: anything written to one drive is written to the other. If one hard disk fails, you’ll still have a working copy of all of your data on the second hard disk.

Creating a mirror set
Creating a mirror set is easy. To do so, you must start with a formatted NTFS partition, and another hard disk with an area of free space equivalent to that of the drive that you want to mirror. Keep in mind that, for performance reasons, the drives should be on separate controllers, or be SCSI drives.

The first step in creating a mirror set is to select the partition that you wish to mirror, in Disk Administrator. Now, hold down the Control key and select the free space that you plan to use for the mirror. Next, select the Establish Mirror command from the Fault Tolerance menu. If you’re mirroring the boot drive, click OK to clear the warning message. At this point, select the Commit Changes Now command from the Partition menu. Windows NT will now begin mirroring the drive. This process will take a while, and your computer will run slowly while the drive is mirrored.

When a mirrored drive goes bad
If one of your mirrored drives goes bad, it's easy to correct. Begin by shutting down your computer, and replacing the failed drive. Next, restart Windows NT and go to Disk Administrator. When Disk Administrator starts, click OK to acknowledge the new hard disk. Select the remaining drive from the mirror set, and then select Break Mirror Set from the Fault Tolerance menu. When asked to confirm the operation, click Yes. You may now re-establish the mirror set between the existing drive and the new drive by using the method that I described earlier.

Brien M. Posey is an MCSE and works as a freelance technical writer and as a network engineer for the Department of Defense. If you’d like to contact Brien, send him an e-mail. (Because of the large volume of e-mail he receives, it's impossible for him to respond to every message. However, he does read them all.)

The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.

Editor's Picks

Free Newsletters, In your Inbox