You can use Windows Clustering to host print server
functionality. The configuration steps in Microsoft Windows Server 2003 differ
from those in Microsoft Windows NT Server 4.0, Enterprise Edition, Microsoft
Windows 2000 Advanced Server, and Microsoft Windows 2000 Datacenter Server. To
set up a clustered print server, you need to configure only the Spooler
resource in Cluster Administrator and then connect to the virtual server to
configure the ports and print queues. This is an improvement over previous
versions of Windows Clustering in which you had to repeat the configuration
steps on each node in the cluster.
How to configure the spooler resource for the cluster
The first step in setting up a clustered printer server is to
create a Spooler resource for the service on a clustered server. The
appropriate resources need to be made available to the spooler service. To do
this, create a Spooler resource in Cluster Administrator:
To open Cluster Administrator, click
Start, click Run, type
cluadmin, and then click OK.
Right-click in the left pane, and then click
At the Welcome screen, click Next, and
then click Next again to create a new virtual
Click Use an existing Resource Group, and
then click an existing group that has a Disk resource in which you want to
store the spooler and printer drivers. Click Next.
For the resource group name, provide a name that accurately
represents the group, such as "SPOOLER."
Note This name is for administrative purposes only in Cluster
At the Virtual Server Access Information screen:
Under Network Name, enter a NetBIOS name to which
clients will connect. This is the NetBIOS virtual server name that is used by
clients to access the printers:
Note Microsoft recommends adhering to the 8.3-naming standard to
assure compatibility with earlier versions of the client.
Enter the IP address that clients will use to connect
to this virtual print server. If the nodes of the cluster have Print Services
for Unix installed and running, clients can connect using line printer remote
(LPR) to this IP address.
At the Advanced Properties screen, you can make
modifications to the resources that are about to be created, and then click
At the Create a Resource for My Application screen, click
Click Print Spooler, and then click
Give the Spooler resource a name.
Note This name is for administrative purposes only in Cluster
Set the dependencies for the Spooler resource:
Click Advanced Properties, and on the
Dependencies tab, click Modify.
Double-click the Physical Disk resource on which you
want the spooler files to be located, and the Network Name resource that you
Click OK twice.
Click Finish to complete the
Verify configuration and test failover:
Right-click the spooler group, and then click
Verify that all resources come online, and then check
the event logs for errors.
Right-click the spooler group, click Move
Group, move the Spooler resource to each node in the cluster that is a
possible owner, and then verify that all resources come online.
Note If you are setting up an active/active print server, you need to
create one group for each node and you want to set each spooler group to have a
different preferred owner. You cannot have multiple Spooler resources in the
same group. An active/active print server configuration is one in which there
are multiple nodes in the cluster that are processing print jobs for clients
with multiple spoolers. This could include as many as two to four nodes that
are actively handling requests.
When a single node is hosting
multiple groups with print spoolers, you will be able to browse all printers
from all groups.
For more information about related topics, click the following article number to view the article in the Microsoft Knowledge Base:
Cluster shares appear in browse list under other names
How to create the printer queues
Now that you have properly configured the Spooler resource with
the necessary resources, you can create all of the print queues for all of the
physical printers. You can also use the Clustool utility from the Resource Kit
to migrate previously existing printer queues on a server to a clustered
server. After that, use the Print Migrate utility to migrate the printer
drivers. For best results, avoid having multiple servers configured to
communicate directly with the same printer.
From one of the nodes or a remote computer that has
administrative permissions to the cluster click Start, click
VirtualServer is the name that is specified for the
Network Name resource on which the Spooler resource is dependent.
Double-click the Printers
Double-click Add Printers to open the Add
Printer Wizard, and then click Next.
Select Create a new port, and then click
Note: TCP/IP ports are the only supported port type on a Windows
Clustering. Use the Standard TCP/IP Port option unless the
printing clients need RFC-compliant LPR ports. If this is the case, follow
In Control Panel, double-click Add/Remove
Programs, and then click Add/Remove Windows
Components to start the Windows Components Wizard.
Under Components, scroll down and
click to select the Other Network File and Print Services
Click Details to open the Other
Network File and Print Services window, click to select the Print
Services for UNIX check box, and then click OK to
close the Other Network File and Print Services window.
Click Next to continue with the
Windows Components Wizard.
When you complete the wizard, the LPR port
will be available as a port type. By default, according to RFC 1179, LPR will
use only eleven TCP ports.
Type the IP address of the network printer that you want to
process the print jobs in the Printer Name or IP Address
Note: Bi-directional printing can also be a problem when using LPR
printing. Some printer drivers enable this option by default. When you create
the LPR port and printer, disable the Bi-directional printing
option. If this option is enabled, it may cause a printer to accept one or more
print jobs, and then stop accepting jobs until the printer is physically
You no longer have to create a locally-defined printer port
configuration for each node. In Windows 2000 (and later) the port configuration
is stored in the cluster registry and is therefore shared between all cluster
nodes, under the following key:
Choose the appropriate driver for this printer, and then
Give the printer a unique name on the cluster
Choose a share name for the printer; this name must also be
unique on this cluster. You do not want to have any other printers with the
same share name on this cluster, even if they are in a different group and
associated with a different Spooler resource. In the event of a failure, in an
active/active configuration the same node in the cluster may own both spooler
groups. If this occurs, printers that share a common name will not be
available. Again, it is recommended to adhere to the 8.3-naming standard for
compatibility with earlier versions.
Note: The installation process then copies the printer driver files to
the \\VirtualServer\print$ share. The printer
drivers are copied to the
GUID\Drivers folder of the node in the cluster that owns the
Network Name resource for this virtual name. The drivers are also copied to the
shared disk in the \PrinterDrivers folder.
Test the printing for this printer:
After you add
all the desired print queues, use Cluster Administrator to move the group that
contains the Print Spooler resource to all other nodes. This copies the printer
drivers from the \PrinterDrivers folder on the shared disk to the
%SystemRoot%\System32\Spool\Drivers\%Spooler GUID%\Drivers folder on that
Note: Printing is available immediately to clients when the queue has
been created even though the drivers have not been copied to all other
available nodes. It is not necessary to move the spooler group over to all
other nodes immediately after creating the queues for the cluster to function.
You can do this later when you can schedule a brief outage during which time
you can take the Spooler resource offline.
For more information about how to set up a highly-available print cluster, view the following white paper:
Note When you set up a print cluster, you have to set the Quorum log size to a size that is large enough to comply with the number of printers that will be installed. You should increase the size of the reset quorum log when you increase the size of the Quorum log size. To help determine whether you have to increase the reset quorum log size value, verify the size of the Clusdb file. Each node includes a local copy of this file in the %SystemRoot%\Cluster folder. The size of the reset quorum log for the transactional log should be larger than the size of the Clusdb file for the cluster registry.
For example, if you have installed printers and the size of the Clusdb file is 6 megabytes (MB), you should increase the size of the reset quorum log to 8192 bytes (8 MB). By default, the size of the reset quorum log on Windows Server 2003 is 4 MB. You should increase the size of the reset quorum log in 64 KB increments. A good rule is to double the current size of the reset quorum log.