Previous Table of Contents Next


Understanding A Mirror Set

I define critical data as any data that is required for your well-being or the well-being of your company. As such, this data cannot be unavailable at any time, nor can the server that supplies the data be unavailable. This is where using a mirror set can help by avoiding the unnecessary downtime associated with a disk failure. A mirror set basically functions by duplicating every write of a master partition (or disk) to a slave partition (or disk). In the event a disk read error is detected on the master partition, the data will be read from the slave partition. In the event a write error is detected on the master partition, the master partition (or disk) will be disabled, and the slave partition (or disk) will become the active partition (or disk) for all future use (both reads and writes). The usual way to set up a mirror set is to use two drives, as shown in Figure 9.1.


Figure 9.1  An example of a mirror set using dual disk drives.

In this configuration, you have one disk controller and two disk drives. The first drive is the master (C: drive) and the second drive is the slave (mirror C: drive). Whenever a write occurs to the C: drive, another write is made to the mirror drive. This causes a slight performance degradation as compared to a single write to one drive. In addition, you lose one-half of your total storage capability. On the positive side, there is a performance increase for disk reads. Why? Because the fault tolerant driver can make two reads (one on each drive) almost simultaneously, which improves read performance almost two-fold. This is not a bad trade-off for improved data or system reliability. The best thing about this is that you don’t have to tweak Windows NT at all. As soon as you create the mirror set, Windows NT Server takes advantage of it. Figure 9.2 shows how Windows NT Server accomplishes this.


Figure 9.2  The Windows NT Server fault tolerant driver model.


One of the unique features of a mirror is its ability to mirror the Windows NT system (or boot) partition. This can be used to create an automatic copy of your current Windows NT installation, including all of the security databases, user accounts, login scripts, roaming profiles, and any other system-specific information. Using a mirror set on your boot partition is far superior to maintaining two separate copies of Windows NT on your disk (one to use daily, and one to use to repair your primary version) because you do not have to do anything to keep them in sync.

As you might have gathered from Figure 9.2, Windows NT Server treats the mirror set as a virtual volume (a formatted partition that does not physically exist). To Windows NT Server, there is only one volume, called the Virtual Volume in our example. This phantom volume is issued read or write commands that are intercepted by the fault tolerant driver (FTDISK.SYS). For a disk write, the fault tolerant driver will issue dual write commands to each physical volume (or disk). For a disk read, the fault tolerant driver will issue dual read commands to each physical volume (or disk).

Yet, a mirror set with dual disk drives is still not the best solution you can provide because the single disk controller is also a single point of failure. If the disk controller fails, you lose access to all your data—at least until you replace the disk controller. So, is there no hope? Is there nothing you can do about this situation? Well, I’m sure you have already guessed the solution—use two disk controllers. This brings us to our next fault tolerant model, called a duplexed mirror set.

Understanding A Duplexed Mirror Set

A duplexed mirror set is almost exactly the same as a mirror set. The primary difference is that a duplexed mirror set uses two disk controllers instead of one, as shown in Figure 9.3 This eliminates the single disk controller as a single point of failure. Should the master disk controller fail or the master drive fail, the primary system will go offline. Then, the slave disk controller and slave drive will be used in place of the failed master system. Windows NT Server will probably not even miss a beat during the changeover.


Figure 9.3  An example of a duplexed mirror set using dual disk controllers and dual disk drives.

There are additional benefits to using dual disk controllers, as well. First, the slight write performance loss associated with a single disk controller and two drives is now almost nonexistent. Secondly, read performance doubles when compared to a mirror set using a single disk controller and dual drives. Read performance is almost quadrupled when compared to a single disk controller and single disk drive. Due to the improved read performance, duplexed mirror sets are often used on file and application servers. A file server that contains a large number of shared applications, such as Microsoft Office, can service more clients due to the improved read performance. An application server, such as SQL Server, can provide improved query response for the same reason. SQL Server can read data from its databases much faster, which in turn translates to improved user performance.

The downside to a duplexed mirror set is that, just like a mirror set, it only provides one-half of the total storage capacity. Another disadvantage is that a duplexed mirror set also costs twice as much as a single disk controller and single disk drive. Because of the cost associated with duplexed mirror sets, they are usually only used to mirror the primary boot partition and provide increased system reliability. For improved performance at lower costs, you might want to consider using a stripe set with parity.


Previous Table of Contents Next