You are here: Installation > Advanced implementation > Clustering and high availability > Virtual Machine clustering

Virtual Machine clustering

Virtual Machine (VM) technologies, such as VMWare, Microsoft Hyper-V are becoming increasingly popular. They provide great flexibility in deploying servers within an organization. VM implementaions can also provide high-availability through the use of VM clusters. When a VM is running in a highly available VM cluster, any failure of the physical hardware does not affect the running VM as it is seemlessly transferred to another node in the cluster.

Implementing high-availability using VM infrastructure is much simpler to install and manage than using the built-in operating system and application 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. support. You set up your VM instances and the VM infrastructure ensures they continue to run uninterrupted.

This allows you to set up PaperCut in the same way as on a physical server, but allow the VM infrastructure to provide the high availability.

This section discusses a generic clustered Virtual Machine setup.

PaperCut offers great flexibility and allows you to easily structure your installation into physical multi-tiered clustered components.

Clustering at Virtual Machine level offers these advantages over other traditional clustering setups:

  • Your software, drivers, settings, etc. are installed and configured once, in a single VM

  • Depending on your VM infrastructure, when a physical node fails the VM can be shifted to another node with marginal or no downtime

  • Dramatically simplified backup processes

  • Disaster recovery capabilities are inherently available

Virtual Machine hosts can automatically detect when a VM crashes or becomes unresponsive. You should consider whether you will augment this with application level monitoring. Although the VM might be running normally, the underlying application can have problems and application level monitoring can detect this. Ways to perform application level monitoring include (but not limited to):

Define your VM clustering environment

Define your Virtual Machine Vendor/Product and how you want configure the VM cluster for high availability.

There are many VM deployment strategies you can leverage depending on the VM platform you are utilizing, including VMs that might be hosted in different physical boxes, or even in different sites, which might configure a typical Disaster Recover (DR) scenario.

When selecting a VM product, it's particularly important to consider the following product features:

  • Fault Tolerance (FT): FT provides continuous availability for virtual machines by automatically creating and maintaining a secondary virtual machine that is identical to the primary virtual machine.

  • High Availability (HA): Should a VM fail, you can make a new VM available minimizing down time. Generally, FT is a functionality added on top of HA that provides seamless switch over if no loss of state.

  • Application High Availability (App HA): It's important that your VM vendor product offers Application Level monitoring. If the application fails, you can make a new VM available minimizing down time.

  • Data Replication and Backup: Consider features on how the application data can be backup and restored. Generally tape based backups are slow and can very often get corrupted. Replication of in memory data in case of FT or Disaster Recovery (DR) features might also play an important role. Specific proprietary algorithms for memory segments replication usually reduce the bandwidth needs and are very efficient.

VM clustering setup

There are many ways in which you can deploy PaperCut on VM infrastructure. Consider the following for implementing a VM-based clustered PaperCut installation.

Mode 1 - Clustering at the print layer

Set up and configure print servers as required in your VM environment, and configure them for VM high availability. You then just need to install the PaperCut secondary serverA PaperCut secondary server is a system that directly hosts a printer, that is, a print server with a Print Provider installed. A secondary server can be a server style system hosting many printers, a desktop style system hosting printer(s) also shared to other network users, or a desktop style system with the printer used only for local users (not shared). components to monitor printing on the print servers. See Configuring secondary print servers and locally attached printers.


Microsoft have a guide to high availability printing that discusses the set up of printing in highly available VM enironments (in particular Hyper-V). See the Microsoft High Availablity Printing Overview.

Mode 2 - Clustering at the Application Server layer

Setup and configure a new server in your VM infrastructure to host the Application Server component. Configure this VM with high-availability. Then install the PaperCut Application Server as per the normal setup process.

You can then choose to set up your print servers for high availablity as described in Mode 1 - Clustering at the Print Layer.


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.