Chapter 13. Setting up a high-availability CUPS print server environment
If your clients require access to printers without interruption, you can set up CUPS on multiple hosts and use the print queue browsing feature to provide high availability. Print clients then automatically configure print queues shared by the different print servers. If a client sends a print job to its local print queue, CUPS on the client routes the job to one of the print servers which processes the job and sends it to the printer.
Procedure
Set up CUPS on two or more servers:
- Install and configure CUPS.
- Enable TLS encryption.
Add print queues to all CUPS instances by using the lpadmin utility or the web interface. If you use the web interface, ensure that you select the Share this printer option while you add the printer. The
lpadmin
utility enables this setting by default.ImportantFor the high-availability scenario, each queue on one print server requires a queue with exactly the same queue name on the other servers. You can display the queue names on each server by using the
lpstat -e
command.Optional: You can configure the queues on each server to refer to different printers.
On print clients:
Edit the
/etc/cups/cups-browsed.conf
file, and addBrowsePoll
directives for each CUPS print server:BrowsePoll print_server_1.example.com:631 BrowsePoll print_server_2.example.com:631
Enable and start both the
cups
andcups-browsed
service:# systemctl enable --now cups cups-browsed
Verification
Display the available printers on a client:
# lpstat -t ... device for Demo-printer: implicitclass://Demo-printer/ Demo-printer accepting requests since Fri 22 Nov 2024 11:54:59 AM CET printer Demo-printer is idle. enabled since Fri 22 Nov 2024 11:54:59 AM CET ...
The example output shows that the Demo-printer queue uses the
implicitclass
back end. As a result,cups-browsed
routes print jobs for this queue to the hosts specified in theBrowsePoll
directives on this client.
Additional resources
- High-availability printing in Red Hat Enterprise Linux (Red Hat Knowledgebase)