14.4 Installing and Configuring the MTA and the POA in a Cluster

By following the instructions in Section 14.1, Setting Up a New GroupWise System in a Linux Cluster, you installed the MTA and the POA on the first node in your cluster, as well as created the initial domain and post office in your GroupWise system. You are now ready to install and configure the agents on additional nodes and set up the agent software for use in your cluster.

If you have added a new secondary domain or a new post office to an existing GroupWise system, the agent software has already been installed and you simply need to create a new startup file specific to the new domain or post office. In these circumstances, follow the instructions in Section 14.4.4, Setting Up New Instances of the Agents without Installing the Agent Software instead of completing the tasks above.

14.4.1 Installing and Setting Up the Agents in Your Cluster

The agents must be installed on each node in domain failover list (Agent Clustering Worksheet item 2) and the post office failover list (Agent Clustering Worksheet item 5).

After you have installed and tested the agents on each node in the cluster, continue with Section 14.4.2, Changing Agent Paths to Locations on GroupWise Partitions.

Running the GroupWise Installation Program on the Preferred Node

  1. Mount the GroupWise partition for the domain (System Clustering Worksheet item 7) or the post office (System Clustering Worksheet item 8).

  2. From the software distribution directory you created in Step 6 in Section 14.1, Setting Up a New GroupWise System in a Linux Cluster, start the GroupWise Installation program.

    IMPORTANT:This time, you should select the Configure GroupWise for Clustering option.

    Configure GroupWise for Clustering option
  3. Install the agent software, following the steps provided in Installing the GroupWise Agents on Linux in Installing GroupWise Agents in the GroupWise 7 Installation Guide.

  4. Configure the Linux agents according to the Section 13.7.2, Agent Clustering Worksheet that you filled out in Section 13.6, Deciding How to Install and Configure the Linux Agents in a Cluster, paying special attention to the cluster resource information on the Domains / Post Offices page.

    Domains / Post Offices page

    As a result of selecting Configure GroupWise for Clustering on the preferred node, the following cluster-specific configuration actions are performed:

    • The agent startup files are created in mount_point/groupwise/agents/share on the shared resource so that the agents use the same startup files regardless of which cluster node the agents are running on. The --home switch includes the mount point and the path to the database so that the startup file is valid when mounted to each cluster node.

    • The --cluster switch is added to the agent startup files to inform the agents that they are running in a cluster.

    • The --ip startup switch is set to the secondary IP address of the shared resource where the domain and post office are located. This ensures that the MTA and the POA run with the same IP address regardless of which cluster node the agents are running on.

    • The --log startup switch is set to a location on the shared resource (mount_point/groupwise/agents/log) so that agent logging information is written to the same log file regardless of which cluster node the agents are running on.

    • The GroupWise High Availability service is automatically configured on the current cluster node and its configuration file (gwha.conf) is created in the /etc/opt/novell/groupwise directory.

    • A clusterimport.conf file is created in the gwinst subdirectory of the software distribution directory from which you ran the GroupWise Installation program, so that the cluster-specific information collected when you configured the agents on the preferred node is available when you install the agents on subsequent nodes.

    • The agents are not configured to start automatically on system startup. In a cluster, you do not want the agents to start automatically whenever a node restarts.

  5. Configure the agents to run as a non-root user, as described in the applicable section of the GroupWise 7 Installation Guide:

  6. Continue with Running the GroupWise Installation Program on Subsequent Nodes.

