Creating a multi-instance integration node

If you specify a multi-instance queue manager for an integration node, you must configure that integration node as multi-instance.

Before you begin

  • Create the shared directories that you require for the multi-instance integration node, as described in the topic Creating a shared file system in the WebSphere® MQ product documentation.
  • Create the WebSphere MQ multi-instance queue manager. The queue manager must be created with the "-a" or "-ar" flag on crtmqm, specifying a domain group that WebSphere MQ can use for securing shared files. If you have the choice, use the "-ar" flag. For more information, see Create a multi-instance queue manager in the WebSphere MQ product documentation.

About this task

You can use two configurations for a multi-instance integration node:
  • Configure the multi-instance integration node with explicit instances where the queue manager can run. The multi-instance integration node runs in all the defined locations where the multi-instance queue manager is available, and is inactive in locations where the queue manager is not running.
  • Configure the multi-instance integration node as an MQ Service dependency. When a multi-instance integration node depends on an MQ Service, whenever the multi-instance queue manager becomes unavailable, the integration node stops. When the queue manager starts, the integration node is also started on the same computer that the queue manager is running on.

To create a multi-instance integration node of either configuration, complete the following steps:

Procedure

  1. On the computers that will run the instances of the integration node, configure the required users and groups so that they have access to the directory for the shared file system:
    • Linux platformUNIX platformOn Linux® and UNIX, the uid and gid for the mqbrkrs group in /etc/password must be the same on each server. For more information, see Creating a shared file system in the WebSphere MQ product documentation.
    • Windows platformOn Windows, create the following users and groups:
      1. A domain group that is a member of the local mqbrkrs group on both systems. For example, IIB\Domain mqbrkrs.
      2. A domain user that is a member of the Domain mqbrkrs and mqm groups. This ID is used for running the integration node.
      3. A domain user that is a member of the Domain mqbrkrs group and a member of the local Administrators group on both machines. This ID is used for creating the integration node. You can use the same ID for both creating and running the integration node, but you do not have to be an Administrator to run the integration node. For example, WMB\mqsiuser-admin. The listed user and groups are using the example domain name IIB.
  2. Create a directory for the integration node shared files on the file server:
    • Linux platformUNIX platformOn Linux and UNIX systems, create /HA/mqsi on the shared drive. Ensure that /HA/mqsi is owned by the mqbrkrs user and group, and has the access permissions rwx. The UID of the integration node user ID in /etc/passwd and the GID for mqbrkrs in /etc/group must be the same on each server.
      If you are using an NFS v4 file server, add the following line to the /etc/exports file:
      /HA * rw,sync,no_wdelay,fsid=)
      Start the NFS daemon by using the following command:
      /etc/init.d/nfs start
    • Windows platformOn Windows, update the security permissions of the folder:
      1. In Windows Explorer, right-click the shared directory that you created, and select Properties.
      2. Click the Security tab, then click Advanced > Change Permissions...
      3. Clear include inheritable permissions from this objects parent.
      4. In the Permission entries window, select the entries for individual users and then click Remove. Leave the entries for SYSTEM, Administrators, and CREATOR OWNER.
      5. Add mqbrkrs with Full Control. If this folder is also being used for multi-instance queue manager, then the domain group that is used to secure the queue manager must also be added with Full Control set.
      6. Add the global group domain mqm. Click Check Names, and then click OK. If this folder is also being used for multi-instance queue manager, then the domain group that is used to secure the queue manager must also be added with Full Control set.
      7. Remove the default Everyone user from the list.
  3. Open the command console or command prompt by running one of the following commands:
    • Linux platformUNIX platformOn Linux or UNIX systems, as a non-root user that is in the mqm and mqbrkrs groups, open a command prompt, navigate to the bin directory of the installation, and run the mqsiprofile command. For example:
      . /opt/ibm/iib-10.0.0.n/server/bin/mqsiprofile
    • Windows platformOn Windows, as the user mqsiuser-admin, open a command prompt with elevated privileges by using the mqsicommandconsole command; see mqsicommandconsole command

  4. Create a multi-instance integration node on computer A.
    Run one of the following commands, where IBNODE is the name of the integration node, password is the mqsiuser-admin password, and QM1 is the name of the existing multi-instance queue manager that was created with the -a or -ar options:
    • Linux platformUNIX platformOn Linux or UNIX systems:
      mqsicreatebroker IBNODE -q QM1 -e /MQHA/iib
    • Windows platformOn Windows:
      mqsicreatebroker IBNODE -i "WMB\mqsiuser" -a password -q QM1 -e \\MyServer\\mqsishare -B "WMB\Domain mqbrkrs"
    If you want to start the multi-instance integration node as an MQ Service dependency, specify -d as defined on the mqsicreatebroker command. For more information, see mqsicreatebroker command.
    Note: You must be a member of the mqm group to run the mqsicreatebroker command with the -d parameter.

    You must ensure that the shared location exists, and that your user ID has access to the shared location before you run this command.

  5. Add the details of integration node IBNODE onto computer B as an instance of that integration node.
    Use the mqsiaddbrokerinstance command, in the appropriate format for your operating system.
    • Linux platformUNIX platformOn Linux and UNIX:
      mqsiaddbrokerinstance IBNODE -e /MQHA/iib
    • Windows platformOn Windows:
      mqsiaddbrokerinstance IBNODE -i "WMB/mqsiuser" -a password -e /mqsishare
    For more information, see mqsiaddbrokerinstance command.

    Repeat this step for every computer that the multi-instance queue manager runs on.

  6. Start queue manager QM1 so that it is active on computer A.
    See Starting and stopping a multi-instance queue manager in the WebSphere MQ product documentation.
  7. Start integration node IBNODE on computer A.
    Use the mqsistart command:
    mqsistart IBNODE
  8. Start integration node IBNODE on computer B.
    You can observe that integration node IBNODE is running in standby mode against the standby queue manager QM1 by running the command mqsilist.
  9. Optional: Optional: test that the integration node works as follows:
    1. Stop integration node IBNODE and queue manager QM1 on computer A.
      Observe on computer B that integration node IBNODE and queue manager QM1 change from standby to active mode.
    2. Restart queue manager QM1 and integration node IBNODE on computer A.
      Observe on computer A that queue manager QM1 and integration node IBNODE are in standby mode and, on computer B, queue manager QM1 and integration node IBNODE remain in active mode.

Results

You have configured a multi-instance integration node, and created an instance of that integration node. When integration node IBNODE and queue manager QM1 stop on computer A, the same integration node and queue manager on computer B become active, and return to standby when computer A becomes active again.

If you chose to define the multi-instance integration node as an MQ Service dependency, then the integration node stops whenever the multi-instance queue manager becomes unavailable. The integration node is started again when the queue manager starts.