Clustering and high availability
PaperCut NG is designed to scale to networks over 50,000 users (largest deployments are running over 300,000 users). To ensure reliability on networks of this size, network architects can adopt strategies including:
Load balancing - spreading tasks across multiple servers.
Clustering - building in redundancy by implementing a failover strategy.
PaperCut NG is a cluster compatible application. It supports clusteringClustering allows your organisation to ensure your services are not affected if anything should happen to your main server. PaperCut is a cluster compatible application and is supported under Windows (Microsoft Cluster Server / MSCS, Microsoft Failover Cluster Manager / MSFCM, Vetitas Cluster Server / VCS) and Linux (Novell Cluster Services / NCS, Linux-HA) at all levels of the application, including: clustering at the print spooler service layer by integrating with clustering services, failover based clustering at the Application Server layer using clustering services, and at the database layer by utilising cluster aware databases such as Microsoft SQL Server, PostgreSQL, or Oracle. at all levels of the application, including
Clustering at the print spooler service layer by integrating with clustering services.
Failover based clustering at the Application ServerAn Application Server is the primary server program responsible for providing the PaperCut user interface, storing data, and providing services to users. PaperCut uses the Application Server to manage user and account information, manage printers, calculate print costs, provide a web browser interface to administrators and end users, and much more. layer using clustering services. (PaperCut's Application Server is web and web servicesWeb services are a standardized way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone. based, which means it can support other failover methods such as heartbeat driven DNS).
At the database layer by utilizing cluster aware databases such as Microsoft SQLStructured Query Language (SQL) is a special-purpose programming language designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS). Server or Oracle.
Setting up PaperCut in a cluster environment is an advanced operation. This section assumes a high level of expertise in system and cluster configuration. Make sure the cluster environment is operational before undertaking the PaperCut installation. Readers should also have a good understanding of PaperCut's Service Oriented Architecture - specifically its two main components, the Application Server and the Print ProviderA Print Provider is a monitoring service installed on a secondary print server to allow PaperCut to control and track printers. This monitoring component intercepts the local printing and reports the use back to the primary Application Server. and how they work together (see Print monitoring architecture).
In a cluster environment, you can set up PaperCut 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 printers and print monitoring layer. The cluster print serverA print server is a system responsible for hosting print queues and sharing printer resources to desktops. Users submit print jobs to a print server rather then directly to the printer itself. A print server can be a dedicated server but on many networks this server also performs other tasks, such as file serving is configured as a secondary print server reporting back to a primary PaperCut server hosted on another system outside the cluster.
Mode 2 implements clustering on all levels of the application for maximum fault tolerance - In addition to the print queues, the PaperCut Application Server is also hosted in the cluster. Mode 2 is somewhat more demanding to configure and should only be attempted by organizations with staff experienced with advanced cluster and database management.
Refer to the subsequent sections for an explanation on how to set up Mode 1 or Mode 2 in your environment.
This section assumes that you have an already installed and working clustered printing environment.
Share your findings and experience with other PaperCut users. Feel free to add comments and suggestions about this Knowledge Base article. Please don't use this for support requests.