Sun Cluster 3.1 Data Service for WebSphere MQ

Installing and Configuring Sun Cluster HA for WebSphere MQ

Installing and Configuring Sun Cluster HA for WebSphere MQ

Table 1–1 lists the tasks for installing and configuring Sun Cluster HA for WebSphere MQ. Perform these tasks in the order that they are listed.

Table 1–1 Task Map: Installing and Configuring Sun Cluster HA for WebSphere MQ

Task 

For Instructions, Go To 

Plan the installation 

Sun Cluster HA for WebSphere MQ Overview

Planning the Sun Cluster HA for WebSphere MQ Installation and Configuration

Install and configure WebSphere MQ 

How to Install and Configure WebSphere MQ

Verify installation and configuration 

How to Verify the Installation and Configuration of WebSphere MQ

Install Sun Cluster HA for WebSphere MQ Packages 

How to Install the Sun Cluster HA for WebSphere MQ Packages

Register and Configure Sun Cluster HA for WebSphere MQ 

How to Register and Configure Sun Cluster HA for WebSphere MQ

Verify Sun Cluster HA for WebSphere MQ Installation and Configuration 

How to Verify the Sun Cluster HA for WebSphere MQ Installation and Configuration

Understand Sun Cluster HA for WebSphere MQ fault monitor 

Understanding Sun Cluster HA for WebSphere MQ Fault Monitor

Debug Sun Cluster HA for WebSphere MQ 

How to turn debug on for Sun Cluster HA for WebSphere MQ

Sun Cluster HA for WebSphere MQ Overview

WebSphere MQ messaging software enables business applications to exchange information across different operating platforms in a way that is easy and straightforward for programmers to implement. Programs communicate using the WebSphere MQ API that assures once only delivery and time independent communications.

The Sun Cluster HA for WebSphere MQ data service provides a mechanism for orderly startup and shutdown, fault monitoring and automatic failover of the WebSphere MQ service. The following WebSphere MQ components are protected by the Sun Cluster HA for WebSphere MQ data service.

Table 1–2 Protection of Components

Component 

Protected by 

Queue Manager 

Sun Cluster HA for WebSphere MQ 

Channel Initiator 

Sun Cluster HA for WebSphere MQ 

Command Server 

Sun Cluster HA for WebSphere MQ 

Listener  

Sun Cluster HA for WebSphere MQ 

Trigger Monitor 

Sun Cluster HA for WebSphere MQ 

Planning the Sun Cluster HA for WebSphere MQ Installation and Configuration

This section contains the information you need to plan your Sun Cluster HA for WebSphere MQ installation and configuration.

Configuration Restrictions


Caution – Caution –

Your data service configuration might not be supported if you do not observe these restrictions.


Consider the restrictions in this section to plan the installation and configuration of Sun Cluster HA for WebSphere MQ. This section provides a list of software and hardware configuration restrictions that apply to Sun Cluster HA for WebSphere MQ only.

For restrictions that apply to all data services, see the Sun Cluster Release Notes.

Configuration Requirements


Caution – Caution –

Your data service configuration might not be supported if you do not adhere to these requirements.


Use the requirements in this section to plan the installation and configuration of Sun Cluster HA for WebSphere MQ. These requirements apply to Sun Cluster HA for WebSphere MQ only. You must meet these requirements before you proceed with your Sun Cluster HA for WebSphere MQ installation and configuration.

Installing and Configuring WebSphere MQ

This section contains the procedures you need to install and configure WebSphere MQ.

How to Install and Configure WebSphere MQ

