[Linux]

Creating an HA RDQM

You use the crtmqm command to create a high availability replicated data queue manager (RDQM).

About this task

You can create a high availability replicated data queue manager (RDQM) as a user in the mqm group if the mqm user can use sudo. If the user can also SSH to each node without a password, then you only need run the create RDQM command on one node to create the RDQM on all three nodes. Otherwise you must be root to create an RDQM, and you must run commands on all three nodes.

Note: There is an absolute limit of 129 queue managers in an HA group. If you attempt to create more than this, the attempt will fail. In practice, adding more than 50 queue managers to an HA group might encounter timeout problems.
The following points give some guidance about sizing the queue manager file system:
  1. When creating an RDQM queue manager, a file system is allocated to store queue manager data and logs. It is important to size this file system appropriately so that the queue manager can record ongoing activity in its logs, and store application messages on queues. When sizing the file system, consider peak messaging requirements, future workload growth, and application outages that might cause messages to build up on queues. For guidance on calculating the size of the queue manager recovery log, see How large should I make my log filesystem?. When calculating the storage requirements for application messages, the size and number of messages needs to be considered, plus their MQMD header and any message properties they have.
  2. RDQM queue manager file systems cannot be dynamically resized. You must back up then restore an RDQM queue manager with a larger file system if this is required, see Resizing the filesystem for an HA RDQM queue manager.
  3. You can limit the size of individual queues on disk by using local queue attributes, such as MAXDEPTH and MAXFSIZE. See Modifying IBM MQ queue files.
  4. You should monitor your ongoing disk usage and respond appropriately if disk usage increases before file system usage becomes critical. File system usage can be monitored by using either platform/operating system capabilities, or by subscribing to metrics published to IBM® MQ system topics that are described at Metrics published on the system topics.

Procedure

  • To create an RDQM as a user in the mqm group:
    1. Ensure that the mqm user can use sudo to run commands and can connect to each server using SSH without a password.
    2. Enter the following command:
      crtmqm -sx [-fs FilesystemSize] qmname
      where qmname is the name of the replicated data queue manager. You can optionally specify the file system size for the queue manager (that is, the size of the logical volume which is created in the drbdpool volume group).

      The command attempts to use SSH to connect to the other nodes in the cluster as the mqm user. If connection is successful, the secondary instances of the queue manager are created on the nodes. Otherwise, you must create the secondary instances and then run the crtmqm -sx command (as described for user root).

  • To create an RDQM as user root:
    1. Enter the following command on each of the nodes that are to host secondary instances of the RDQM:
      crtmqm -sxs [-fs FilesystemSize] qmname
      where qmname is the name of the replicated data queue manager. You can optionally specify the file system size for the queue manager (that is, the size of the logical volume which is created in the drbdpool volume group). You must specify the same file system size for the RDQM on all three nodes in the HA group. The size is a numeric value, which is specified in GB. You can specify a value in MB by entering the value followed by the character M

      The command creates a secondary instance of the RDQM.

    2. On the remaining node, enter the following command:
      crtmqm -sx [-fs FilesystemSize] qmname
      where qmname is the name of the replicated data queue manager. You can optionally specify the file system size for the queue manager. The size is a numeric value, which is specified in GB. You can specify a value in MB by entering the value followed by the character M.

      The command determines if the secondary instance of the queue manager exist on the other two nodes. If secondaries exist, the command creates and starts the primary queue manager. If the secondaries do not exist, you are instructed to run the crtmqm -sxs command on each of the nodes.

    Apart from the DataPath (-md) and LogPath (-ld) arguments, all arguments that are valid for creating a standard Linux® queue manager are also valid for a primary replicated data queue manager.

    Note: When you create an RDQM, the next free port number above 7000 is allocated for the replication link. If it is discovered that the chosen port is used by another application, the crtmqm command fails with the AMQ6543 error and that port is added to an exclude list. You must delete the secondary instances of the queue manager, then run the crtmqm command again.