Exchange Cluster Checks With ClusPrep and ClusDiag (Part 1)

If you would like to read the next part in this article series please go to Exchange Cluster Checks With ClusPrep and ClusDiag (Part 2)


Anyone who has set up and configured an Exchange cluster knows that, although they are designed to achieve high availability for your messaging environment, they add much more complexity than standalone servers so this high availability comes at a cost. Admittedly, these days Microsoft has made the installation of Exchange on clusters much easier than earlier versions but there is still a fair amount of planning to do up front for the actual cluster itself. In fact, planning, deployment and administration are all vital to the successful deployment and ongoing functionality of an Exchange cluster.

There are two tools that Exchange professionals can look to use when installing new Exchange clusters. These tools are ClusPrep and ClusDiag and I’ll be looking at these two tools over the two parts of this article. In part one here we’ll look at ClusPrep, whilst in part two we’ll be looking at ClusDiag.

Introducing ClusPrep

The full name for ClusPrep is the Microsoft Cluster Configuration Validation Wizard, but I’m going to refer to it as ClusPrep for simplicity. I’ll be running ClusPrep against a proposed Exchange 2007 three-node active/passive single copy cluster but of course it’s valid for earlier versions of Exchange too. You can download ClusPrep from this link.

What you actually download is a single file called clusprep.exe. Before installing this program, there are a few things to note. First, you’ll ideally run this program before the cluster has been created although you can still run ClusPrep after the cluster has been formed. This is because some tests can interfere with the operation of a live cluster. Second, ClusPrep must be installed on a 32-bit architecture computer. Finally, it’s a client-server tool and so should ideally be installed on a different machine than the cluster nodes that you will be testing.

Install ClusPrep by running the downloaded file, which will present you with an installation wizard that essentially consists of nothing more than the license agreement; in other words there are no installation options. ClusPrep will be installed into C:\Program Files\Microsoft\Clusprep and the menu items placed into Microsoft Cluster Validation found under Start / All Programs.

Running ClusPrep

The running of ClusPrep can be achieved by choosing the Microsoft Cluster Configuration Validation Wizard menu option, or by running CPrepWiz.exe manually from the folder name I mentioned earlier. Doing so will invoke the main wizard which starts off with the traditional welcome screen. Next the Server Names screen will be presented as shown below in Figure 1. Here you simply add the names of the cluster nodes that you wish to test.

As you can see from Figure 1, I’ve added nodes named, and You will note that the Fully Qualified Domain Name (FQDN) of the cluster nodes includes a domain name of and so you may be thinking that these cluster nodes are for an Exchange 2007 Clustered Continuous Replication (CCR) configuration. You’ll have to forgive my naming convention that includes “CCR” in the domain name since you may remember from earlier in this article that I stated I’d be using a single copy cluster. The cluster nodes in my lab were originally part of an Exchange 2007 CCR setup and hence I named the domain to reflect this. I’ve since demolished this CCR cluster but kept the Active Directory domain, which has saved me time.

Figure 1: Server Names Screen

Once all future cluster nodes have been added, the next screen presented is the Storage Preparation for Testing screen that essentially informs you to isolate the storage from the servers prior to running the tests. This is to prevent storage device corruption. This is shown in Figure 2.

Figure 2: Storage Preparation

When you’re happy that the storage has been isolated, click the Check when the storage is ready checkbox and then click Next. You will then be presented with the Testing Options screen that allows you to decide whether to run all or some of the tests. There are 36 tests spread across the following 4 categories:

  • System Configuration. These tests are used to check whether the servers are configured correctly prior to becoming cluster nodes.
  • Inventory. The inventory tests provide a list of hardware and software settings.
  • Network. These tests ensure that network settings, such as IP addresses and subnets, are all in order.
  • Storage. Since storage forms a critical part of the cluster, it’s vital to ensure that it’s configured correctly.

Table 1 shows a list of these tests and I’ve included it to show you how comprehensive the series of tests is.

Test Type Test
System Configuration Validate Domain Membership
Validate Same Processor Architecture
Validate Domain Role
Validate All Drivers Signed
Validate Software Update Levels
Validate Service Pack Levels
Validate Operating System Versions
Inventory List BIOS Information
List Environment Variables
List Host Bus Adapters
List Memory Information
List Operating System Information
List PnP Devices
List Software Updates
List Running Processes
List Services Information
List System Drivers
List System Information
List Unsigned Drivers
Network List IP Configuration
Validate Network Configuration
Validate Network Communication
Storage List All Disks
List Cluster Disks
Prepare storage for testing
Validate Existence of Reserves
Validate Disk Arbitration
Validate Device Resets
Validate Disk Access Latency
Validate Disk Failover
Validate Simultaneous Failover
Validate Disk TID and LUN Mappings
Validate Multiple Arbitration
Validate SCSI Reserve and Release
Validate Bus Resets
Validate Unique Identifiers

Table 1: ClusPrep Test List

The default option is to run all tests so let’s stick with that option. However, note that if you select the Run selected tests option you’ll be presented with the Test Selection screen where you can select individual tests from the list above. Before the tests are run, each cluster node is prepared for testing and you’ll see a screen that shows you the progress of these preparation steps. A sample screen shot is shown in Figure 3. During this stage, the ClusPrep filter driver is installed onto each node into the C:\Windows\ClusPrep folder.

Figure 3: Server Preparation

Once the server preparation has completed and Next has been clicked, you are presented with the Storage Management Secure screen as shown in Figure 4.

Figure 4: Storage Management Secure Screen

If you isolated the storage previously you must now reverse this setting since everything is now properly prepared to manage the storage devices. When you’re ready, just click the Check when the storage is ready check box as before and then click Next. The program will then start running through the tests as you can see from the Running Validation Tests screen shown in Figure 5. Tests will either complete successfully, complete with a warning, or fail. Once testing has completed, which took quite a few minutes on my test servers, just click the Next button on the Running Validation Tests screen and you’ll be presented with the final screen informing you of completion. From here, you can view the report by clicking the View Report button or exit the wizard via the Finish button.

Figure 5: Running The Validation Tests

The report is stored as ValidationReport.html and ValidationReport.xml found in the C:\Program Files\Microsoft\Clusprep\Reports folder. Figure 6 shows an example of the beginning of the validation report, where you can see that there are some warnings within the Configuration Tests area of the report. Similar summaries are available for the inventory, network and storage tests.

Figure 6: Configuration Tests Report

Each of the tests listed on the left-hand side of the report is a link to more detailed information presented further down the report. For example, if you click the Validate Software Update Levels link as shown in Figure 6, you are taken to that area as shown in Figure 7.

Figure 7: In-depth Report Information

At the bottom of this section, we get to see the warning information regarding software updates. As you can see from Figure 8, we don’t have the same software updates installed on each cluster node so that’s something we’d need to rectify prior to creating the cluster. As you can probably appreciate by the size of the report shown, a lot of detailed information is gathered. Even if everything comes back clean, it’s very handy to have a report of the configuration of the cluster that you can file away for change control purposes.

Figure 8: Software Updates Warning


ClusPrep is a simple wizard-driven tool that you should ideally run against each node before you create the cluster. When you look at the list of tests available in ClusPrep, it’s not difficult to see why this tool gives your system a useful check-up before the cluster is formed. In the second part of this two-part article, I’ll be taking a look at ClusDiag, which can be used after you’ve created the cluster using Cluster Administrator.

If you would like to read the next part in this article series please go to Exchange Cluster Checks With ClusPrep and ClusDiag (Part 2)

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top