Running the GroupWise Installation Program on Subsequent Nodes

  1. On the next node in the GroupWise agent failover list, mount the GroupWise partition for the domain (System Clustering Worksheet item 7) or the post office (System Clustering Worksheet item 8).

  2. From the software distribution directory you created in Step 6 in Section 14.1, Setting Up a New GroupWise System in a Linux Cluster, start the GroupWise Installation program.

    IMPORTANT:You should select the Configure GroupWise for Clustering option again.

    Because of the existence of the clusterimport.conf file in the gwinst subdirectory of the software distribution directory, a new installation option, Import Clustering Data, is now available on the main GroupWise Installation program page.

    GroupWise Installation program main page
  3. Install the agent software on the cluster node as usual, but do not use the Configure option.

  4. On the main page of the Installation program, click Import Clustering Data, then click Next.

    Import Clustering Data page

    All GroupWise agents that you have installed from the software distribution directory are listed, based on the information stored in the clusterimport.conf file.

  5. Select the GroupWise agents that you want to configure on the current cluster node, then click OK.

    The Import Clustering Data option performs the following configuration actions for each subsequent node where you run it:

    • The grpwise script is created in the /etc/init.d directory on the current cluster node. It is configured specifically for the agents you just selected.

    • The GroupWise High Availability service is automatically configured on the current cluster node and its configuration file (gwha.conf) is created in the /etc/opt/novell/groupwise directory. It is configured specifically for the agents you just selected.

    Because the agent startup files and log files are stored on the shared resource, they do not need to be customized for each cluster node.

  6. Configure the agents to run as a non-root user, as described in the applicable section of the GroupWise 7 Installation Guide:

  7. Repeat Step 1 through Step 6 for each cluster node in the GroupWise agent failover list.

    After you install and configure the agents on each node in each agent’s failover list, the cluster node is ready for the GroupWise agent to fail over to it.

  8. Continue with Testing Your Agent Installation on Each Node.

Testing Your Agent Installation on Each Node

  1. Test the agents by starting them with a user interface, as described in Starting the Linux Agents with a User Interface in Installing GroupWise Agents in the GroupWise 7 Administration Guide.

    /opt/novell/groupwise/agents/bin/gwmta --show @domain.mta &
    /opt/novell/groupwise/agents/bin/gwpoa --show @post_office.poa &
    
  2. Stop the agents by clicking File > Exit

  3. After you can see that the agents start successfully, test them by starting them as daemons, as described in Starting the Linux GroupWise Agents as Daemons in Installing GroupWise Agents in the GroupWise 7 Administration Guide.

    /etc/init.d/grpwise start
    /etc/init.d grpwise status
    
  4. Stop the agents.

    /etc/init.d/grpwise stop
    /etc/init.d grpwise status
    
  5. Return to Running the GroupWise Installation Program on the Preferred Node for each node in the domain or post office failover list.

When you have installed the agents on all of the nodes in the domain and post office failover lists, continue with Changing Agent Paths to Locations on GroupWise Partitions.

14.4.2 Changing Agent Paths to Locations on GroupWise Partitions

The default locations for some agent files are on the cluster nodes along with the agent software, rather than being located with the domain and post office on one or more GroupWise partitions. To avoid having multiple copies of these files in multiple locations, you should set the locations in ConsoleOne.

Setting the MTA Message Log File Path

If you plan to enable message logging, as described in Enabling MTA Message Logging in Message Transfer Agent in the GroupWise 7 Administration Guide:

  1. On the GroupWise partition where the domain is located, create the directory where you want to store MTA message log files.

  2. In ConsoleOne, browse to and select the Domain object.

  3. Right-click the MTA object, then click Properties.

  4. Click GroupWise > Message Log Settings.

  5. In the Message Log File Path field, browse to and select the directory you created in Step 1, then click OK.

Setting the MTA Certificate and Key File Path

If you plan to enable SSL, as described in Securing the Domain with SSL Connections to the MTA in Message Transfer Agent in the GroupWise 7 Administration Guide:

  1. On the GroupWise partition where the domain is located, create the directory where you want to store the certificate and key file required for SSL.

  2. Copy the certificate file and key file into the new directory.

    If you need assistance obtaining these files, see Server Certificates and SSL Encryption in Security Administration in the GroupWise 7 Administration Guide.

  3. In ConsoleOne, browse to and select the Domain object.

  4. Right-click the MTA object, then click Properties.

  5. Click GroupWise > SSL Settings.

  6. In the Certificate File field, browse to and select the certificate file.

  7. In the SSL Key File field, browse to and select the key file.

  8. Click OK.

