3.2 Setting Up Your Messenger System in a Linux Cluster

3.2.1 Creating Your Messenger System and Installing the Linux Messenger Agents

The Messenger Installation program walks you through setting up your Messenger system and installing the Messenger agents. The first time you run the Messenger Installation program, you create your Messenger system, which includes creating various Messenger objects in eDirectory and installing the Messenger software on the node where you run the Messenger Installation program. After that, you run the Messenger Installation program on each node in the Messenger failover list to install the Messenger software on each node, but you do not create any more objects in eDirectory.

Running the Linux Messenger Installation Program on the Preferred Node

To run the Linux Messenger installation program on the preferred node:

  1. Mount the Messenger partition (Messenger Clustering Worksheet item 6) on the mount point for shared storage (Messenger Clustering Worksheet item 9).

  2. Run the Messenger Installation program, following the steps provided in Starting the Messenger Installation Program in the GroupWise Messenger Installation Guide.

  3. When asked if you are installing to a cluster, enter y for Yes.

  4. From the options list, enter 1 for Create a new system.

  5. Specify the mount point for the shared storage.

  6. Set up your Messenger system, following the steps provided in Configuring Your Messenger System in the GroupWise Messenger Installation Guide.

  7. Continue with Running the Linux Messenger Installation Program on Subsequent Nodes.

Running the Linux Messenger Installation Program on Subsequent Nodes

  1. On the next node in the Messenger failover list (Messenger Cluster Worksheet item 8), mount the Messenger partition on the mount point for shared storage.

  2. Run the Messenger Installation program.

  3. When asked if you are installing to a cluster, enter y for Yes.

  4. From the options list, enter 2 for Install a new server to an existing system.

  5. Specify the mount point for the shared storage.

    The Messenger Installation program then accesses the Messenger files that were created on the shared storage when the Messenger agents were installed on the preferred node. From these files, the Messenger Installation program lists the probable configuration for the Messenger agents you are installing on the current node.

  6. Enter 1 for Proceed with these settings.

    or

    Enter 2 for Change the settings, and then modify the configuration for the Messenger agents as needed.

  7. When asked if you want to start the agents, enter n for No.

  8. Repeat Step 1 through Step 7 for each node on the Messenger failover list.

Testing Your Linux Messenger Agent Installation on Each Node

  1. Test the Messenger agents by starting them as daemons, as described in Starting the Messaging Agent in the GroupWise Messenger Administration Guide.

  2. Stop the Messenger agents.

  3. Return to Running the Linux Messenger Installation Program on the Preferred Node for each node in the Messenger failover list (Messenger Clustering Worksheet item 8).

When you have installed the Messenger agents on all of the nodes in the Messenger failover list, continue with Changing Messenger Paths to Locations on the Messenger Partition.

3.2.2 Changing Messenger Paths to Locations on the Messenger Partition

During installation, various Messenger paths are set to locations on the node where the software is installed. After installation, you need to set these paths to locations on the Messenger partition, so that the files stored at these locations are available to the Messenger agents regardless of which node in the cluster the agents are running on:

After settings these directories, continue with Configuring the Messenger Cluster Resource to Load and Unload the Linux Messenger Agents.

Setting the Store Path

The store path is the location where you want the archive created. During installation, the default store path is created in /var/opt/novell/messenger/aa/store on each node, but you need the archive to be stored on the Messenger partition.

  1. Choose a directory where you want to store the archive and create that directory on the Messenger partition.

  2. In the GroupWise Administration Console, navigate to Messenger > MessengerService > Objects > Archive Agents.

  3. Click the Archive Agent object, and select the File Module tab.

  4. In the Store Path field, specify your archive store path, and then click Save.

Setting the Messaging Agent Queue Path

When archiving is enabled, the Messaging Agent passes conversations to the Archive Agent when the conversations are completed. If the Messaging Agent cannot communicate with the Archive Agent when it has a conversation to archive, it saves the conversation in its holding directory (queue) until it can communicate with the Archive Agent again. During installation, the default Messaging Agent queue path is created in /var/opt/novell/messenger/ma/queue, but you need the queue directory to be located on the Messenger partition.

  1. Choose a directory for the Messaging Agent queue and create that directory on the Messenger partition.

  2. In the GroupWise Administration Console, navigate to Messenger > MessengerService > Objects > Messaging Agents.

  3. Click the Messaging Agent object, and select the Agent Settings tab.

  4. Click Agent > Messaging.

  5. In the Messaging Preferences > Queue Path field, specify the Messaging Agent queue path, and then click Save.

Setting the Archive Agent Queue Path

