Despite all the talk of the “paperless office,” printing remains a critical background service on nearly every network. Printer problems often attract as many urgent tech support calls as any other problem. You can ease that burden by clustering any LPR or IP network printer (not local printers) in Windows 2000.

Here are some of the benefits of clustering a print service using Win2K:

  • If the print service fails and is resumed on the other server, new print jobs will succeed without the user being aware of the original failure.
  • Queued prints will automatically be transferred to the other server. (However, if a document is in the middle of printing when the print service fails, it will start printing from page one again on the new server.)
  • If you manually take the clustered print service offline or manually move it to the other server, Cluster Service will attempt to finish printing any queued print jobs, but any currently spooling documents will be discarded and must be resubmitted by the users.

Configuring a clustered print service is slightly different from other clustered services because it involves three distinct steps:

  • Configuring a Print Spooler resource
  • Installing print drivers on each server in the cluster
  • Configuring the printer ports on the virtual print server


This article assumes a basic familiarity with the Windows 2000 Cluster Service. If you are new to the Cluster Service, take a look at these articles:

Configuring a Print Spooler resource
The cluster resource type you need to support clustered printers is the Print Spooler. A single Print Spooler can support multiple printers, but you can’t have more than one Print Spooler resource in a cluster group.

Dependent resources include Physical Disk (one of your external disks), Network Name (this is the virtual server), and IP Address (address of the virtual server and not address of the printer), so make sure these are already in the disk group you want to use before creating the Print Spool resource in the Cluster Administrator.

The two configuration options for the Print Spooler resource are the location of the spool directory (one of your external disks) and job completion timeout (how long the Cluster Service will wait to finish printing a spooled document before aborting and restarting it on the other server after failover). These two Print Spooler configuration options are shown in Figure A.

Figure A
Configuring a clustered Print Spooler

You do not have to manually create the spool directory; Cluster Service will do it for you. However, you must install and configure the printer drivers and ports outside the Cluster Administrator before you can use your clustered Print Spooler. Make sure the Print Spooler resource and all associated resources are brought online before proceeding.

Installing print drivers on each server in the cluster
On each server in the cluster, use the Add Printers wizard to install the appropriate printer driver(s). It really doesn’t matter what configuration options you supply (e.g., name of the printer and whether local or network) because we will delete this logical printer once the printer drivers are copied over. The only important thing here is to select the correct printer type and driver, including any additional drivers that are necessary.

When the printer drivers have been copied over, you can delete the printer icon you’ve just created on both printers, since we’re going to re-create it on the virtual server. The printer drivers will remain installed.

Configuring the printer ports on the virtual server
Now we come to the part of the process that isn’t overly intuitive. You must add a new printer to the virtual server you created for your Print Spooler resource, which configures the printer port. You do this once, on either of the servers in the cluster.

On one of the servers, from Start | Run, type \\<servername>, where servername is the network name you created in the Print Spooler group. You should now see two folders, one for Scheduled Tasks and another for Printers. If you don’t see Printers, your Print Spooler resource is not online or you haven’t specified the correct virtual server name.

Go into the Printers folder and select Add Printer. After clicking Next you’ll see the Local Or Network Printer page. The only option you should have available is Remote Print Server with the name of the virtual server you’re using, as shown in Figure B.

Figure B
Adding a printer to the virtual print server

Select Next, and then select Create A New Port, with the type being Standard TCP/IP Port. This takes you to the Add Standard TCP/IP Printer Port Wizard, where you’ll supply the printer’s IP address and any additional information such as network card type. (If in doubt, keep the default card type of Generic Network Card.)

Once you’ve created your new printer port, return to the Add Printer wizard to select the printer driver you want to use with the port. Because we previously installed the driver, it will already exist on the computer. So after selecting it, accept the default setting, Keep Existing Driver (Recommended).

Now you should be on familiar ground to complete the printer setup. You simply need to specify the printer name you want to use and its share name, together with any optional configuration options, like location and comment.

After you click Finish, you should be able to see the newly created shared printer on the virtual server, and you’ll be all set to have users add it as a network printer.