9.3 Setting up the Cluster Environment for iPrint

9.3.1 Clustering on an NSS File System

  1. Create NSS pools if they do not already exist, and configure the shared pools to work with OES Cluster Services.

    For more information on the configuration, see Configuring and Managing Cluster Resources for Shared NSS Pools and Volumes in the OES 2023: OES Cluster Services for Linux Administration Guide.

  2. Ensure that the pool resource where you want to run the iPrint service is cluster-enabled.

    For more information, see Cluster-Enabling an Existing NSS Pool and Its Volumes in the OES 2023: OES Cluster Services for Linux Administration Guide.

  3. Ensure that the pool resource is online.

    The volumes of a cluster pool resource are mounted and dismounted by onlining and offlining the pool resource. For more information, see “Onlining and Offlining (Loading and Unloading) Cluster Resources from a Cluster Node” in the OES 2023: OES Cluster Services for Linux Administration Guide.

  4. Run the iprint_nss_relocate script located at /opt/novell/iprint/bin.

    For more details on this script, see Running the iprint_nss_relocate script.

  5. Migrate the pool resource to the next identified node and run the iprint_nss_relocate script with the same arguments. For more information, see Cluster Migrating Resources to Different Nodes in the OES 2023: OES Cluster Services for Linux Administration Guide.

  6. Repeat Step 4 and Step 5 on all the iPrint cluster nodes.

  7. Configure iPrint services by following the instructions in Setting Up iPrint.

    When you configure iPrint, ensure that all references to IP addresses or DNS names are pointing to the resource’s IP address or to the DNS name.

    IMPORTANT:During creation of the Print Manager, ensure that you do not select the Start Print Manager after Creation check box.

    At this stage you will encounter a certificate error, indicating that the hostname or IP address of the server where you are the print object does not match any of the certificates on the server where iManager is running. For more information on resolving certificate errors, Understanding and Managing Certificates.

  8. Edit the load script for the Cluster Pool. Add the following lines to the existing load script before the exit 0 statement.

    ignore_error mv /media/nss/NSSVOL1/var/opt/novell/iprint/iprintgw.lpr /media/nss/NSSVOL1/var/opt/novell/iprint/iprintgw.lpr.bak

    exit_on_error systemctl start novell-idsd.service

    exit_on_error systemctl start novell-ipsmd.service

    Replace /media/nss/NSSVOL1 in the script with your actual cluster volume mount point.

    For information on editing a load script, see Modifying the Load, Unload, and Monitor Scripts.

  9. Edit the unload script for the Cluster Pool. Add the following lines to the existing unload script after the /opt/novell/ncs/lib/ncsfuncs statement:

    ignore_error systemctl stop novell-ipsmd.service

    ignore_error systemctl stop novell-idsd.service

    For information on editing an unload script, see Modifying the Load, Unload, and Monitor Scripts.

  10. View the current Preferred Nodes assignments, and if necessary, click the arrow button to assign or unassign servers to the print volume resource.

    You can click the up-arrow or down-arrow buttons to change the failover order of the servers assigned to the print volume.

  11. If you add a new node to the cluster later, change the file as follows:

    1. Comment out the load and unload scripts for the Print Manager and Driver Store.

    2. Migrate the resource to the new node.

    3. Run the iprint_nss_relocate script on the new node.

    4. Remove the comment tag from the load and unload scripts.

NOTE:If you rename the NSS volume that hosts the Print Manager, the iPrint IPP page fails to display and the iPrint configuration breaks. To re-establish the symbolic links broken because of the volume rename, refer to iPrint Service Fails when Renaming a Volume Where iPrint Is Hosted.

9.3.2 Clustering on a Linux POSIX File System

When setting up a new iPrint cluster resource from the template on Linux, a setup wizard guides you through the process sequentially.