When the Archive Agent receives a conversation to archive, if it is already busy processing other conversations, it temporarily stores the conversation in its holding directory (queue). During installation, the default Archive Agent queue path is created in /var/opt/novell/messenger/aa/queue, but you need the queue directory to be located on the Messenger partition.

  1. Choose a directory for the Archive Agent queue and create that directory on the Messenger partition.

  2. In the GroupWise Administration Console, navigate to Messenger > MessengerService > Objects > Archive Agents.

  3. Click the Archive Agent object, and select the Agent Settings tab.

  4. In the Archive Preferences > Queue Path field, specify the Archive Agent queue path, and then click Save.

Setting the Messaging Agent Log Path

During installation, the default Messaging Agent log path is created in /var/opt/novell/log/messenger/ma, but you need the log file directory to be located on the Messenger partition.

  1. Choose a directory for the Messaging Agent log files and create that directory on the Messenger partition.

  2. In the GroupWise Administration Console, navigate to Messenger > MessengerService > Objects > Messaging Agents.

  3. Click the Messaging Agent object, and select the Log Settings tab.

  4. In the Log File Path field, specify the Messaging Agent log path, and then click Save.

Setting the Archive Agent Log Path

During installation, the default Archive Agent log path is created in /var/opt/novell/log/messenger/aa, but you need the log file directory to be located on the Messenger partition.

  1. Choose a directory for the Archive Agent queue and create that directory on the Messenger partition.

  2. In the GroupWise Administration Console, navigate to Messenger > MessengerService > Objects > Archive Agents.

  3. Click the Archive Agent object, and select the Log Settings tab.

  4. In the Log File Path field, specify the Archive Agent log path, and then click Save.

3.2.3 Configuring the Messenger Cluster Resource to Load and Unload the Linux Messenger Agents

The properties of the Messenger Cluster Resource object define how the Messenger partition functions within the cluster, how the Messenger agents are loaded and unloaded, and how failover and failback situations are handled.

Modifying the Cluster Load Script for the Linux Messenger Agents

To set up the load script in iManager:

  1. Expand Clusters, and then click Cluster Options.

  2. In the Cluster field, browse to the Cluster object where the Messenger cluster resource is located.

  3. Click the Cluster object to display the cluster resources that belong to the cluster.

  4. Select the Messenger cluster resource that you created when you set up the Messenger partition, and then click Details.

  5. Click Scripts > Load Script.

  6. (Conditional) If this is an NSS volume or a shared pool, use a load script similar to the following example, depending on the configuration of your cluster and nodes:

    #!/bin/bash 
    . /opt/novell/ncs/lib/ncsfuncs
    
    # mount filesystem
    exit_on_error ncpcon mount /opt="noatime,nodiratime" volume_name=volume_ID
    
    # add IP address
    exit_on_error add_secondary_ipaddress messenger_partition_ip_address
    
    # start service
    exit_on_error /etc/init.d/novell-nmma start
    exit_on_error /etc/init.d/novell-nmaa start
    
    # return status
    exit 0
    1. In the mount filesystem section, specify the volume name and volume ID of the Messenger partition that you are clustering (System Clustering Worksheet item 5).

    2. In the add ip address section, specify the secondary IP address of the Messenger partition (Messenger Clustering Worksheet item 6 or Messenger Clustering Worksheet item 7).

    3. In the start service section, provide the commands to start the Messaging Agent first, following by the Archive Agent.

  7. (Conditional) If this is a traditional Linux volume, use an unload script similar to the following example, depending on the configuration of your cluster and nodes:

    #! /bin/bash
    . /opt/novell/ncs/lib/ncsfunc
    
    # define IP address
    RESOURCE_IP=messenger_partition_ip_address
    
    # define filesystem type
    MOUNT_FS=filesystem
    
    # define device (if using EVMS)
    exit_on_error evms -f /var/opt/novell/ncs/ContainerActivate -rl
                                                     Share 'uname -n'
    MOUNT_DEV=/dev/evms/Share/dat
    
    # define mount point
    MOUNT_POINT=/mnt/mount_point_directory
    
    # mount file system
    exit_on_error mount -t $MOUNT_FS $MOUNT_DEV $MOUNT_POINT -o noatime,nodiratime
    
    # add IP address
    exit_on_error add_secondary_ipaddress $RESOURCE_IP
    
    # start service
    exit_on_error /etc/init.d/novell-nmma start
    exit_on_error /etc/init.d/novell-nmaa start
    
    exit 0
    1. In the define IP address section, specify the secondary IP address of the Messenger partition (Messenger Clustering Worksheet item 6 or Messenger Clustering Worksheet item 7)

    2. In the define filesystem type section, specify the filesystem type that is in use on nodes in the cluster (System Clustering Worksheet item 5).

    3. In the define mount point section, specify the mount point directory in use for the nodes in the cluster (System Clustering Worksheet item 5).

  8. Click Apply to save the load script.

