Cluster Configuration Modes

In a Microsoft Cluster environment, PaperCut NG can be set up in one of two possible configurations. Mode 1 is the simplest configuration and is suitable for most organizations. It implements clustering in the “front line” - that is the printer and print monitoring layer. Mode 2 implements clustering on all levels of the application for maximum fault tolerance. Mode 2 is somewhat more demanding to configure and should only be attempted by organizations with staff experienced with advanced cluster and database management.

Mode 1 - Clustering at the Print Provider layer

The PaperCut NG Print Provider is the component that integrates with the print spooler service and provides information about the print events to the PaperCut NG Application Server. At a minimum, in a cluster environment, the Print Provider component needs to be included and managed within the cluster group. The Application Server component (The Standard Install option in the installer) is set up on an external server outside the cluster. Each node in the cluster is configured to report back to the single application server using XML Web Services over TCP/IP.

Step 1 - Application Server Setup

Install the Application Server component (Standard Install option) on your nominated system. This system will be responsible for providing PaperCut NG's web based interface and storing data. In most cases this system will not host any printers and is dedicated to the roll of hosting the PaperCut Application Server. It may be one of the nodes in the cluster; however a separate system outside the cluster is generally recommended. An existing domain controller, member server or file server will suffice.

Step 2 - Installing the Print Provider components on each node

The Print Provider component needs to be separately installed on each node involved in the print spooler cluster. This is done by selecting the Secondary Print Server option in the installer. Follow the secondary server set up notes as detailed in Chapter 12, Configuring Secondary Print Servers and Locally Attached Printers . Take care to define the correct name or IP address of the nominated application server set up in step 1.

Step 3 - Decouple service management from nodes

By default the Print Provider component is installed under the management of the node. To hand over management to the cluster, the service start-up type needs to be set to manual. On each node navigate to Control PanelAdministrative ToolsServices, locate the PaperCut NG Print Provider Service. Stop the service and set the start-up type to Manual. Repeat for each node in the cluster.

Stopping the service and setting to Manual startup

Figure 16.1. Stopping the service and setting to Manual startup

Step 4 - Adding the Print Provider service as a resource under the print spooler's cluster group

  1. Open the Cluster Administrator.

  2. Right-click on the cluster group hosting the spooler service and select NewResource.

    Creating a new cluster resource

    Figure 16.2. Creating a new cluster resource

  3. In the new resource wizard, enter a name of PaperCut Print Provider and select a resource type of Generic Service. Click Next.

  4. Click Next at Possible Owners.

  5. Ensure that the Print Spooler Service resource is set as a required dependency, then click Next.

  6. On the Generic Service Parameters page, enter a service name of PCPrintProvider and ensure the Use Network Name for computer name option is checked. Click Next.

    Cluster service parameters configuration

    Figure 16.3. Cluster service parameters configuration

  7. Click Finish at the Registry Replication page.

Step 5 - Bring up all cluster resources and test

Perform operations to verify that:

  1. Print jobs log as expected.

  2. No error message appear in the Print Providers text log located at: C:\Program Files\PaperCut NG\providers\print\win\print-provider.log on each node.

Special notes regarding multiple virtual servers

On large networks it is common to distribute load by hosting print spooler services under two or more virtual servers. Virtual servers cannot share the same service on any given node. For this reason if the virtual servers share nodes, you'll need to manually install the PaperCut Print Provider service a second time under a different name. This can be done via the command line as follows:

   cd C:\Program Files\PaperCut NG\providers\print\win
   pc-client.exe PCPrintProvider2 /install
                    

The argument proceeding /install is the unique name to assign to the service. The recommended procedure is to suffix the standard service name with a sequential number.

Mode 2 - Clustering at all application layers

Mode 2 implements failover clustering at all of PaperCut NG's Service Oriented Architecture software layers, including:

  • Clustering at the Print monitoring layer

  • Clustering at the Application Server layer

  • Optional clustering at the database layer

Mode 2 builds upon Mode 1 by introducing failover (Active/Passive) clustering in the Application Server layer. This involves having an instance of the application server on each of the cluster nodes. When one node fails, the other automatically takes over the operation. Both instances use a share data source in the form of an external database (see Chapter 15, Deployment on an External RDBMS). Large sites should consider using a clustered database such as Microsoft SQL Server.

Step 1 - Application Server Installation

On one of the cluster's nodes, install the PaperCut NG Application Server component by selecting the Standard Install option in the installer. Follow the setup wizard and complete the process of importing all users into the system.

Step 2 - Convert the system over to an external database

The system needs to be configured to use an external database as this database will be shared between both instances of the application server. Convert the system over to the required external database by following the procedure detailed in Chapter 15, Deployment on an External RDBMS. The database may be hosted on another system, or inside a cluster. As per the external database setup notes, reference the database server by IP address by entering the appropriate connection string in the server.properties file.

Step 3 - Setup of 2nd Node

Repeat steps 1 and 2 on the second cluster node.

Step 4 - Decouple service management from the nodes

By default the PaperCut NG Application Server component is installed under the management of the node. It needs to be managed inside the cluster, so the service's start-up type should be set to manual. On each node navigate to Control PanelAdministrative ToolsServices locate the PaperCut Application Server. Stop the service and set its start-up type to Manual. Repeat this on both nodes.

Step 5 - Create a new cluster group

The PaperCut NG Application Server should be designated to run inside its own cluster group. Create a new cluster group containing the two nodes. Add an IP Resource and a Network Name resource. Give the network name resource an appropriate title such as PCAppSrv.

Step 6 - Adding the PaperCut Application Service as a resource managed under the new cluster group.

  1. Open the Cluster Administrator.

  2. Right-click on the cluster group hosting the spooler service and select NewResource.

  3. In the new resource wizard, enter a name of PaperCut NG Application Service and select a resource type of Generic Service. Click Next.

  4. Click Next at Possible Owners page.

  5. Click Next at Dependency page.

  6. On the Generic Service Parameters page, enter a service name of PCAppServer and ensure the Use Network Name for computer name option is checked. Click Next.

  7. Click Finish at the Registry Replication page.

Step 7 - Bring the cluster group online

Right-click on the cluster group and select Bring online. Wait until the application server has started, then verify that you can access the system by pointing a web browser to :

    http://[Virtual Server Name]:9191/admin 
                    

Login, and perform some tasks such as basic user management and User/Group Synchronization to verify the system works as expected.

Step 8 - Set up the Print Provider layer

Interface the PaperCut NG Print Provider layer with the clustered spooler service by following the same setup notes as described for Mode 1. The exception being that the IP address of the application server will be the IP address assigned to the Virtual Server assigned in step 5.

Step 9 - Test

Mode 2 setup is about as complex as it gets! Take some time to verify all is working and that PaperCut NG is tracking printing on all printers and all virtual servers.

Clustering Tips

Tip

Take some time to simulate node failure. Monitoring may stop for a few seconds while the passive server takes over the role. Simulating node failure is the best way to ensure both sides of the Active/Passive setup is configured correctly.

It is important that the version of PaperCut NG running on each node is identical. Ensure that any version updates are applied to all nodes so versions are kept in sync.

The PaperCut NG installation sets up a read-only share exposing client software to network users. If your organization is using the zero-install deployment method, the files in this share will be accessed each time a user logs onto the network. Your network may benefit from exposing the contents of this share via a clustered file share resource.