To configure cluster resources for shared Linux POSIX volumes, refer to Upgrading and Managing Cluster Resources for Linux POSIX Volumes with CSM Containers.

  1. In iManager, click Clusters > My Clusters, then select the cluster.

    If the cluster does not appear in your personalized list of clusters to manage, you can add it. Click Add, browse and select the cluster, then click OK. Wait for the cluster to appear in the list and report its status, then select the cluster.

  2. Select the Cluster Options tab.

  3. Under Cluster Objects, click New.

  4. Select Resource, then click Next.

  5. Specify a name in the Cluster Resource Name field.

  6. Use the object selector for Inherit from Template to browse to and open the Cluster object you created, then select the iPrint_Template.

  7. Select the Define Additional Properties check box, then click Next.

  8. Edit the load script by making the changes outlined in the following table:

    Heading

    Description

    define the IP address

    Specify the actual IP address you want to use for the resource. For example, 10.10.10.10.

    define the file system type

    Specify the file system type.

    define the volume group name

    Specify the name of the LVM volume group you have created.

    define the device name

    /dev/$VOLGROUP_NAME/iprint

    define the mount point

    /mnt/iprint. If a different mount point is selected for the shared disk, ensure that the same mount point is specified in the unload script.

    activate the volume group

    exit_on_error vgchange -a ey $VOLGROUP_NAME. Replace $VOLGROUP_NAME.

    mount the file system

    exit_on_error mount_fs $MOUNT_DEV $MOUNT_POINT $MOUNT_FS, where $MOUNT_DEV is the device name and $MOUNT_POINT is the mount point you defined.

    add the IP address

    exit_on_error add_secondary_ipaddress $RESOURCE_IP, where $RESOURCE_IP is the IP address.

    run the iPrint relocate script

    exit_on_error /opt/novell/iprint/bin/iprint_relocate $MOUNT_POINT, where $MOUNT_POINT is the mount point you defined.

    start the iPrint driver store & printer manager

    exit_on_error /opt/novell/iprint/bin/ncs_iprint_svc_start.

  9. Set the timeout value in the load script to three minutes, then click Next.

  10. Edit the unload script by making the changes outlined in the following table:

    Heading

    Description

    define the IP address

    Specify the actual IP address you want to use for the resource. For example, 10.10.10.10.

    define the file system type

    Specify the file system type.

    define the volume group name

    Specify the name of the LVM volume group you have created.

    define the device name

    /dev/$VOLGROUP_NAME/<LVM logical volume>

    define the mount point

    /mnt/iprint. If a different mount point is selected for the shared disk, ensure that the same mount point is specified in the unload script.

    stop the printer manager and iPrint driver store

    Printer Manager: ignore_error systemctl stop novell-ipsmd.service

    iPrint Driver Store: ignore_error systemctl stop novell-idsd.service

    delete the IP address

    ignore_error del_secondary_ipaddress $RESOURCE_IP, where $RESOURCE_IP is the IP address.

    unmount the file system

    exit_on_error umount_fs $MOUNT_DEV $MOUNT_POINT $MOUNT_FS, where $MOUNT_DEV is the device name, and $MOUNT_POINT is the mount point you defined.

    deactivate the volume group

    exit_on_error vgchange -a n $VOLGROUP_NAME.

  11. Set the timeout value in the unload script to three minutes, then click Next.

  12. Edit the monitor script by making the changes outlined in the following table:

    Heading

    Description

    define the IP address

    Specify the actual IP address you want to use for the resource. For example, 10.10.10.10.

    define the file system type

    Specify the file system type.

    define the volume group name

    Specify the name of the LVM volume group you have created.

    define the device name

    /dev/$VOLGROUP_NAME/iprint

    define the mount point

    /mnt/iprint. If a different mount point is selected for the shared disk, ensure that the same mount point is specified in the unload script.

    check the logical volume

    exit_on_error status_lv $VOLGROUP_NAME.

    check the file system

    exit_on_error status_fs $MOUNT_DEV $MOUNT_POINT $MOUNT_FS, where $MOUNT_DEV is the device name, and $MOUNT_POINT is the mount point you defined.

    check the IP address

    exit_on_error status_secondary_ipaddress $RESOURCE_IP, where $RESOURCE_IP is the IP address.

    check the iPrint driver store & printer manager

    systemctl status novell-idsd.service and systemctl status novell-ipsmd.service.

  13. View the current Preferred Nodes assignments, and click the arrow button to assign or unassign servers to the print volume resource.

    You can click the up-arrow or down-arrow button to change the failover order of the servers assigned to the print volume.

    If you add a node to the cluster later, it might be added to the Assigned Nodes list. You must check this list after adding nodes to ensure that iPrint fails over to the desired nodes.

  14. Click Finish.

9.3.3 Modifying the Load, Unload, and Monitor Scripts

You can view or modify the load, unload, or monitor scripts even after you create a resource.

  1. Log in to iManager.

  2. Under Roles and Tasks, select Clusters > My Clusters, then select the cluster.

    If the cluster does not appear in your personalized list of clusters to manage, you can add it. Click Add, browse and select the cluster, then click OK. Wait for the cluster to appear in the list and report its status, then select the cluster.

  3. On the Cluster Manager page or Cluster Options page, select the cluster resource to view its properties, then click the Scripts tab.

  4. Click the Load Script, Unload Script, or Monitor Script links to view or modify the scripts. If you modify a script, click Apply to save your changes before you leave the page.

    Changes do not take effect until you take the resource offline, and bring it online again.