Overview of ThinPrint Line Printer Daemon
Which Network Load Balancer can I use?
Windows Network Load Balancer (NLB)
Installing using the Windows Server Manager
Configuration of the Network Load Balancer
Configuration of the ThinPrint LPD
Choose which type of load balancer you are going to use
Restricting the service to specific printer queues
Restricting the service to specific sources
Overview of ThinPrint Line Printer Daemon
With our own ThinPrint LPD, we also bring high-availability printing to backend systems. In cooperation with the Microsoft Network Load Balancer, we create a virtual resource that generates a static printer share that can be used by the backend system. In addition to the Network Load Balancer, the ThinPrint HA service decides whether the print server is still functional or is temporarily deactivated for the cluster. Spooler information and messages from other ThinPrint HA components such as ThinPrint AutoConnect flow together in the ThinPrint HA service and form the best possible basis for decision-making. Once everything is back to normal, the ThinPrint HA service can reactivate the print server for the cluster.
Licensing
The use of this service requires an additional license per print server (independent of the named user licensing). If you do not yet have a license, please contact sales@thinprint.com.
Technical Requirements
- Microsoft Network Load Balancer on all print servers that should be part of the cluster or
a HTTPS-based network load balancer like Azure Load Balancer or Network Load Balancer on AWS - ThinPrint Engine 13.2 (Print Server Role)
- Static IP address for each print server
- Static IP address for the virtual load balancer
Which Network Load Balancer can I use?
The right choice of the correct network load balancer depends on where your environment is running. Is your printing environment running on premises or in a public cloud? In on-premises environments we can work with the Windows embedded Network Load Balancing Feature. For cloud environments or third party network load balancers we have the option to work with an HTTP health probe. As an example for cloud configuration please see the description for Azure Load Balancer. If you are using AWS, Google Cloud Platforms or any other cloud or third party solution, it doesn't mean it will not work with it. Please contact our consulting team the get a proper advice.
Go to Azure Load Balancer configuration
Windows Network Load Balancer (NLB)
Installing using the Windows Server Manager
- Open the Server Manager and start the "Add Roles and Features" wizard.
- Navigate through the wizard to "Features" and search for the "Network Load Balancing" feature.
The administrator tools are also installed together with the actual feature.
Installing using PowerShell
- Open a PowerShell console as administrator and enter the following command:
Install-WindowsFeature NLB -IncludeManagement Tools
The administrator tools are also installed.
Configuration of the Network Load Balancer
- First you need to start the Network Load Balancing Manager.
- In the NLB Manager, right-click on Network Load Balancing Clusters to open the context menu and select New Cluster.
- In the next steps, enter the IP address of your primary print server.
- Click on Next to go to the host parameters. You do not need to make any changes here. The priority should be set to 1, as this is the primary host.
- By clicking Next again, you can now enter the IP address of your cluster. This is the address under which the printer queues can be connected later. Click on Add here.... and enter the cluster IP address in the new window. Then confirm the entry with OK.
- Then continue by clicking on Next.
- Next, the parameters of the cluster are defined. A Full Internet Name is not required in our case.
Let's move on to the mode ‒ ThinPrint LPD has no restrictions in this regard. All modes are supported. Unlike web servers, the print server does not need a second NIC to be able to use unicast, which is why the configuration effort is minimal. Multicast and IGMP multicast must be permitted by the network and, in the case of IGMP multicast, even supported by the network hardware.
- The conditions under which the cluster is to perform its service must then be defined. The ThinPrint LPD Service listens on TCP port 515, which is why the port range is set to 515 only. The protocol can be restricted to TCP.
Multiple Host is selected as the filter and Single as the affinity. This means that print jobs from a specific client IP are always sent to the same node ‒ unless the node is no longer accessible. Print jobs from another client IP can therefore be sent to another node in order to distribute the load.
- Click OK to set up the cluster and the first node of the cluster.
- Further nodes can be added by right-clicking on the cluster node.
- The IP address must be entered again, this time for node number 2.
- Click on Connect to add the second node to the cluster.
- As can be seen in the screenshot, this node is given a different priority than the first node, which is why the configuration described here amounts to a failover cluster.
- Click on Next to return to the port rules, which have already been configured, so you can complete the wizard by clicking on OK.
- If all nodes are green, the network load balancer is fully configured.
Azure Load Balancer
- Go to https://portal.azure.com, sign in as an administrator and search for "Load balancers".
- There you can create a new load balancer. Choose your subscription and fill the form to get started.
- The next step will be creating the frontend IP which will be used to address your printers through the NLB.
- Choose your print servers to create a new backend pool.
- Give it a name.
- If necessary you can add more endpoints to it afterwards.
- Now you need to configure the health probe on that the load balancer can check if the endpoint is healthy or not. The default port is 4080 but you can change it to whatever you want, but it should be a free port that isn't used by another app or service.
- Last but not least put all pieces together and create the load balancing rule. Choose the already configured frontend IP, the backend pool and the health probe. Additionally, configure the used ports which, in our case, is 515 for LPR printing.
Configuration of the ThinPrint LPD
After installing the ThinPrint Engine in the print server role, the ThinPrint LPD is initially disabled and must be enabled manually.
- To do this, start the ThinPrint configuration and go to the ThinPrint LPD plugin and click on Edit Settings.
- A new window opens with the possible settings of the ThinPrint LPD.
- To enable the service, tick the checkbox at the top and confirm with Apply.
If no further restrictions are desired, the printers can be configured in the ERP system.
Choose which type of load balancer you are going to use
You can choose between Windows Network Load Balancing and HTTP-based Network Load Balancing. In case you will use the HTTP-based NLB you can also configure the health-probe port to another if you want to. The default port is 4080.
Restricting the service to specific printer queues
To increase security, the ThinPrint LPD can be configured so that it only sends print jobs to a defined list of print queues. To do this, a whitelist is created in the ThinPrint LPD settings. Without any configuration all printers are checked and available through the ThinPrint LPD service.
- In the upper section you can uncheck which printers you don't need or don't want to be available for LPD printing. Use the text field above the list to apply a filter on the list of printers. The list will update automatically when you start typing. You don't need to hit enter or something else. Besides the text field you find the check/uncheck checkbox to for the applied filter or selected items.
Restricting the service to specific sources
For added security, a whitelist can be created to define source clients that are allowed to submit print jobs to the ThinPrint LPD. If the list of authorized clients is empty, all machines are automatically allowed to send print jobs to the ThinPrint LPD.
- In the lower section of the ThinPrint LPD settings, the IP address of a client that is allowed to send jobs can be entered into the text field. Clicking on Add IP will add the IP address to the whitelist.
- If an IP address changes or an old system is replaced with a new one, the IP can be edited by selecting it and clicking on the Change button.
- If a backend system is completely removed, the corresponding IP address can be selected and removed from the whitelist using the Delete button.
Printing via LPR
On the client side, the printer is connected via LPR. The printer name and the static IP address of the Network Load Balancer are used for this purpose.