Print&Share CQ load balancing and high availability
This article will guide you through the process of running multiple Print&Share CQ instances on different servers.
In this particual configuration we'll show several points of attention. Our environment exists of two virtual machines running Windows Server (2019) having access to our AD domain and for storage we'll use MS SQL Server Express.
In a most basic Print&Share CQ configuration you have P&S CQ running on a Windows server. One or multiple P&S CQ printers are shared to the clients. The single instance of P&S CQ processes every print job.
Depending on your configuration or architecture you might have different software or hardware solutions to configure load balancing, clustering or high availability.
- 2x Windows Server (e.g. 2019) (ServerA, ServerB)
- MS SQL Server (e.g. Express)
When combining multiple P&S CQ instances, it is important to know that every instance should have the same software license (= reference code). This must be a single reference code with 2 or multiple activations (depending on the number of instances you are planning to combine).
Configure both servers so that they have a static IP.
Server A: 192.168.0.21 Server B: 192.168.0.22
Join both servers to your domain.
MS SQL Server Express
- Download MS SQL Server Express and install it on a server.
- Enable Mixed mode authentication (Windows authentication and SQL authentication).
- To manage MS SQL Server it is recommended to download and install the Microsoft SQL Server Management Studio (SSMS)
For demo purposes we'll install the MS SQL Server Express on Server A, but a dedicated database server is always recommended.
When working with multiple instances, it is not recommended to use MS LocalDB.
P&S CQ installation
- Download Print&Share CQ executable.
- Download and install .NET 5 or let the setup executable install the prerequisite when missing.
- Install P&S CQ on the server
Repeat the steps for the other server. Make sure you use the same installation settings (user, ports,...)
P&S CQ configuration
Shared network folder:
Now we are going to change path where the P&S CQ instances read and write data to be processed. Both instances/servers should point to the same location. The path should thus be accessible from Server A and Server B.
Navigate to the P&S CQ portal on Server A:
https://192.168.0.21:4433 (port and IP might be different at your side).
- Log in with the Domain Administrator or Local Computer Administrator if you have not changed this already.
- Navigate to
Manage > System Setup > System settings.
- You'll notice that the
Shared application folderis pointing to a local path.
Change this local path to a shared network folder, accessible (read/write) for both Server A and Server B.
On Server 2019 you could simple create a folder
C:\PSCQShared and share it so that Server B can also access it.
The path that you use could then be similar to:
In a real world environment you might put this on a different server, SAN,...
Next step is to change the database connection from LocalDB to MS SQL Server. Both P&S CQ instances should point to the same database.
We assume that you are familier with MS SQL Server and its SSMS.
- Create a new database and call it for example
- Create a new SQL Server user, for example
pscqand map it to the
- In the Print&Share CQ Portal navigate to
Manage > System Setup > System settings.
- Click the options next to the
Database connection:and select Microsoft SQL Server.
- Fill in the connections details for your database.
So far we have changed the system so that Server A uses MS SQL Server and that the data folder is pointing to a shared folder.
Repeat the steps for Server B so that this server also points at the shared folder and that it uses the MS SQL Server database. Get started by going to the P&S CQ portal of Server B, in our case IP:
Basic web portal load balancing
As an end user you don't want to remember the IP addresses, either by navigating to
https://192.168.0.22:4433. It would be easier to remember only one address instead or two (e.g.:
https://192.168.0.20:4433) or even use a simple host name instead of an IP address.
In this case we'll demonstrate how it could be done by simply using of Microsoft Network Load Balancing Manager (MS NLB Manager) tool.
Installation of MS NLB:
- On the Server launch Server Manager
- Click Manage
- Click Add New Roles and Features.
- Click Next to skip the Before you Begin screen.
- Select Role-based or Feature-based installation at the Installation type option.
- For the Server Selection choose Select a server from the server pool. And select the current server.
- Click Next.
- Click Next on the Select server roles.
- Select the Network Load Balacing from Features.
- Click Next and Confirm to Install.
Repeat this step for the other server (e.g. Server B).
Configuration of MS NLB:
On Server A:
- Open Network Load Balancing Manager from
Server Manager > Tools.
- Create a new NLB Cluster by clicking
Cluster > New.
- For Host: fill in the IP of Server A. In our case:
- Select the Interface name and click Next. If you have one dedicated NIC (Network Interface Card), select it, otherwise select the only NIC available.
- Click Next in the New Cluster : Host Parameters screen.
- Click Add in the New Cluster : Cluster IP Addresses screen.
- Fill in the IP address and subnet mask that you will use in the web server cluster. In our case:
This will be the address that the end user might navigate to.
- Click Next to go to the New Cluster : Cluster Parameters screen.
- For the Full Intername name: fill in the FQDN (Fully Qualified Domain Name) e.g.:
- For Cluster operation mode, if you have 2 or more NICs in step 4 (meaning that you have a dedicated NIC) you could use
Unicast. If you only had a single NIC in step 4 select
- In this basic setup we are only going to allow web traffic over port
800for http and port
4433for https, so that the portals could be reached.
Select the default rule and click Edit.
- At the Add/Edit Port Rule dialog:
**Cluster IP address: uncheck
Alland use the cluster IP
Port range: From:
- Add a second Port Rule, with the same settings, but with Port range: From:
800and click OK.
- Click Finish, the NLB Cluster with name
pscqnlb.comwill now be created with a single node, our Server A.
All we have to do now is adding our second server Server B to the cluster.
- In the Network Load Balancing Manager tool select the cluster. In our case
- Right-click on the cluster name that you selected an choose Add Host To Cluster.
- On the Add Host to Cluster : Connect dialog, fill in the IP address of the second server (Server B). In our case:
- Select the NIC and click Next.
- Leave everything default, and click Next and Finish.
(if you see that Host Parameters or Port Rules are not as we configured them, adjust it.)
When browsing now to
http://192.168.0.20:800 the MS NLB will choose either Server A (192.168.0.21) or Server B (192.168.0.22). As an end user you will not know on which server you are working.
Now we want to add a name to our web address. Instead of using the IP address, it would be better if we could use
pscqnlb.com:800 for example.
- Go to your DC (Domain Controller) or the server where you manage your DNS.
- Open DNS Manager via
Server Manager > Tools > DNS.
- Select under the DNS tree select your domain under the Forward Lookup Zones.
- Here you will see several Host (A) records.
- Right-click in the pane and select New Host (A or AAAA).
- Fill in the New Host information. (Name:
pscqnlb.com; IP address: