Combining multiple Print&Share CQ instances

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.

Prerequisites

  • 2x Windows Server (e.g. 2019) (ServerA, ServerB)
  • MS SQL Server (e.g. Express)

Configuration

License

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).

Network

Configure both servers so that they have a static IP.
For example:

Server A: 192.168.0.21
Server B: 192.168.0.22

Join both servers to your domain.

MS SQL Server Express

  1. Download MS SQL Server Express and install it on a server.
  2. Enable Mixed mode authentication (Windows authentication and SQL authentication).
  3. 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

  1. Download Print&Share CQ executable.
  2. Download and install .NET 5 or let the setup executable install the prerequisite when missing.
  3. 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: http://192.168.0.21:800 or https://192.168.0.21:4433 (port and IP might be different at your side).

  1. Log in with the Domain Administrator or Local Computer Administrator if you have not changed this already.
  2. Navigate to Manage > System Setup > System settings.
  3. You'll notice that the Shared application folder is pointing to a local path.
    Change this local path to a shared network folder, accessible (read/write) for both Server A and Server B.
    For example: \\ServerA\PSCQShared.

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: \\ServerA\PSCQShared
In a real world environment you might put this on a different server, SAN,...

Database connection:

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.

  1. Create a new database and call it for example WinkingPSCQ.
  2. Create a new SQL Server user, for example pscq and map it to the WinkingPSCQ database.
  3. In the Print&Share CQ Portal navigate to Manage > System Setup > System settings.
  4. Click the options next to the Database connection: and select Microsoft SQL Server.
  5. 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: 192.168.0.22.

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.21:4433 or 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:

  1. On the Server launch Server Manager
  2. Click Manage
  3. Click Add New Roles and Features.
  4. Click Next to skip the Before you Begin screen.
  5. Select Role-based or Feature-based installation at the Installation type option.
  6. For the Server Selection choose Select a server from the server pool. And select the current server.
  7. Click Next.
  8. Click Next on the Select server roles.
  9. Select the Network Load Balacing from Features.
  10. Click Next and Confirm to Install.

Repeat this step for the other server (e.g. Server B).

Configuration of MS NLB:

On Server A:

  1. Open Network Load Balancing Manager from Server Manager > Tools.
  2. Create a new NLB Cluster by clicking Cluster > New.
  3. For Host: fill in the IP of Server A. In our case: 192.168.0.21.
  4. Select the Interface name and click Next. If you have one dedicated NIC (Network Interface Card), select it, otherwise select the only NIC available.
  5. Click Next in the New Cluster : Host Parameters screen.
  6. Click Add in the New Cluster : Cluster IP Addresses screen.
  7. Fill in the IP address and subnet mask that you will use in the web server cluster. In our case: IP: 192.168.0.20 and Subnet: 255.255.255.0`
    This will be the address that the end user might navigate to.
  8. Click Next to go to the New Cluster : Cluster Parameters screen.
  9. For the Full Intername name: fill in the FQDN (Fully Qualified Domain Name) e.g.: pscqnlb.com.
  10. 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 Multicast.
  11. In this basic setup we are only going to allow web traffic over port 631 (older versions used port 800 by default) for http and port 4433 for https, so that the portals could be reached.
    Select the default rule and click Edit.
  12. At the Add/Edit Port Rule dialog:
    **Cluster IP address: uncheck All and use the cluster IP 192.168.0.20.
    Port range: From: 631 To: 631.
    Protocols: TCP.
    Filtering mode: Multiple hosts.
    Affinity: Single.
    Load weight: Equal.
    Click OK.
  13. Add a second Port Rule, with the same settings, but with Port range: From: 631 To: 631 and click OK.
  14. Click Finish, the NLB Cluster with name pscqnlb.com will 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.

  1. In the Network Load Balancing Manager tool select the cluster. In our case pscqnlb.com (192.168.0.20).
  2. Right-click on the cluster name that you selected an choose Add Host To Cluster.
  3. On the Add Host to Cluster : Connect dialog, fill in the IP address of the second server (Server B). In our case: 192.168.0.22.
  4. Select the NIC and click Next.
  5. 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 https://192.168.0.20:4433 or http://192.168.0.20:631 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.

Configure DNS:

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:631 for example.

  1. Go to your DC (Domain Controller) or the server where you manage your DNS.
  2. Open DNS Manager via Server Manager > Tools > DNS.
  3. Select under the DNS tree select your domain under the Forward Lookup Zones.
  4. Here you will see several Host (A) records.
  5. Right-click in the pane and select New Host (A or AAAA).
  6. Fill in the New Host information. (Name: pscqnlb.com; IP address: 192.168.0.20).