Use this procedure to install and configure WebSphere MQ.

  1. Determine how WebSphere MQ will be deployed in Sun Cluster – Here you need to determine how WebSphere MQ will be deployed.

    • Determine how many WebSphere MQ instances will be deployed.

    • Determine what Cluster File System will be used by each WebSphere MQ instance.

  2. Mount WebSphere MQ Cluster File Systems – Once you have determined how WebSphere MQ will be deployed within Sun Cluster, you must ensure the Cluster File Systems are mounted.


    Note –

    If Failover File Systems will be used by the WebSphere MQ instance, you must mount these manually.


  3. Install WebSphere MQ onto all nodes within Sun Cluster – It is recommended that WebSphere MQ is installed onto local disks, however for a discussion of the advantages and disadvantages of installing the software on a local versus a cluster file system, see “Determining the Location of the Application Binaries” on page 3 of the Sun Cluster Data Services Installation and Configuration Guide.

    • Install WebSphere MQ onto all nodes within Sun Cluster that will run WebSphere MQ, regardless of the location of the application binaries. This is required because the pkgadd for WebSphere MQ additionally sets up several symbolic links on the host.


      Note –

      Follow IBM's WebSphere MQ for Sun Solaris — Quick Beginnings manual to install WebSphere MQ.


  4. Create your WebSphere MQ Manager(s) – Once WebSphere MQ has been installed onto all nodes within Sun Cluster that will run WebSphere MQ, you should create your WebSphere MQ Manager(s).

    WebSphere MQ V5.3 has a bug when the default setting, LogDefaultPath=/var/mqm/log , is used when issuing crtmqm to create your WebSphere MQ Manager. The problem can be seen in the following example, ie the crtmqm command complains with AMQ7064: Log path not valid or inaccessible.

    To workaround this you must specify the -ld parameter when creating the WebSphere MQ Manager, ie crtmqm -ld /global/mqm/log/<qmgr> <qmgr>

    This will cause another <qmgr> directory to appear, ie /global/mqm/log/<qmgr>/<qmgr>, however it overcomes this bug.


    Example 1–6 Create your WebSphere MQ V5.3 Manager with the -ld parameter


    # crtmqm qmgr1
    AMQ7064: Log path not valid or inaccessible.
    #
    # crtmqm -ld /global/mqm/log/qmgr1  qmgr1
    WebSphere MQ queue manager created.
    Creating or replacing default objects for qmgr1 .
    Default objects statistics : 31 created. 0 replaced. 0 failed.
    Completing setup.
    Setup completed.
    #
    # cd /global/mqm/log/qmgr1 
    #
    # ls -l
    total 2
    drwxrwx---   3 mqm      mqm          512 Jan 10 11:44 qmgr1 
    #
    # cd qmgr1 
    #
    # ls -l
    total 12
    drwxrwx---   2 mqm      mqm          512 Jan 10 11:44 active
    -rw-rw----   1 mqm      mqm         4460 Jan 10 11:44 amqhlctl.lfh
    #
    # pwd
    /global/mqm/log/qmgr1/qmgr1 
    #
    # cd /global/mqm/qmgrs/qmgr1
    #
    # more qm.ini
    #*******************************************************************#
    #* Module Name: qm.ini                                             *#
    #* Type       : MQSeries queue manager configuration file          *#
    #  Function   : Define the configuration of a single queue manager *#
    #*                                                                 *#
    #*******************************************************************#
    #* Notes      :                                                    *#
    #* 1) This file defines the configuration of the queue manager     *#
    #*                                                                 *#
    #*******************************************************************#
    ExitPath:
       ExitsDefaultPath=/var/mqm/exits/
    #*                                                                 *#
    #*                                                                 *#
    Log:
       LogPrimaryFiles=3
       LogSecondaryFiles=2
       LogFilePages=1024
       LogType=CIRCULAR
       LogBufferPages=0
       LogPath=/global/mqm/log/qmgr1/qmgr1/
       LogWriteIntegrity=TripleWrite
    Service:
       Name=AuthorizationService
       EntryPoints=10
    ServiceComponent:
       Service=AuthorizationService
       Name=MQSeries.UNIX.auth.service
       Module=/opt/mqm/lib/amqzfu
       ComponentDataSize=0
     # 


    Note –

    This bug, of having to specify the -ld parameter when LogDefaultPath=/var/mqm/log is being used, has been reported to IBM and a fix is being worked on.


Verifying the Installation and Configuration of WebSphere MQ

This section contains the procedure you need to verify the installation and configuration.

How to Verify the Installation and Configuration of WebSphere MQ

Use this procedure to verify the installation and configuration. This procedure does not verify that your application is highly available because you have not installed your data service yet.

  1. Start the WebSphere MQ Manager and check the installation.


    # su - mqm
    Sun Microsystems Inc.   SunOS 5.8       Generic February 2000
    $ strmqm qmgr1
    WebSphere MQ queue manager 'qmgr1' started.
    $ 
    $ runmqsc qmgr1
    5724-B41 (C) Copyright IBM Corp. 1994, 2002.  ALL RIGHTS RESERVED.
    Starting WebSphere MQ script Commands.
    
    
    def ql(test) defpsist(yes)
         1 : def ql(test) defpsist(yes)
    AMQ8006: WebSphere MQ queue created.
    end
         2 : end
    One MQSC command read.
    No commands have a syntax error.
    All valid MQSC commands were processed.
    $ 
    $ /opt/mqm/samp/bin/amqsput TEST qmgr1
    Sample AMQSPUT0 start
    target queue is TEST
    test test test test test test test
    
    Sample AMQSPUT0 end
    $ 
    $ /opt/mqm/samp/bin/amqsget TEST qmgr1
    Sample AMQSGET0 start
    message <test test test test test test test>
    ^C$ 
    $
    $ runmqsc qmgr1
    5724-B41 (C) Copyright IBM Corp. 1994, 2002.  ALL RIGHTS RESERVED.
    Starting WebSphere MQ script Commands.
    
    
    delete ql(test)
         1 : delete ql(test)
    AMQ8007: WebSphere MQ queue deleted.
    end
         2 : end
    One MQSC command read.
    No commands have a syntax error.
    All valid MQSC commands were processed.
    $ 
  2. Stop the WebSphere MQ Manager


    # su - mqm
    Sun Microsystems Inc.   SunOS 5.8       Generic February 2000
    $ 
    $ endmqm -i qmgr1
    WebSphere MQ queue manager 'qmgr1' ending.
    WebSphere MQ queue manager 'qmgr1' ended.
    $

