Hey folks
I have a centralized CUPS server running on Rocky 8 with approx 50 printers, and have this shared out to a number of different clients (largely ‘host’ systems running our ERP software), all based on Rocky 8 and everything works nicely. cups version is cups-2.2.6-62.el8_10.x86_64 on clients and server.
Recently I’ve been trying to add an additional CUPS server, mainly for continuity reasons. To do this I followed the Redhat docs on setting up a centralized print server, and following this I noticed a few configs that needed tidied up to match the recommended setup. We have been using the existing centralized server for approx 3 years with no issues.
cupsd.conf on centralized server and clients
#
#
# Configuration file for the CUPS scheduler. See `man cupsd.conf' for a
# complete description of this file.
# Log general information in error_log - change 'warn' to 'debug'
# for troubleshooting...
LogLevel warn
# Deactivate CUPS' internal logrotating, as we provide a better one, especially
# LogLevel debug2 gets usable now
MaxLogSize 0
# Increase number of max active/remembered jobs from 500 to 2000.
MaxJobs 2000
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
ServerAlias *
# Show shared printers on the local network.
# Enable printer sharing and shared printers.
Browsing Off
BrowseOrder allow,deny
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Informational, for web interface
ServerAdmin #SNIP#
# Restrict access to the server...
<Location />
# Allow remote administration...
Order allow,deny
Allow @LOCAL
#SNIP#
</Location>
# Restrict access to the admin pages...
<Location /admin>
# Allow remote administration...
Order allow,deny
Allow @LOCAL
#SNIP#
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
# Allow remote access to the configuration files...
Order allow,deny
Allow @LOCAL
#SNIP#
</Location>
cups-browsed.conf on clients
BrowseProtocols None
BrowseLocalProtocols None
BrowseRemoteProtocols None
BrowsePoll cupsserver.localdomain
BrowseOrder Allow,Deny
LocalQueueNamingRemoteCUPS RemoteName
LoadBalancing QueueOnServers
HttpLocalTimeout 5
BrowseInterval 2400
BrowseTimeout 12000
DebugLogging file
LogDir /var/log/cups/browsed
I notice when I set the Browse…Protocol settings to None, CUPS no longer seems to honour the LoadBalancing QueueOnServers
setting, which then causes print jobs to queue on the client, causing a ~5 second delay between print jobs. This isn’t an issue for most of our printers, but we do have a few high volume invoice printers and the delay is causing some grief.
If I set BrowseProtocols CUPS dnssd
, the jobs spool from the clients almost immediately and queue on the server, but I don’t think this allows me to use the printer clustering.
Have I missed something with the config, or is the LoadBalancing setting not honored in this configuration?
Thanks
Mike