PRN: Clustered Printing
Description:
Troubleshooting Print Clusters are very similar to troubleshooting regular standalone print servers as long as you know the differences between them; the printer information on a cluster is stored in different locations.
The following are the file and registry locations used to store print cluster configuration information:
Registry locations:
The Windows Cluster Service stores all printer and port information in the cluster registry:
HKEY_LOCAL_MACHINE \Cluster\Resources\<Resource GUID>\Parameters
You can look at the “Type” value to identify a Print resource, it should have the data: “Print Spooler”
From this key onwards the registry structure is mostly the same as that of the local spooler at:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
All printer, driver and port information is stored in separate keys under the Parameters key.
HKEY_LOCAL_MACHINE\Cluster\Resources\<Resource GUID>\Parameters
This key contains all printer specific information, spool directory information and job completion timeout information.
HKEY_LOCAL_MACHINE\Cluster\Resources\<Resource GUID>\Parameters\Environments
This key contains the structure necessary for other Windows based print clients (such as Windows NT 4.0, Windows 2000 and IA64-based Windows Clients).
The list of drivers and related information is stored under the subkey of the appropriate print clients.
HKEY_LOCAL_MACHINE\Cluster\Resources\<Resource GUID>\Parameters\Monitors
This key is where the cluster will store Port monitor information; the only supported Port monitors on a cluster are the TCP/IP and LPR standard port monitors.
Information regarding the TCP/IP ports, such as the port address, name and SNMP information, is stored here.
All other monitor (other port monitor + language monitor) information is located in the local node key.
HKEY_LOCAL_MACHINE \Cluster\Resources\<Resource GUID>\Parameters\Printers
In this key all print queue information is stored. This key contains information about the Print Processor in use by the print queue.
File locations:
On the local node:
The clustered print spooler files are stored separately from that of the local spooler. The start of the tree for file storage is here:
C:\windows\system32\spool\drivers\<GUID>
Beyond this, the folder structure is the same as that of the local spooler. The drivers, print processors and color profiles are stored here under appropriate folders:
C:\windows\system32\spool\drivers\<GUID>\Drivers
This key stores driver files installed on the clustered print spooler, as well as the structures necessary for other Windows based print clients (such as Windows NT 4.0, Windows 2000 and IA64-based Windows Clients).
For x86 print clients the drivers are stored under:
C:\windows\system32\spool\drivers\<GUID>\Drivers\w32x86
C:\windows\system32\spool\drivers\<GUID>\Drivers\PRTPROCS
This is the store for the 3rd party print processor DLLs used by the clustered printers. The same information is replicated in the shared disk under the folder named PrinterDrivers:
S:\PrinterDrivers\PRTPROCS
-> Print Processors
S:\PrinterDrivers\Drivers
-> Driver files under the appropriate client folder structure
S:\PrinterDrivers\Monitors
-> Monitor DLLs if any
This also contains the Spool folder where the print jobs are spooled.
S:\Spool -> Spool folder where print jobs are spooled
Scoping the Issue:
Here are some things to check when troubleshooting a print cluster issue:
1. Does the problem only occur in a clustered environment? If not troubleshoot as normal spooler issue
2. Are there any events that occur in Event viewer?
3. Is the problem occurring on both nodes of the cluster?
4. Are the nodes of the cluster at the same functional level in regards to print specific files like win32spl.dll, spoolsv.exe? Have you compared the hotfixes and drivers installed on each node?
5. Does the problem occur on more than 1 Print Server? Have you confirmed moving the Spooler resource to another node long enough to confirm if it has the same issue?
6. Is the Spooler service crashing or hanging?
7. How many printers are having the problem? Is it limited to printers using the same driver, monitor or print processor?
8. Are there any third-party port monitors installed, which are not supported on cluster configurations?
9. Are there any third-party print processors?
Printing Best Practices:
Disable Printer Redirection on the print server to avoid inadvertent driver installation.
Exclude the SPOOL folder from AV scanning
Exclude the Quorum from AV scanning
Use only Version-3 (user mode) drivers
Try to use an Inbox Version-3 driver whenever possible. The preference should be:
Inbox PostScript Driver
Inbox PCL 6 Driver
Inbox PCL 5E/C Driver
VISTA/Longhorn server compatible Driver
OEM Universal driver
OEM mini driver
OEM PostScript, OEM PCL 6, OEM PCL 5E/C, OEM PCL 5
Use a Unidrv based driver wherever possible.
Avoid Version-2 or Version-0 drivers since these typically run in the kernel mode and are capable of causing machine-wide problems, up to and including bugchecks.
Use the WinPrint print processor for your printer as much as possible unless you have specific printing needs.
Data Gathering : In all cases, first collect either the MSFT Cluster version of the MPS Reports or a Cluster-oriented MSDT manifest.
Additional Resources:
Recommended hotfixes for 2003 clusters:
-
895092 Recommended hotfixes for Windows Server 2003-based server clusters
-
923830 Recommended hotfixes for Windows Server 2003 Service Pack 1- based server clusters
- 935640 Recommended hotfixes for Windows Server 2003 Service Pack 2-based server clusters
Links:
Cluster Diag: http://technet.microsoft.com/en-us/library/aa996161(EXCHG.65).aspx
ASKPerf printing guides: http://blogs.technet.com/askperf/archive/tags/Printing/default.aspx
2003 Clustering: http://www.microsoft.com/windowsserver2003/technologies/clustering/resources.mspx
White Paper: Creating and Configuring a Highly Available Print Server Under Microsoft Windows Server 2003 Using a Server Cluster
http://www.microsoft.com/windowsserver2003/techinfo/overview/availableprinter.mspx
278455 How to set up a clustered print server
http://support.microsoft.com/default.aspx?scid=kb;EN-US;278455
302539 How to Troubleshoot Printing Issues on a Windows Server 2003 Cluster
http://support.microsoft.com/default.aspx?scid=kb;EN-US;302539