Validating Windows server clusters with ClusPrep

Microsoft designed the final steps in its server cluster configuration wizard to ensure that server clusters are set up correctly and functioning properly.

Part 1 | Part 2

Previously, we looked at the installation process for Microsoft's Cluster Configuration Validation Wizard (ClusPrep) and learned how to run tests to determine proper cluster configuration. This article will focus on the last two phases of ClusPrep – inventory collection and cluster validation.

Inventory tasks

ClusPrep collects a variety of hardware inventory items, including processor, BIOS, memory, host bus adapters and network controllers. It also collects information on software items, such as system device drivers, processes and services. Reading through the report, you are able to identify any discrepancies between the servers. The table below enumerates the various inventory items that are collected.

Inventory tasks performed by ClusPrep

Inventory Tasks Description
BIOS Information Lists BIOS name, manufacturer, version, release date, language, etc.
Environment Variables Environment Variables Lists environment variable names, values, associated username, etc.
Host Bus Adapters Lists SCSI and Fiber HBAs, description, driver, manufacturer, state, etc.
Memory Configuration Lists memory information such as total physical memory, pagefile space, etc.
Network Settings Lists adapters, descriptions, IP addresses, subnet masks, MAC addresses, etc.
Operating System Information Lists OS information such as name, version, build number, SP level, etc.
PnP Devices Lists all plug-and-play devices, their manufacturer, status and service
Running Processes Lists all processes, working set size, thread count, handle count, etc.
Services Lists all services, state, path, start mode, started, display name, etc.
Software Updates Lists all hotfixes installed
Storage Information Lists all disks, signatures, port, path, target, LUN, characteristics, etc.
System Drivers Lists all system drivers, state, path, type, start mode, started, etc.
System Information Lists server name, model, domain, time zone, number of processors, etc.
Unsigned Drivers Lists any unsigned drivers, version, status, manufacturer, etc.

Figure D shows an example of an inventory report for the System Drivers. Each server will have its own list so you can scan for any differences.

Figure D

By default, ClusPrep collects all of the inventory items listed in the above table. It is possible, however, to override this behavior by specifying which items to collect when the wizard is run. See Figure E for dialogs to customize collections and tests.

Figure E

Validation tasks

In the final phase of ClusPrep, network and storage tests are run to validate configuration and functionality. These tests are only run if the initial system configuration tests pass. To prevent data loss, storage tests are only run if the servers are not yet configured as a cluster.

The network tests verify that at least two NICs exist in separate subnets with unique IP addresses and correct subnets. Network tests verify that servers can communicate with each other with acceptable latency across all networks.

The storage tests validate the functionality required for shared disks such as SCSI reserve and release, bus resets and disk arbitration. The wizard will prompt you to present and unpresent the LUNs at appropriate times to avoid any data corruption. The ClusPrep.sys driver is loaded on the servers to perform failover tests. The following table lists all of the network and storage tests that are run.

Validation tasks performed by ClusPrep

Validation Tasks Description
Network Configuration Ensures IP addresses are unique with properly configured subnet mask
Network Communication Ensures all servers can communicate with each other with acceptable latency
SCSI Reserve and Release Tests SCSI reservations to ensure servers can reserve and release access
Bus and Device Resets Ensures all reservations are released when a bus or targeted device reset is issued
Disk Arbitration Tests the arbitration process to ensure each node can become owner of disks
Disk Failover Tests to ensure disk failover between nodes confirming write-pattern
Simultaneous Failover Ensures multiple disks can fail over simultaneously between nodes
Multiple Arbitration Ensures when multiple nodes arbitrate that only one node obtains ownership
Persistence of Reserves Tests to ensure a disk reservation is still present after a period of time
Disk Access Latency Ensures acceptable disk latencies
iSCSI Authentication Tests iSCSI authentication settings
Disk TID and LUN Mappings Ensures all servers see same path to disk
Unique Identifiers Tests if disks support unique IDs

ClusPrep is a simple, yet powerful tool for determining if servers are configured in a suitable fashion for clustering. It performs a variety of system, network and storage tests aimed at identifying inconsistencies and invalid configurations. In addition to the tests, ClusPrep collects hardware and software inventories that you can use for comparisons between servers and for baseline information. An HTML report is generated that correlates the inventories and tests among multiple servers flagging any discrepancies or invalid configurations.


Bruce Mackenzie-Low, MCSE/MCSA, is a systems software engineer with HP providing third-level worldwide support on Microsoft Windows-based products including Clusters and Crash Dump Analysis. With more than 20 years of computing experience at Digital, Compaq and HP, Bruce is a well known resource for resolving highly complex problems involving clusters, SANs, networking and internals.

Dig Deeper on Windows Server deployment