Windows Print Cluster Best Practices for Windows Server 2003 to Windows Server 2008 R2

In recent months we have seen an increasing volume of print cluster cases being opened due to poor performance. For example slow failover or spooler crashes. This article is provided as a guide for print server administrators to identify and resolve possible causes of these performance issues.

1.    To increase print server stability, only the print drivers that are needed should be installed.   Print drivers should be installed on the cluster print resource.  Print drivers should not be installed on the local physical nodes of the cluster unless it is required by the printer vender.  HP Universal Print Driver and the Xerox Global Print Driver and other Universal print drivers are a few of the print drivers that must be installed on the physical local nodes and on the Cluster print resource. 

HP universal print driver configuration in clustered environment Best practices

From the HP web page above:

“When installing product specific drivers, it is recommended that the latest driver be used.  The latest version of the driver can be found at Also, the driver should be
installed onto every node in the cluster prior to being installed onto the Virtual Print Server”

Xerox installation document:

You will need an account with Xerox to access the link above and obtain the documentation referenced below.

“The X-GPD must be installed on the each node prior to being installed on the client”

2.    There should not be multiple versions of the same HP Universal Printer Driver on the local nodes or the spooler resource, Example:  versions (5.0) and (5.1) ,

The installed drivers can be found by using Regedit.exe:

HKLM\Cluster\Resources\<PrintGUID>\Parameters\Environments\ Windows NT X86\Drivers
HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT X86\Drivers

3.     Ensure the newest version of your Universal Print Driver which is installed on the spooler resource matches the version installed on the local nodes (should be at least 5.1 for HP UPD).
Remove older versions of the UPD on the spooler resource and local nodes after changing all Print queues to the newest version. The removal can be done by going into the Print Server Properties under the Drivers tab.

Note: Print Server Properties can be accessed on 2008 and earlier by going into Printers and Faxes or Control Panel : Printers, right-click an empty area where the print queues are listed. Select Server Properties from the menu.

On Windows 7 And Windows Server 2008 R2, go into Printers and Faxes, select a print queue and the Server Properties option will be available in the toolbar.


  If possible, all Version 2 (Kernel Mode Print Drivers) originally designed for NT 4 systems should be replaced with Version 3 print drivers. Version 3 drivers are recommended over Version 2 drivers because they support advanced printing features and improved performance. If a server stops responding as a result of a Version 3 driver problem, you only need to stop and restart the print spooler instead of restarting the server. Additionally, Version 3 drivers can reduce printer downtime, because Windows Server 2003 provides automatic recovery of the spooler service by default. If a Version 2 driver stops responding, you must reboot the server, taking all other services offline while the server restarts. In addition, Version 2 printer drivers operate in kernel mode (inside the operating system kernel memory space) and are designed for Windows NT 4.0. Because of this, if a Version 2 driver crashes, it can effect the stability of the whole kernel instead of just the spooler process.

There are 3 ways to determine if there are Version 2 drivers running in your environment:

A.    Open Regedit.exe and check HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT X86\Drivers and if there is a Version 2 folder with drivers listed under it then you have some installed.

B.    On a spooler resource you will need to check HKLM\Cluster\Resources\(GUID) of the spooler resource\Parameters\Environments\Windows NT X86\Drivers:


C.    Alternatively you can check for version 2 drivers by opening Print Server Properties and clicking on the Drivers tab. Under the Version column Version 3 Drivers will show Windows 2000 and newer; however if it is a version 2 driver it will list Windows NT in the version column. Version 3 printer drivers operate in user mode (outside the operating system kernel memory space) and are designed for Windows 2000, Windows XP, and Windows Server 2003

5.       Removing drivers on the spooler resource that are not currently assigned to a print queue can help spooler stability. As a general rule of thumb the fewer drivers in your environment the more stable and the faster the Cluster Print spooler can fail over. To cleanup unused drivers: Note: Do not do this if you are using Terminal Services with Printer Redirection.

1.            Log in as Local Administrator
2.            Open the Printers (Printers and Faxes)
3.           Click Server Properties
5.            Select the Drivers tab
6.            Highlight all of the Drivers
7.            Select remove (You will Need Admin Rights for this step)
8.           This will only delete unused drivers, for any driver being used by a Print queue you will receive a popup stating the driver is in use and cannot be deleted.
9.             Click past all of the popups and you will be left with only the drivers assigned to a print queue and all unused drivers will now be gone.
10.           Open regedit (e.g. click Start, type regedit and press Enter)
11.           Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NTx86\Drivers
12.           Verify the Drivers are no longer listed in the registry.
13.           Restart the spooler.

Note: An alternative to Microsoft Print Clustering is Windows 2008 R2 Clustered VM.  You can cluster a Print Server VM and create Snapshots.  It is a nice alternative given printer vendors do not always test their print drivers on a Microsoft Print Cluster.  Clustered VMs is a new Hyper-V feature called Live Migration in Windows Server 2008 R2, which requires the failover clustering feature to be added and configured on the servers running Hyper-V. Hyper-V and failover clustering can be used together to make a virtual machine that is highly available, thereby minimizing disruptions and interruptions to clients. Live migration allows you to transparently move running virtual machines from one node of the failover cluster to another node in the same cluster without a dropped network connection or perceived downtime. In addition, failover clustering requires shared storage for the cluster nodes. This can include an iSCSI or Fiber-Channel Storage Area Network (SAN). All virtual machines are stored in the shared storage area, and the running virtual machine state is managed by one of the nodes. 

Windows Server 2008 R2 & Microsoft Hyper-V Server 2008 R2 – Hyper-V Live Migration Overview & Architecture.

If you’re configuring a 2008 R2 Print cluster it is highly recommended the hotfix below is installed.

Stability update for Windows Server 2008 R2 Failover Print Clusters

The 5 Steps I have outline in this document may not resolve all of the issues in your clustered Environment, however If you are experiencing slow failovers or spooler resources crashing this may be a very good place to start.

Andy Rowell

Share this post :