The following document provides step-by-step instructions for reconfiguring an existing installation of MQSeries into an HACMP compatible installation of MQSeries. These instructions assume there is a volume group called "<Machine Identifier>datavg" which exists on external SAN storage. The "<Machine Identifier>" portion of the volume group name is a string of characters which uniquely identifies the machine with which the volume group is normally associated. As an example, this document describes a two machine, mutual failover cluster using machine names of "ddcaaeai01" and "ddcaaeai02".

The volume group, logical volume and file system naming standards used in this document conform to the standardized methodology detailed in the document titled "Filesystem Naming". Two logical volumes are created during this procedure which occupy 2.5 GB of disk space. The amount of disk space used for each logical volume can be changed to suit the implementation requirements.


  1. ddcaaeai01: Run the following script, which will create and modify the various file systems required for the implementation of MQSeries in an AIX HACMP environment:
    
    #!/bin/ksh
    ################################################################
    # 
    # Customize the following shell variables for each 
    # machine on which this script is run.
    # 
    ################################################################
    PPSIZE="16"
    DISKNBR="power1"
    MACHID="eai02"
    QMNAME="YYEAIAIX"
    ################################################################
    
    umount /ddcaa${MACHID}/ibm/mqm/${QMNAME}/data
    umount /ddcaa${MACHID}/ibm/mqm/${QMNAME}/log
    rmfs /ddcaa${MACHID}/ibm/mqm/${QMNAME}/data
    rmfs /ddcaa${MACHID}/ibm/mqm/${QMNAME}/log
    
    #  Logical Volume: /dev/${MACHID}datalv (edge)
    mklv -y${MACHID}datalv -ae ${MACHID}datavg \
      $(( 750 / ${PPSIZE} )) hdisk${DISKNBR}
    
    #  Logical Volume: /dev/${MACHID}logslv (center)
    mklv -y${MACHID}logslv -ac ${MACHID}datavg \
      $(( 1750 / ${PPSIZE} )) hdisk${DISKNBR}
    
    #  File System: /ddcaa${MACHID}/ibm/mqm/${QMNAME}/data
    crfs -v jfs -a bf=true -d${MACHID}datalv \
      -m/ddcaa${MACHID}/ibm/mqm/${QMNAME}/data -Ayes -prw \
      -tno -a nbpi=4096 -a ag=64
    mount /ddcaa${MACHID}/ibm/mqm/${QMNAME}/data
    
    #  File System: /ddcaa${MACHID}/ibm/mqm/${QMNAME}/log
    crfs -v jfs -a bf=true -d${MACHID}logslv \
      -m/ddcaa${MACHID}/ibm/mqm/${QMNAME}/log -Ayes -prw \
      -tno -a nbpi=4096 -a ag=64
    mount /ddcaa${MACHID}/ibm/mqm/${QMNAME}/log
    
    ln -s /ddcaa${MACHID}/ibm/mqm /MQHA
    chfs -An /ddcaa${MACHID}/ibm/mqm/${QMNAME}/data
    chfs -An /ddcaa${MACHID}/ibm/mqm/${QMNAME}/log
    chvg -a'n' -Q'y' -x'n' ${MACHID}datavg 
    chown -R mqm.mqm /ddcaa${MACHID}/ibm/mqm/${QMNAME}
    
    
    
  2. ddcaaeai02: Create the MQSeries HACMP script top level directory:


    $ ln -s /ddcaaeai02/ibm/mqm /MQHA

  3. ddcaaeai01: Create the MQSeries HACMP script top level directory and the Queue Manager directory for the remote Queue Manager.


    $ ln -s /ddcaaeai01/ibm/mqm /MQHA
    $ ln -s /ddcaaeai02/ibm/mqm/YYEAIAIX /ddcaaeai01/ibm/mqm/YYEAIAIX

  4. ddcaaeai02: Copy the HA scripts into the /MQHA/bin directory


    $ cp /usr/sys/inst.images/mqseries/* /MQHA/bin
    $ chown mqm.mqm /MQHA/bin/ha*
    $ chmod 755 /MQHA/bin/ha*

  5. ddcaaeai02: Create the MQSeries queue manager using the HACMP scripts:


    $ export MQHAFSDATA=/ddcaaeai02/ibm/mqm/P1EAIAIX/data
    $ export MQHAFSLOG=/ddcaaeai02/ibm/mqm/P1EAIAIX/log
    $ cd /MQHA/bin
    $ ./hacrtmqm -ll -lf 16384 -lp 10 -ls 5 -q \
      -u SYSTEM.DEAD.LETTER.QUEUE YYEAIAIX

  6. ddcaaeai01: Create the corresponding links on the failover side, login as "mqm":


    $ su - mqm -c halinkmqm YYEAIAIX YYEAIAIX /MQHA/YYEAIAIX/data

  7. ddcaaeai02: Edit the initialization file and remove all duplicate or inappropriate references to queue managers:


    $ me /var/mqm/mqs.ini

  8. ddcaaeai01: Edit the initialization file and remove all duplicate or inappropriate references to queue managers:


    $ me /var/mqm/mqs.ini

  9. ddcaaeai02: login as root and start the Queue manager using the HACMP scripts:


    $ cd /MQHA/bin
    $ ./hamqm_start YYEAIAIX

  10. ddcaaeai02: change the file systems and volume group to NOT automatically startup at system boot time:


    $ chfs -An /ddcaaeai02/ibm/mqm/YYEAIAIX/data
    $ chfs -An /ddcaaeai02/ibm/mqm/YYEAIAIX/log
    $ chvg -a'n' -Q'y' -x'n' eai02datavg

  11. ddcaaeai01: HACMP command to start the cluster environment:


    $ /usr/sbin/cluster/etc/rc.cluster -boot '-N' '-b' '-i'

  12. ddcaaeai02: HACMP command to start the cluster environment:


    $ /usr/sbin/cluster/etc/rc.cluster -boot '-N' '-b' '-i'