IBM Tivoli Composite Application Manager for Application Diagnostics, Version 7.1.0.1

Split Managing Server installation in Unix - UNIX

The Managing Server consists of a number of components. In a standard installation, all of these components run on the same server host.

You can make more resources available for the Managing Server by installing its components on two server hosts (this is called a split installation). The servers must have exactly the same configuration. A split Managing Server configuration utilizes increased processing power and memory across multiple servers, thereby increasing performance of the Managing Server. For optimal performance in a large deployment (over 100 data collectors), consider using a split installation.

You can also install the Visualization Engine on a separate host. To do this, use the three step silent installation process.

Components that can have instances running across two different servers:

The following components must exist as one instance only, running on one server (you do not have to run them all on the same server):

The Message Dispatcher component does not require significant resources; all other components may use processor power and memory heavily.

To perform a split Managing Server installation:

  1. In advance, prepare a list of Managing Server component instances that will run on every server.

  2. Install the Managing Server using typical, custom, or silent installation on one server.
  3. On the first server, create all the additional component instances that are to run on every server. For example, if you are planning to run the Publish Server on three servers, two instances on each, create six instances of the Publish Server.

  4. Configure the Managing Server on the first server; perform any necessary tuning, including port settings. Ensure the configuration is working.

  5. Copy the java directory from AppServer_home on the first server to any location on the second server.

  6. Create a new user for the Managing Server on the second server. The username must be the same as the Managing Server user on the first server.

  7. Copy the Managing Server installation directory (MS_home) from the first server to exactly the same location on the second server.
  8. On the second server, in...

      MS_home/bin/setenv.sh

    ...adjust the setting for JAVA_HOME to the location of the java directory created in Step 5.

  9. If there is no database client installed on the second server:

    1. Copy the JDBC directory from the database server (in a typical installation this is the first server) to a location on the second server.

    2. In the MS_home/bin/setenv.sh file, for the JDBC_DRIVER_JAR property, specify the path where you added the JDBC directory in Step 9.a.

  10. On both the first and the second servers, in MS_home/bin/setenv.sh, configure the am_socket_exportip and am_socket_bindip properties to point to the host name or IP address of the server host where the file is located.
  11. On both the first and the second servers, in MS_home/etc/ms.properties, configure the kernel.hosts property to contain information about both kernels. For example:
    kernel.hosts=server1.company.com:9122:9120:9118, server2.company.com:9122:9120:9118

    Keep the port definitions the same on both servers. If the second Managing Server is behind a different firewall, the port needs to be opened in the firewall. For details on adjusting ports being blocked by your firewall, see Adjust for ports being blocked by your firewall or being used by other applications

  12. On both the first and the second servers, in MS_home\etc\ve.properties, adjust the settings for kernel.codebase and kernel.rfs.address to point to the host name or IP address of the server host where the file is located.
  13. On both the first and the second servers, modify the startup script, MS_home\bin\am-start.sh, to indicate which components must be started on the server. You can choose which components will run on each server, but both servers cannot start (or stop) the same component ID.

    1. You must run the Message Dispatcher on the first server.

    2. See Table Table 1 for a listing of the component IDs.
    3. Only the Watchdog instance (wd1 or wd2) is to be mentioned in the start/stop/status scripts, as the Watchdog controls the starting, stopping, and status of the kernel.

    Here are examples of lines from two am-start.sh scripts that complement each other:

    From first Managing Server:

    ${CYANEA_HOME}/bin/amctl.sh wd1 start
    #${CYANEA_HOME}/bin/amctl.sh wd2 start
    ${CYANEA_HOME}/bin/amctl.sh aa1 start
    #${CYANEA_HOME}/bin/amctl.sh aa2 start
    ${CYANEA_HOME}/bin/amctl.sh ps1 start
    #${CYANEA_HOME}/bin/amctl.sh ps2 start
    ${CYANEA_HOME}/bin/amctl.sh md start
    ${CYANEA_HOME}/bin/amctl.sh pa start
    ${CYANEA_HOME}/bin/amctl.sh sam1 start

    From second Managing Server:

    #${CYANEA_HOME}/bin/amctl.sh wd1 start
    ${CYANEA_HOME}/bin/amctl.sh wd2 start
    #${CYANEA_HOME}/bin/amctl.sh aa1 start
    ${CYANEA_HOME}/bin/amctl.sh aa2 start
    #${CYANEA_HOME}/bin/amctl.sh ps1 start
    ${CYANEA_HOME}/bin/amctl.sh ps2 start
    #${CYANEA_HOME}/bin/amctl.sh md start
    #${CYANEA_HOME}/bin/amctl.sh pa start
    #${CYANEA_HOME}/bin/amctl.sh sam1 start

    These examples reflect that a second Kernel was added to the default Managing Server configuration.

  14. On each server, perform the same modifications to the stop script, MS_home\bin\am-stop.sh.
  15. On each server, perform the same modifications to the MS_home\bin\am-status.sh script. It is a status script, used internally by Windows services to check the status of Managing Server components.

  16. Start both servers.

    When starting or stopping Managing Servers, start the first Managing Server first. You can use an automation mechanism to coordinate this process. One such automation mechanism is the use of a remote execution shell.

    Tip: If you would like to be able to query the status of all the components such as Archive Agent, Publish Server, or Message Dispatcher even if one of the Kernels is not running, then please complete the optional steps in the next section

  17. Once all the components are started on both the servers, verify the split Managing Server configuration in the Visualization Engine. Select Administration > Managing server > Self Diagnosis. In the component panel, the running components and their IP addresses displays.