Installing the Sun Cluster HA for WebSphere MQ Packages

This section contains the procedure you need to install the Sun Cluster HA for WebSphere MQ packages.

How to Install the Sun Cluster HA for WebSphere MQ Packages

Use this procedure to install the Sun Cluster HA for WebSphere MQ packages. You need the Sun Cluster Agents CD-ROM to perform this procedure. This procedure assumes that you did not install the data service packages during your initial Sun Cluster installation.

If you installed the Sun Cluster HA for WebSphere MQ packages as part of your initial Sun Cluster installation, proceed to Registering and Configuring Sun Cluster HA for WebSphere MQ.

Otherwise, use this procedure to install the Sun Cluster HA for WebSphere MQ packages. Perform this procedure on all nodes that can run Sun Cluster HA for WebSphere MQ.

  1. Load the Sun Cluster Agents CD-ROM into the CD-ROM drive.

  2. Run the scinstall utility with no options.

    This step starts the scinstall utility in interactive mode.

  3. Choose the menu option, Add Support for New Data Service to This Cluster Node.

    The scinstall utility prompts you for additional information.

  4. Provide the path to the Sun Cluster Agents CD-ROM.

    The utility refers to the CD as the “data services cd.”

  5. Specify the data service to install.

    The scinstall utility lists the data service that you selected and asks you to confirm your choice.

  6. Exit the scinstall utility.

  7. Unload the CD from the drive.

Registering and Configuring Sun Cluster HA for WebSphere MQ

This section contains the procedures you need to configure Sun Cluster HA for WebSphere MQ.

How to Register and Configure Sun Cluster HA for WebSphere MQ

Use this procedure to configure Sun Cluster HA for WebSphere MQ as a failover data service. This procedure assumes that you installed the data service packages during your initial Sun Cluster installation.

If you did not install the Sun Cluster HA for WebSphere MQ packages as part of your initial Sun Cluster installation, go to How to Install the Sun Cluster HA for WebSphere MQ Packages.

Otherwise, use this procedure to configure the Sun Cluster HA for WebSphere MQ data service.

  1. Become superuser on one of the nodes in the cluster that will host WebSphere MQ.

  2. Register the SUNW.gds resource type.


    # scrgadm -a -t SUNW.gds
    
  3. Register the SUNW.HAStoragePlus resource type.


    # scrgadm -a -t SUNW.HAStoragePlus
    
  4. Create a failover resource group .


    # scrgadm -a -g WebSphere MQ-failover-resource-group
    
  5. Create a resource for the WebSphere MQ Disk Storage.


    # scrgadm -a -j WebSphere MQ-has-resource  \
    -g WebSphere MQ-failover-resource-group   \
    -t SUNW.HAStoragePlus  \
    -x FilesystemMountPoints=WebSphere MQ- instance-mount-points
    
  6. Create a resource for the WebSphere MQ Logical Hostname.


    # scrgadm -a -L -j WebSphere MQ-lh-resource  \
    -g WebSphere MQ-failover-resource-group  \
    -l WebSphere MQ-logical-hostname
    
  7. Enable the failover resource group that now includes the WebSphere MQ Disk Storage and Logical Hostname resources.


    # scswitch -Z -g WebSphere MQ-failover-resource-group
    
  8. Create and register each required WebSphere MQ component.

    Perform this step for the Queue Manager component (mgr), then repeat for each of the optional WebSphere MQ components that are used, replacing mgr with one of the following,

    chi - Channel Initiator

    csv - Command Server

    lsr - Dedicated Listener

    trm - Trigger monitor


    # cd /opt/SUNWscmqs/mgr/util
    

    Edit the mgr_config file and follow the comments within that file, ie


    # These parameters can be customized in (key=value) form
    #
    #      RS - name of the resource for the application
    #      RG - name of the resource group containing RS
    #    QMGR - name of the Queue Manager
    #    PORT - name of the Queue Manager port number
    #      LH - name of the LogicalHostname SC resource
    #  HAS_RS - name of the Queue Manager HAStoragePlus SC resource
    #

    The following is an example for WebSphere MQ Manager qmgr1 .


    RS=wmq-qmgr-res
    RG=wmq-rg
    QMGR=qmgr1
    PORT=1414
    LH=wmq-lh-res
    HAS_RS=wmq-has-res
    

    After editing mgr_config you must now register the resource.


    # ./mgr_register
    
  9. Enable WebSphere MQ Manager protection (if required).

    You should only implement WebSphere MQ Manager protection if you have deployed WebSphere MQ onto a Global File System. Refer back toConfiguration Requirements for more details to implement WebSphere MQ Manager protection and in particular to Example 1–5. Otherwise skip to the next step.

    Furthermore, you must repeat this on each node within Sun Cluster that will host Sun Cluster HA for WebSphere MQ.

  10. Enable each WebSphere MQ resource.

    Repeat this step for each WebSphere MQ component as in the previous step.


    # scstat 
    

    # scswitch -e -j WebSphere MQ-resource
    

