This section assumes that you have an already installed and working clustered printing environment.
Mode 1 - Clustering at the print layer
Step 1 - Application Server (primary server) setup
Before installing a secondary server/clustered Print Provider you should take some time to ensure the primary PaperCut server (central Application Server) is set up and running correctly. The primary server is responsible for providing PaperCut NG/MF’s web based interface and storing data. In most cases where a cluster is involved, the primary server does not host any printers and is dedicated to the role of hosting the PaperCut Application Server. If it is not running fine now, adding an extra server only “adds an extra variable to the equation” and complicate troubleshooting. Take some time now to verify that the primary server is functioning correctly. For example, verify that:
-
Install and configuration is completed
-
Administrators can access the system via a web browser for administration.
-
Users can log in to the user web interface from their workstations.
Step 2 - Ensure firewall allows access to port 9191
Cluster nodes needs to communicate (initiate a TCP connection) with the primary PaperCut server on port 9191. Administrators should ensure that any firewall software on the primary Application Server set to block any incoming local network traffic on this port. A good way to test is to open a browser on the planned cluster nodes and confirm you can access the administration web interface on port 9191.
Step 3 - Create eDirectory user account
The papercut
user’s home directory denotes the application install location. For the fact that it is the default for LUM enabled users, /home/papercut
is recommended, and assumed through the rest of this guide.
-
In iManager open Users > Create User.
-
For username, enter
papercut
. -
For Last name enter
PaperCut LUM user
. -
For context select the same eDirectory context as your the iPrint user and iprintgrp group created during your clustered iPrint installation.
-
Assign the user a secret password during creation, and ensure the user’s password is set to not expire. If you are using eDirectory password policies, associate the user with an appropriate password policy after creation .
-
Select the Create home directory check box.
-
In Volume select the volume that is holding your clustered iPrint resource.
-
In Path ensure that it reads
papercut
. -
Click OK.
You now need to LUM enable this PaperCut eDirectory user and add it to the already LUM enabled iprintgrp
used by the clustered iPrint resource.
-
In iManager, open Linux User Management > Enable Users for Linux.
-
Select your papercut eDirectory user and continue.
-
Select An Existing Linux-Enabled Group; then select the
iprintgrp
created during your clustered iPrint installation; then click Next. -
Confirm that Workstation list includes all of the servers in your cluster; then click Next.
-
On your clustered iPrint volume, navigate to the
papercut
user’s NSS home folder (/media/nss/[volume]/papercut
) using, for example, Windows Explorer or ConsoleOne and addRWECMF
file rights for the eDirectory groupiprintgrp
created during your clustered iPrint installation. This ensures the iPrint services have access to the installed files. -
As
root
, on each node that will run the iPrint resource, run the following command, replacing[volume]
with the volume name of your iPrint resource.shell> ln -s /media/nss/[volume]/papercut /home/papercut
-
To confirm all the above stages are working, using any method you want (such as the traditional Novell client for Windows, logged in as an admin user), create a folder or test files inside the papercut folder on your iPrint cluster volume, then on the server holding that resource run:
shell> su - papercut shell> ls
You can see the files created on the NSS volume. You can also view them via
/home/papercut
on the active node.
Step 4 - Install the Print Provider
Install the Print Provider software onto the secondary server by copying all files and directories from the primary Application Server’s directory:
[app-path]/providers/print/linux-x64/*
to the equivalent location on the node currently holding the iPrint resource:
/home/papercut/providers/print/linux-x64/
Perform the copy operation as the papercut
user so that files are owned by the papercut
user. You can use any method to copy the files, including over the network or via a USB key. If the primary server is also Linux, the simplest way would be to use secure copy (scp
) as follows:
shell> su - papercut
shell> mkdir -p providers/print
shell> cd providers/print
shell> scp -r primary.server.name:/home/papercut/providers/print/* .
After the copy operation is performed, execute the setperms
and roottasks
scripts as root:
64bit
shell> su - root
shell> sh ~papercut/providers/print/linux-x64/setperms
shell> sh ~papercut/providers/print/linux-x64/roottasks
Step 5 - Configuration
The Print Provider on the cluster needs to know where the primary server is installed (i.e. its IP address). It also needs to correctly report the cluster name to the primary server.
-
Open the file
/home/papercut/providers/print/linux-x64/print-provider.conf
in a text editor. -
Locate the line starting with
ApplicationServer=
and change127.0.0.1
to the hostname or IP address of the primary server. -
Locate the line starting with
ServerName=
, uncomment it and add the hostname of the cluster. This tells PaperCut NG/MF to report printers as being hosted on the cluster rather than on the node running the resource.
Step 6 - Cluster configuration
-
Configuring services
As the services are going to be managed by Novell clustering, the services on the physical nodes must be disabled so that they don’t start. On the node used to install PaperCut in Step 4 - Install the Print Provider , in YaST > System > System Services (Runlevel) , disable
papercut-event-monitor
. -
Installing services and disabling them on all other nodes
On each other node in the cluster perform the following steps:
-
As
root
run the following command ([resource-name] is the name for your iPrint resource, and [node-name] is the server name of the node you are now working on):shell> cluster migrate [resource-name] [node-name]
-
Once the resource has successfully migrated run the following command (still as root):
shell> /home/papercut/providers/print/linux-[arch]/roottasks shell> chown root:iprintgrp /opt/novell/iprint/bin/papercut
-
In YaST > System > System Services (Runlevel) , disable
papercut-event-monitor
. -
Repeat steps 1-3 on the other nodes in the cluster.
-
Now you need to integrate the binaries copied in Step 4 - Install the Print Provider into Novell iPrint by adding papercut as the Accounting Autoload Command as discussed in Step 5 - Printer/iPrint Configuration under Installation on Novell OES Linux (iPrint) . Follow that step only and return here once completed.
Step 7 - Test
Mode 1 clustering should now be configured. Perform some test printing on all of this secondary server’s printers. Log in to the PaperCut Admin web interface as admin
and verify that the printers are now listed under the Printers tab. Simulate a node failover and test again (wait a minute or two between failures for the new node to engage).
Mode 2 - Clustering at all application layers
This section assumes that you have an already installed and working clustered printing environment.
Step 1 - Prerequisites
This guide assumes you have iPrint up and working within an existing cluster. It is assumed the cluster is set up following Novell’s documentation at http://www.novell.com/documentation/oes2/iprint_lx/?page=/documentation/oes2/iprint_lx/data/akujhhq/ .
Ensure the size of the shared disk partition and NSS Pools are sufficient for your print manager, driver store, and PaperCut installation. This can mean making it larger than Novell’s recommended 20GB if you are intending to use the internal database and store large amounts of data over time.
Step 2 - Create eDirectory user account
The papercut
user’s home directory denotes the application install location. For the fact that it is the default for LUM enabled users, /home/papercut
is recommended, and assumed through the rest of this guide.
-
In iManager open Users > Create User.
-
In username, enter
papercut
. -
In Last name enter
PaperCut LUM user
. -
In context select the same eDirectory context as your the iPrint user and iprintgrp group created during your clustered iPrint installation.
-
Assign the user a secret password during creation, and ensure the user’s password is set to not expire. If you are using eDirectory password policies, associate the user with an appropriate password policy after creation.
-
Select the Create home directory check box.
-
In Volume, select the volume that is holding your clustered iPrint resource.
-
In Path, ensure that it reads
papercut
. -
Click OK.
You now need to LUM enable this PaperCut eDirectory user and add it to the already LUM enabled iprintgrp
used by the clustered iPrint resource.
-
In iManager open Linux User Management > Enable Users for Linux .
-
Select your papercut eDirectory user and continue.
-
Select An Existing Linux-Enabled Group; then select the
iprintgrp
created during your clustered iPrint installation; then click Next. -
Confirm that Workstation list includes all of the servers in your cluster; then click next.
-
On your clustered iPrint volume, navigate to the
papercut
user’s NSS home folder (/media/nss/[volume]/papercut
) using, for example, Windows Explorer or ConsoleOne and addRWECMF
file rights for the eDirectory groupiprintgrp
created during your clustered iPrint installation. This ensures the iPrint services have access to the installed files. -
As
root
, on each node that will run the iPrint resource, run the following command, replacing[volume]
with the volume name of your iPrint resource.shell> ln -s /media/nss/[volume]/papercut /home/papercut
-
To confirm all the above stages are working, using any method you want (such as the traditional Novell client for Windows, logged in as an admin user), create a folder or test files inside the papercut folder on your iPrint cluster volume, then on the server holding that resource run:
shell> su - papercut s hell> ls
You can see the files created on the NSS volume.
Downloading and installing
On the node that is currently hosting the iPrint resource, perform a primary server PaperCut installation as per steps 3 and 4 in Installation on Novell OES Linux (iPrint) .
Step 4 - Installing services
-
As the services are going to be managed by Novell clustering, the services on the physical nodes must be disabled so that they don’t start. On the node used to install PaperCut in Step 4 - Install the Print Provider , in YaST > System > System Services (Runlevel) , disable both
papercut
andpapercut-event-monitor
. -
Installing services and disabling them on all other nodes
On each other node in the cluster perform the following steps:
-
As
root
run the following command ([resource-name] is the name for your iPrint resource, and [node-name] is the server name of the node you are now working on):shell> cluster migrate [resource-name] [node-name]
-
Once the resource has successfully migrated run the following two commands (still as root):
shell> /home/papercut/server/bin/linux-[arch]/roottasks shell> /home/papercut/providers/print/linux-[arch]/roottasks shell> chown root:iprintgrp /opt/novell/iprint/bin/papercut
-
In YaST > System > System Services (Runlevel) , disable both
papercut
andpapercut-event-monitor
. -
Repeat steps 1-3 on the other nodes in the cluster.
-
Step 5 - File permissions
On each node in the cluster, including the one used to install PaperCut in
Downloading and installing
, run the following command as root
:
shell> chown root:iprintgrp /opt/novell/iprint/bin/papercut
Step 6 - Configure the nodes to report the virtual server hostname
-
Open the file
/home/papercut/providers/print/linux-x64/print-provider.conf
in a text editor. -
Locate the line starting with
ServerName=
, uncomment it and add the hostname of the cluster. This tells PaperCut NG/MF to report printers as being hosted on the cluster rather than on the node running the resource.
Step 7 - Update iPrint cluster resource scripts to load/unload the PaperCut Application Server
-
In iManager > Clusters > Cluster Option open the cluster hosting your iPrint resource.
-
Click the iPrint resource; then click Scripts.
This screen displays the load script, which is similar to the following:
#!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error nss /poolact=IPRINT exit_on_error ncpcon mount IPRINT=250 exit_on_error add_secondary_ipaddress 10.10.55.7 exit_on_error ncpcon bind --ncpservername=FPCL_IPRINT_SERVER --ipaddress=10.10.55.7 ignore_error mv /media/nss/IPRINT/var/opt/novell/iprint/iprintgw.lpr /media/nss/IPRINT/var/opt/novell/iprint/iprintgw.lpr.bak exit_on_error rcnovell-idsd start exit_on_error rcnovell-ipsmd start exit 0
-
Add the following line between
exit_on_error rcnovell-ipsmd start
andexit 0
:exit_on_error /etc/init.d/papercut start exit_on_error /etc/init.d/papercut-event-monitor start
-
Click Apply.
-
Click Unload Script. The unload script looks similar to the following:
#!/bin/bash . /opt/novell/ncs/lib/ncsfuncs ignore_error rcnovell-ipsmd stop ignore_error rcnovell-idsd stop ignore_error ncpcon unbind --ncpservername=FPCL_IPRINT_SERVER --ipaddress=10.10.55. ignore_error del_secondary_ipaddress 10.10.55.7 ignore_error nss /pooldeact=IPRINT exit 0
-
Insert the following two lines between . /opt/novell/ncs/lib/ncsfuncs and
ignore_error rcnovell-ipsmd stop
:ignore_error /etc/init.d/papercut-event-monitor stop ignore_error /etc/init.d/papercut stop
-
Click Apply.
-
Offline and online the iPrint resource to load it with these new scripts.
Step 8 - Config files
When installing PaperCut in step Downloading and installing the IP address of the physical node is automatically detected and stored in config files to simplify the deployment of remote components. These config files require modification so that the components connect to the cluster / virtual server resource instead.
Update the server IP address and hostname to the cluster / virtual server resource in the following configuration files:
-
/home/papercut/client/win/client.properties
-
/home/papercut/client/mac/PCClient.app/Contents/Resources/config
-
/home/papercut/release/connection.properties
-
client-config.js in each Gadget in /home/papercut/client/win/
-
/home/papercut/client/mac/Widget/PCWidget/config
-
/providers/net/connection.properties
-
/providers/hardware/ricoh/*/connection.properties
As these config files are all on the shared resource, you need to change them only once on the node currently hosting the resource.
Step 9 - Printer / iPrint configuration
Each printer in the cluster that is managed/tracked by PaperCut needs further configuration via iManager.
Follow Step 5 - Printer/iPrint Configuration under Installation on Novell OES Linux (iPrint) and return here once completed.
Step 10 - Test
Mode 2 clustering should now be configured. Perform some test printing on all of this secondary server’s printers. Log in to the PaperCut Admin web interface as admin
and verify that the printers are now listed under the Printers tab. Simulate a node failover and test again (wait a minute or two between failures for the new node to engage).
Step 11 - Sharing User Client software
As the clustered solution uses NSS, the client folder is already available as an NCP share at \\[cluster-virtual-server]\[volume-name]\papercut\client
. Users should be able to access this folder once they are given file rights. Alternatively, consider making these files available via an alternate share/path/location.
Comments