Modifying the Cluster Resource Unload Script for the Linux Messenger Agents

The cluster resource unload script executes whenever the Messenger cluster resource goes offline.

  1. On the iManager Cluster Resource Properties page of the Monitor Agent cluster resource, click Scripts > Unload Script.

  2. (Conditional) If this is an NSS volume or a shared pool, use an unload script similar to the following example, depending on the configuration of your cluster and nodes:

    #!/bin/bash
    . /opt/novell/ncs/lib/ncsfuncs
    
    # request service stop
    ignore_error /etc/init.d/novell-nmma stop
    ignore_error /etc/init.d/novell-nmaa stop
    
    # stop service otherwise
    sleep 8
    ignore_error pkill -fx "'/etc/init.d/novell-nmma stop'"
    ignore_error pkill -fx "'/etc/init.d/novell-nmaa stop'"
    
    # delete IP address
    ignore_error del_secondary_ipaddress messenger_partition_ip_address
    
    # unmount filesystem
    exit_on_error umount /mnt/mount_point_directory
    
    # return status
    exit 0
    1. In the stop service otherwise section, adjust the sleep command as needed so that the Messenger agents can shut down normally on your system without being inadvertently killed by the pkill command that follows.

    2. In the delete IP address section, specify the secondary IP address of the Messenger partition.

    3. In the unmount filesystem section, specify the mount point directory in use for the nodes in the cluster.

    4. (Conditional) If you are running the GroupWise High Availability service (gwha), stop it before the script stops the Messenger agents, and then start it again at the end of the unload script.

      This prevents the GroupWise High Availability service from trying to restart the Messenger agents while the script is trying to stop them.

      Add the following section before the request service stop section:

      # Temporarily disable the gwha service under xinetd
      ignore_error /sbin/chkconfig -s gwha off
      ignore_error kill -HUP `pidof xinetd`

      Add the following section before the return status section:

      # Restart the gwha service under xinetd
      ignore_error /sbin/chkconfig -s gwha on
      ignore_error kill -HUP `pidof xinetd`
  3. (Conditional) If this is a traditional Linux volume, use an unload script similar to the following example, depending on the configuration of your cluster and nodes:

    #!/bin/bash
    . /opt/novell/ncs/lib/ncsfuncs
    
    # request service stop
    ignore_error /etc/init.d/novell-nmma stop
    ignore_error /etc/init.d/novell-nmaa stop
    
    # stop service otherwise
    sleep 8
    ignore_error pkill -fx "'/etc/init.d/novell-nmma stop'"
    ignore_error pkill -fx "'/etc/init.d/novell-nmaa stop'"
    
    # define IP address
    RESOURCE_IP=messenger_partition_ip_address
    
    # define mount point
    MOUNT_POINT=/mnt/mount_point_directory
    
    # delete IP address
    ignore_error del_secondary_ipaddress $RESOURCE_IP
    
    # umount filesystem
    exit_on_error umount $MOUNT_POINT
    
    # return status
    exit 0
    1. In the stop service otherwise section, adjust the sleep command as needed so that the Messenger agents can shut down normally on your system without being inadvertently killed by the pkill command that follows.

    2. In the define IP address section, specify the secondary IP address of the Messenger partition.

    3. In the define mount point section, specify the mount point directory in use for the nodes in the cluster.

    4. (Conditional) If you are running the GroupWise High Availability service (gwha), stop it before the script stops the Messenger agents, and then start it again at the end of the unload script.

      This prevents the GroupWise High Availability service from trying to restart the Messenger agents while the script is trying to stop them.

      Add the following section before the request service stop section:

      # Temporarily disable the gwha service under xinetd
      ignore_error /sbin/chkconfig -s gwha off
      ignore_error kill -HUP `pidof xinetd`

      Add the following section before the return status section:

      # Restart the gwha service under xinetd
      ignore_error /sbin/chkconfig -s gwha on
      ignore_error kill -HUP `pidof xinetd`
  4. Click Apply to save the unload script.

Setting the Failover List and Policies for the Linux Messenger Agents

  1. On the iManager Cluster Resource Properties page of the Messenger cluster resource, click General.

    The default policy settings are often appropriate. By default, a cluster resource:

    • Fails over automatically if the node it is running on fails

    • Starts automatically on the next node in its failover list

    • Continues running at its failover location, even after its most preferred node is again available

      If you are considering changing these defaults, see the OES Cluster Services for Linux Administration Guide for your version of OES Linux.

  2. Under Preferred Nodes, arrange the nodes in the cluster into the desired failover list for the Messenger agents (under Messenger Clustering Worksheet item 3).

  3. Click OK.