Optional steps to query the status of components when one of the Kernels is not running

By modifying the scripts on the first and second Managing Server, to include information about the Kernel on the second Managing Server, you will still be able to query the status of components even if one of the Kernels is not running. For each of the following files, add the code shown in bold:

  1. On the first Managing Server, add the code shown in bold to the following file: MS_home/bin/edit psctl.sh
    RMI_CODEBASE="http://${KERNEL_HOST01}:${PORT_KERNEL_CODEBASE01}/ppe.publish-intf.jar http://
    ${KERNEL_HOST01}:${PORT_KERNEL_CODEBASE01}/ppe.publish.jar http://${KERNEL_HOST01}:
            ${PORT_KERNEL_CODEBASE01}/model.jar http://
    ${KERNEL_HOST01}:${PORT_KERNEL_CODEBASE01}/ppe.probe-intf.jar http://${KERNEL_HOST01}:
            ${PORT_KERNEL_CODEBASE01}/kernel.common.jar 
    http://${KERNEL_HOST02}:${PORT_KERNEL_CODEBASE02}/ppe.publish-intf.jar 
    http://${KERNEL_HOST02}:${PORT_KERNEL_CODEBASE02}/ppe.publish.jar http://${KERNEL_HOST02}:
            ${PORT_KERNEL_CODEBASE02}/model.jar 
    http://${KERNEL_HOST02}:${PORT_KERNEL_CODEBASE02}/ppe.probe-intf.jar http://${KERNEL_HOST02}:
            ${PORT_KERNEL_CODEBASE02}/kernel.common.jar"
    export RMI_CODEBASE
    
    SECURITY_POLICY=${CYANEA_HOME_OS}/etc/ps.policy
    export SECURITY_POLICY
    
    KERNEL_CODEBASE="http://${KERNEL_HOST01}:${PORT_KERNEL_CODEBASE01}/kernel.core.jar 
    http://${KERNEL_HOST02}:${PORT_KERNEL_CODEBASE02}/kernel.core.jar"
    export KERNEL_CODEBASE
    
    KERNEL_RFS_ADDRESS="${KERNEL_HOST01}:${PORT_KERNEL_RFS01} ${KERNEL_HOST02}:${PORT_KERNEL_RFS02}"
    export KERNEL_RFS_ADDRESS
  2. On the first Managing Server, add the code shown in bold to the following file: MS_home/bin/edit aactl.sh
    CODEBASE_ADDRESS01=$KERNEL_HOST01:$PORT_KERNEL_CODEBASE01
    CODEBASE_ADDRESS02=$KERNEL_HOST02:$PORT_KERNEL_CODEBASE02
    
    KERNEL_CODEBASE="http://$CODEBASE_ADDRESS01/kernel.core.jar 
    http://$CODEBASE_ADDRESS02/kernel.core.jar"
    export KERNEL_CODEBASE
    
    RFS_ADDRESS="$KERNEL_HOST01:$PORT_KERNEL_RFS01 $KERNEL_HOST02:$PORT_KERNEL_RFS02"
    export RFS_ADDRESS
    
    RMI_CODEBASE="http://$CODEBASE_ADDRESS01/archiveagent-intf.jar http://$CODEBASE_ADDRESS01/
            archiveagent.jar 
    http://$CODEBASE_ADDRESS02/archiveagent-intf.jar http://$CODEBASE_ADDRESS02
            /archiveagent.jar"
    export RMI_CODEBASE
  3. On the first Managing Server, add the code shown in bold to the following file: MS_home/bin/edit pactl.sh
    CODEBASE_ADDRESS01=$KERNEL_HOST01:$PORT_KERNEL_CODEBASE01
    CODEBASE_ADDRESS02=$KERNEL_HOST02:$PORT_KERNEL_CODEBASE02
    
    
    KERNEL_CODEBASE="http://$CODEBASE_ADDRESS01/kernel.core.jar 
    http://$CODEBASE_ADDRESS02/kernel.core.jar"
    export KERNEL_CODEBASE
    
    RFS_ADDRESS="$KERNEL_HOST01:$PORT_KERNEL_RFS01 $KERNEL_HOST02:$PORT_KERNEL_RFS02"
    export RFS_ADDRESS
    
    RMI_CODEBASE="http://$CODEBASE_ADDRESS01/pollingagent.jar http://$CODEBASE_ADDRESS01/
            pollingagent-intf.jar 
    http://$CODEBASE_ADDRESS01/archiveagent-intf.jar http://$CODEBASE_ADDRESS01/archiveagent.jar 
            http://$CODEBASE_ADDRESS02/pollingagent.jar 
    http://$CODEBASE_ADDRESS02/pollingagent-intf.jar http://$CODEBASE_ADDRESS02/
            archiveagent-intf.jar http://$CODEBASE_ADDRESS02/archiveagent.jar"
    export RMI_CODEBASE
  4. On the first Managing Server, add the code shown in bold to the following file: MS_home/bin/vi mdctl.sh
    CODEBASE_ADDRESS01=$KERNEL_HOST01:$PORT_KERNEL_CODEBASE01
    CODEBASE_ADDRESS01=$KERNEL_HOST02:$PORT_KERNEL_CODEBASE02
    
    KERNEL_CODEBASE="http://$CODEBASE_ADDRESS01/kernel.core.jar 
    http://$CODEBASE_ADDRESS02/kernel.core.jar"
    export KERNEL_CODEBASE
    
    RFS_ADDRESS="$KERNEL_HOST01:$PORT_KERNEL_RFS01 $KERNEL_HOST02:$PORT_KERNEL_RFS02"
    export RFS_ADDRESS
    
    RMI_CODEBASE="http://$CODEBASE_ADDRESS01/messagedispatcher.jar http://$CODEBASE_ADDRESS01/
            messagedispatcher-intf.jar 
    http://$CODEBASE_ADDRESS02/messagedispatcher.jar http://$CODEBASE_ADDRESS02/
            messagedispatcher-intf.jar"
    export RMI_CODEBASE
  5. On the second Managing Server, add the code shown in bold to the following file: MS_home/bin/vi psctl.sh
    RMI_CODEBASE="http://${KERNEL_HOST01}:${PORT_KERNEL_CODEBASE01}/ppe.publish-intf.jar http://
    ${KERNEL_HOST01}:${PORT_KERNEL_CODEBASE01}/ppe.publish.jar http://${KERNEL_HOST01}:
            ${PORT_KERNEL_CODEBASE01}/model.jar http://
    ${KERNEL_HOST01}:${PORT_KERNEL_CODEBASE01}/ppe.probe-intf.jar http://${KERNEL_HOST01}:
            ${PORT_KERNEL_CODEBASE01}/kernel.common.jar 
    http://${KERNEL_HOST02}:${PORT_KERNEL_CODEBASE02}/ppe.publish-intf.jar 
    http://${KERNEL_HOST02}:${PORT_KERNEL_CODEBASE02}/ppe.publish.jar http://${KERNEL_HOST02}:
            ${PORT_KERNEL_CODEBASE02}/model.jar 
    http://${KERNEL_HOST02}:${PORT_KERNEL_CODEBASE02}/ppe.probe-intf.jar http://${KERNEL_HOST02}:
            ${PORT_KERNEL_CODEBASE02}/kernel.common.jar"
    export RMI_CODEBASE
    
    SECURITY_POLICY=${CYANEA_HOME_OS}/etc/ps.policy
    export SECURITY_POLICY
    KERNEL_CODEBASE="http://${KERNEL_HOST01}:${PORT_KERNEL_CODEBASE01}/kernel.core.jar 
    http://${KERNEL_HOST02}:${PORT_KERNEL_CODEBASE02}/kernel.core.jar"
    export KERNEL_CODEBASE
    
    KERNEL_RFS_ADDRESS="${KERNEL_HOST01}:${PORT_KERNEL_RFS01} ${KERNEL_HOST02}:${PORT_KERNEL_RFS02}"
    export KERNEL_RFS_ADDRESS
  6. On the second Managing Server, add the code shown in bold to the following file: MS_home/bin/edit aactl.sh
    CODEBASE_ADDRESS01=$KERNEL_HOST01:$PORT_KERNEL_CODEBASE01
    CODEBASE_ADDRESS02=$KERNEL_HOST02:$PORT_KERNEL_CODEBASE02
    KERNEL_CODEBASE="http://$CODEBASE_ADDRESS01/kernel.core.jar 
    http://$CODEBASE_ADDRESS02/kernel.core.jar"
    export KERNEL_CODEBASE
    
    RFS_ADDRESS="$KERNEL_HOST01:$PORT_KERNEL_RFS01 $KERNEL_HOST02:$PORT_KERNEL_RFS02"
    export RFS_ADDRESS
    
    RMI_CODEBASE="http://$CODEBASE_ADDRESS01/archiveagent-intf.jar http://$CODEBASE_ADDRESS01/
            archiveagent.jar 
    http://$CODEBASE_ADDRESS02/archiveagent-intf.jar http://$CODEBASE_ADDRESS02/archiveagent.jar"
    export RMI_CODEBASE


Parent topic:

Customization for the Managing Server on UNIX and Linux

+

Search Tips   |   Advanced Search