Verifying the Sun Cluster HA for WebSphere MQ Installation and Configuration

This section contains the procedure you need to verify that you installed and configured your data service correctly.

How to Verify the Sun Cluster HA for WebSphere MQ Installation and Configuration

Use this procedure to verify that you installed and configured Sun Cluster HA for WebSphere MQ correctly.

  1. Become superuser on one of the nodes in the cluster that will host WebSphere MQ.

  2. Ensure all the WebSphere MQ resources are online with scstat.


    # scstat 
    

    For each WebSphere MQ resource that is not online, use the scswitch command as follows.


    # scswitch -e -j WebSphere MQ- resouce
    
  3. Run the scswitch command to switch the WebSphere MQ resource group to another cluster node, such as node2.


    # scswitch -z -g WebSphere MQ-failover-resource-group -h node2
    

Understanding Sun Cluster HA for WebSphere MQ Fault Monitor

Use the information in this section to understand Sun Cluster HA for WebSphere MQ fault monitor. This section describes the Sun Cluster HA for WebSphere MQ fault monitor's probing algorithm or functionality, states the conditions, messages, and recovery actions associated with unsuccessful probing, and states the conditions and messages associated with unsuccessful probing.

For conceptual information on fault monitors, see the Sun Cluster Concepts Guide.

Resource Properties

Sun Cluster HA for WebSphere MQ fault monitor uses the same resource properties as resource type SUNW.gds. Refer to the SUNW.gds(5) man page for a complete list of resource properties used.

Probing Algorithm and Functionality

Debug Sun Cluster HA for WebSphere MQ

How to turn debug on for Sun Cluster HA for WebSphere MQ

Use the information in this section to understand how to turn on debug for Sun Cluster HA for WebSphere MQ.

Sun Cluster HA for WebSphere MQ can be used by multiple WebSphere MQ instances. However, it is possible to turn debug on for all WebSphere MQ instances or a particular WebSphere MQ instance.

Each WebSphere MQ component has a DEBUG file under /opt/SUNWscmqs/xxx/etc, where xxx is a three character abbreviation for the respective WebSphere MQ component.

These files allow you to turn debug on for all WebSphere MQ instances or for a specific WebSphere MQ instance on a particular node with Sun Cluster. If you require debug to be turned on for Sun Cluster HA for WebSphere MQ across the whole Sun Cluster, you will need to repeat this step on all nodes within Sun Cluster.

Perform this step for the Queue Manager component (mgr), then repeat for each of the optional WebSphere MQ components that requires debug output, on each node of Sun Cluster as required.

  1. Edit /etc/syslog.conf

    Edit /etc/syslog.conf and change daemon.notice to daemon.debug


    # grep daemon /etc/syslog.conf
    *.err;kern.debug;daemon.notice;mail.crit        /var/adm/messages
    *.alert;kern.err;daemon.err                     operator
    #

    Change the daemon.notice to daemon.debug and restart syslogd. Note that the output below, from the command grep daemon /etc/syslog.conf, shows that daemon.debug has now been set.


    # grep daemon /etc/syslog.conf
    *.err;kern.debug;daemon.debug;mail.crit        /var/adm/messages
    *.alert;kern.err;daemon.err                    operator
    #
    # pkill -1 syslogd
    #
  2. Edit /opt/SUNWscmqs/mgr/etc/config

    Edit /opt/SUNWscmqs/mgr/etc/config and change DEBUG= to DEBUG=ALL or DEBUG=resource


    # cat /opt/SUNWscmqs/mgr/etc/config
    #
    # Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    #
    # Usage:
    #       DEBUG=<RESOURCE_NAME> or ALL
    #       START_COMMAND=/opt/mqm/bin/<renamed_strmqm_program>
    #       STOP_COMMAND=/opt/mqm/bin/<renamed_endmqm_program>
    #
    DEBUG=ALL
    START_COMMAND=
    STOP_COMMAND=
    #

    Note –

    To turn off debug, simply reverse the steps above.