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 Create a multi-instance queue manager in the IBM® MQ product documentation. The examples shown in this topic assume
that you have created a shared directory called MQHA.
- Create the IBM MQ multi-instance queue manager. On
Windows, the queue manager must be created with the
"-a"
or "-ar"
flag on crtmqm, specifying a
domain group that IBM 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 IBM 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
- On the computers that will run the instances of the integration node, configure the
required users and groups so that they will have access to the directory for the shared file
system:
- On 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 Create a multi-instance queue manager in the IBM MQ product documentation.
- On Windows, create the following users and groups:
- A domain group that is a member of the local mqbrkrs group on
both systems. For example, ACE\Domain
mqbrkrs.
- A domain user that is a member of the Domain mqbrkrs and mqm groups. This ID is used for running the integration node.
- 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 ACE.
- Create a directory for the integration node shared files
on the file server:
- On Linux and UNIX systems, create a subdirectory (such as
mqsi
) on the shared drive (MQHA
); for example:
/MQHA/mqsi. Ensure that this directory 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.
- On Windows,
update the security permissions of the folder:
- In Windows Explorer, right-click
the shared directory that you created, and select Properties.
- Click the Security tab, then click
- Clear include inheritable permissions from this objects
parent.
- In the Permission entries window, select
the entries for individual users and then click Remove.
Leave the entries for SYSTEM, Administrators, and CREATOR OWNER.
- 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.
- 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.
- Remove the default Everyone user from the
list.
- Open the command console or command prompt by running one
of the following commands:
- Create a multi-instance integration node on computer
A
, by
running one of the following commands:
-
On
Linux and
UNIX
systems:
mqsicreatebroker INODE -q QM1 -e /MQHA/mqsi
where
INODE is the name of the integration node and
the
-e parameter specifies the name of the shared directory created in step
2.
-
On
Windows:
mqsicreatebroker INODE -i "WMB\mqsiuser" -a password -q QM1 -e \\MQHA\\mqsi -B "WMB\Domain mqbrkrs"
where
INODE is the name of the integration node, and
password is the
mqsiuser-admin
password. The
-e parameter specifies the name of the shared directory that was created in
step 2, and
QM1
is the name of the multi-instance queue manager that was created
previously.
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.
- Add the details of integration node INODE onto computer
B
as an instance of
that integration node. Use the
mqsiaddbrokerinstance command, in the appropriate format for your operating system.
-
On
Linux and
UNIX:
mqsiaddbrokerinstance INODE -e /MQHA/mqsi
where
the
-e parameter specifies the name of the shared directory created in step
2.
-
On
Windows:
mqsiaddbrokerinstance INODE -i "WMB\mqsiuser" -a password -e \\MQHA\\mqsi
where
the
-e parameter specifies the name of the shared directory created in step
2.
For more information, see
mqsiaddbrokerinstance command.
Repeat this step for every computer
that the multi-instance queue manager runs on.
- Start queue manager
QM1
so that it is active on computer
A
.
- Start integration node
INODE
on computer A
.
Use the
mqsistart command:
mqsistart INODE
- Start integration node INODE on computer
B
.
You can observe that integration node INODE is running in
standby mode against the standby queue manager QM1
by
running the command mqsilist.
- Optional: Optional: test that the integration
node works as follows:
- Stop integration node INODE and queue manager
QM1
on computer A
. Observe
on computer B
that integration node INODE and queue manager
QM1
change from standby to active mode.
- Restart queue manager
QM1
and integration
node INODE on computer A
.
Observe on computer A
that queue manager QM1
and
integration node INODE are
in standby mode and, on computer B, queue manager QM1
and
integration node INODE remain
in active mode.
Results
You have configured a multi-instance integration node, and
created an instance of that integration node. When integration
node INODE 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.