Setting the POA Certificate and Key File Path

If you plan to enable SSL, as described in Securing the Post Office with SSL Connections to the POA in Post Office Agent in the GroupWise 7 Administration Guide:

  1. On the GroupWise partition where the post office is located, create the directory where you want to store the certificate and key file required for SSL.

  2. Copy the certificate file and key file into the new directory.

    If you need assistance obtaining these files, see Server Certificates and SSL Encryption in Security Administration in the GroupWise 7 Administration Guide.

  3. In ConsoleOne, browse to and select the Post Office object.

  4. Right-click the POA object, then click Properties.

  5. Click GroupWise > SSL Settings.

  6. In the Certificate File field, browse to and select the certificate file.

  7. In the SSL Key File field, browse to and select the key file.

  8. Click OK.

14.4.3 Configuring GroupWise Cluster Resources to Load and Unload the Agents

The properties of the Cluster Resource object associated with the GroupWise partition define how partitions function within the cluster, how agents are loaded and unloaded, and how failover and failback situations are handled. At this point, you might have one cluster resource for a GroupWise partition with a domain and post office on it, or you might have two cluster resources for two GroupWise partitions, one for the domain and one for the post office. Complete the following tasks for each cluster resource:

Modifying the Cluster Resource Load Script for the Agents

The cluster resource load script executes whenever the GroupWise partition comes online. On OES Linux, all cluster management activities are performed in Novell iManager.

To set up the load script in iManager:

  1. Expand Clusters, then click Cluster Options.

    Cluster Options page
  2. In the Cluster field, browse to the Cluster object where the GroupWise cluster resource is located.

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

    Cluster Objects list
  4. Select the GroupWise Cluster Resource object that you created when you set up the GroupWise partition, then click Properties.

    The default load script from a generic IP service template appears as follows:

    #!/bin/bash 
    . /opt/novell/ncs/lib/ncsfuncs
    
    # mount the file system
    exit_on_error mount -t reiserfs /dev/evms/vol /mnt/generic
    
    # add the IP address
    exit_on_error add_secondary_ipaddress a.b.c.d
    
    # start the service
    exit_on_error /etc/init.d/myservice start
    
    # return status
    exit 0
    
  5. If this is an NSS volume or a shared pool, make the following changes to set up the load script for the agents:

    1. As needed, in the mount command, change reiserfs to whatever file system type is in use on nodes in the cluster (System Clustering Worksheet item 5).

    2. In the mount command, change vol to the actual device name in use on nodes in the cluster (System Clustering Worksheet item 5).

    3. In the mount command, change /mnt/generic to the mount point directory in use on nodes in the cluster (System Clustering Worksheet item 5).

    4. In the add_secondary_ipaddress command, change a.b.c.d to the secondary IP address of the GroupWise partition (System Clustering Worksheet item 7 or System Clustering Worksheet item 8)

    5. In the start service command, change myservice start to the command to start the GroupWise agent or agents that you want to run on this GroupWise partition.

      If you created a domain on the partition, you need to run the MTA. If you created a post office on the partition, you need to run the POA. If you created both a domain and a post office, you need to run both the MTA and the POA. Use the following commands as needed for your GroupWise partition:

      /etc/init.d/grpwise start domain
      /etc/init.d/grpwise start post_office.domain
      

      The result would be similar to the following:

      Load script
  6. If this is a traditional Linux volume, use the following load script:

    #! /bin/bash
    . /opt/novell/ncs/lib/ncsfunc
    
    # define the IP address
    RESOURCE_IP=123.123.1.
    
    # define the file system type
    MOUNT_FS=reiserf
    
    # define the device
    exit_on_error evms -f /var/opt/novell/ncs/ContainerActivate -rl
                                                     Share ‘uname -n‘
    MOUNT_DEV=/dev/evms/Share/dat
    
    # define the mount point
    MOUNT_POINT=/mnt/mount_point
    
    # mount the file system
    exit_on_error mount -t $MOUNT_FS $MOUNT_DEV $MOUNT_POINT
    
    # add the IP address
    exit_on_error add_secondary_ipaddress $RESOURCE_IP
    
    /etc/init.d/grpwise start domain
    /etc/init.d/grpwise start post_office.domain
    
    exit 0
    

    Make the following changes to set up the load script for the agents:

    1. On the RESOURCE_IP line, change 123.123.1.1 to the secondary IP address of the GroupWise partition (System Clustering Worksheet item 7 or System Clustering Worksheet item 8)

    2. As needed on the MOUNT_FS line, change reiserfs to whatever file system type is in use on nodes in the cluster (System Clustering Worksheet item 5).

    3. On the MOUNT_DEV line, change /dev/evms/Share/dat to the actual device name in use on nodes in the cluster (System Clustering Worksheet item 5).

    4. On the MOUNT_POINT line, change /mnt/mount_point to the mount point directory in use on nodes in the cluster (System Clustering Worksheet item 5).

    5. If you created a domain on the partition, use the following command to start the MTA:

      /etc/init.d/grpwise start domain
      
    6. If you created a post office on the partition, use the following command to start the POA:

      /etc/init.d/grpwise start post_office.domain
      
  7. Click OK to save the load script.

Modifying the Cluster Resource Unload Script for the Agents

The cluster resource unload script executes whenever the GroupWise partition goes offline. Programs should be unloaded in the reverse order of how they were loaded. This ensures that supporting programs are not unloaded before programs that rely on them in order to function properly.

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

    The default unload script appears as follows:

    #!/bin/bash
    . /opt/novell/ncs/lib/ncsfuncs
    
    # request service stop
    ignore_error /etc/init.d/myservice stop
    
    # stop service otherwise
    sleep 8
    ignore_error fuser -k /mnt/generic
    
    # del the IP address
    ignore_error del_secondary_ipaddress a.b.c.d
    
    # umount the file system
    exit_on_error umount /mnt/generic
    
    # return status
    exit 0
    
  2. If this is an NSS volume or a shared pool, make the following changes:

    1. In the service stop command, change myservice stop to the command to stop the GroupWise agent or agents that you want to run on this GroupWise partition.

      If you created a domain on the partition, you need to stop the MTA. If you created a post office on the partition, you need to stop the POA. If you created both a domain and a post office, you need to stop both the MTA and the POA. Use the following commands as needed for your GroupWise partition:

      /etc/init.d/grpwise stop domain
      /etc/init.d/grpwise stop post_office.domain
      
    2. Adjust the sleep command as needed so that the agents can shut down normally on your system without being inadvertently killed by the kill service command.

    3. In the kill service command (used if the agents do not stop normally), change -k to -mk.

      The -m parameter obtains the PID numbers of the processes to kill.

    4. In the kill service command, change /mnt/generic to the mount point directory used in the load script.

    5. In the del_secondary_ipaddress command, change a.b.c.d to the secondary IP address used in the load script.

    6. In the umount command, change /mnt/generic to the mount point directory used in the load script.

      The result would be similar to the following:

      Unload script
  3. If this is a traditional Linux volume, use the following unload script:

    #!/bin/bash
    . /opt/novell/ncs/lib/ncsfuncs
    
    /etc/init.d/grpwise stop domain
    /etc/init.d/grpwise stop post_office.domain
    
    # define the IP address
    RESOURCE_IP=172.16.5.18
    
    # define the mount point
    MOUNT_POINT=/mnt/mount_point
    
    sleep 8
    
    ignore_error fuser -k $MOUNT_POINT
    
    # del the IP address
    ignore_error del_secondary_ipaddress $RESOURCE_IP
    
    # umount the file system
    exit_on_error umount $MOUNT_POINT
    
    # return status
    exit 0
    

    Make the following changes to set up the unload script for the agents.

    1. Use the following command to stop the MTA:

      /etc/init.d/grpwise stop domain
      
    2. Use the following command to stop the POA:

      /etc/init.d/grpwise stop post_office.domain
      
    3. On the RESOURCE_IP line, change 172.16.5.18 to the secondary IP address used in the load script.

    4. On the MOUNT_POINT line, change /mnt/mount_point to the mount point directory used in the load script.

    5. Adjust the sleep command as needed so that the agents can shut down normally on your system without being inadvertently killed by the fuser -k command that follows.

    6. In the fuser -k command (used if the agents do not stop normally), change -k to -mk.

      The -m parameter obtains the PID numbers of the processes to kill.

  4. Click OK to save the unload script.

Setting the Failover List and Policies for the Agents

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

    Cluster Resource Properties page

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

  2. Under Preferred Nodes, arrange the nodes in the cluster into the desired failover list for the domain or post office (under Agent Clustering Worksheet items 3 or 6).

  3. Click OK.

14.4.4 Setting Up New Instances of the Agents without Installing the Agent Software

There are two steps to setting up new instances of the agents without installing the agent software:

Creating New Startup Files

Each MTA startup file is named after the domain it services, with a .mta extension. Each POA startup file is named after the post office it services, with a .poa extension. When you select the Configure GroupWise for Clustering option, the GroupWise Installation program creates agent startup files in mount_point/groupwise/agents/share on the shared resource.

To create a new startup file without installing the agent software:

  1. Make a copy of an existing startup file and name it after the domain or post office that will be serviced by the agent.

  2. Edit the setting of the --home startup switch to point to the location of the new domain directory or post office directory. Be careful to maintain the syntax of the original line.

  3. Scroll down through the new startup file looking for other active (not commented out) startup switches, then modify them as needed for the new agent.

  4. Save the new startup file.

  5. Edit the GroupWise High Availability service configuration file (/etc/opt/novell/groupwise/gwha.conf).

  6. Make a copy of the section for an existing domain and its MTA or post office and its POA, then modify the information for the new domain or post office and its accompanying agent.

  7. Save the gwha.conf file.

    For more information about the High Availability service, see Enabling the High Availability Service for the Linux GroupWise Agents.

  8. Continue with Modifying Existing Load and Unload Scripts.

Modifying Existing Load and Unload Scripts

The agent startup file names are part of the load commands found in GroupWise cluster resource load scripts.

If you created the new domain and/or post office on a new GroupWise partition, skip back to Section 14.4.3, Configuring GroupWise Cluster Resources to Load and Unload the Agents for instructions to create new load and unload scripts.

If you created the new domain and/or post office on an existing GroupWise partition, most of the configuration of the cluster resource has already been done. You just need to add new service start and stop commands to the existing scripts. Continue with the steps below:

To modify existing load and unload scripts:

  1. In iManager, expand Cluster, then click Cluster Options.

  2. In the Cluster field, browse to and click the Cluster object where the GroupWise cluster resource is located.

  3. Select a cluster resource that contains a GroupWise partition, then click Properties > Scripts.

  4. Following the pattern of the existing service start commands, add start commands for the new instances of the agents you are setting up. Use Ctrl+C to copy and Ctrl+V to paste lines in the load script page.

  5. Click Apply to save the modified load script.

  6. Click Unload Script.

  7. Add corresponding service stop commands for the new instances of the agents.

  8. Click Apply to save the modified unload script.

    You might want to review other properties of the Cluster Resource object, such as the failover list and the failover/failback/migration procedures on the General page, in light of the fact that an additional domain and/or post office now resides on the GroupWise partition.

  9. Change other Cluster Resource properties as needed.

  10. Click OK to save the modified properties.

  11. In the Cluster Manager, take the GroupWise partition offline and then bring it online again to test the new startup files and the modified load and unload scripts. If you need assistance with these tasks, see Testing Your Clustered GroupWise System.