Applying maintenance level updates to multi-instance queue managers

Use multi-instance queue managers to reduce the outage caused by applying maintenance updates. Follow these steps to apply maintenance to a multi-instance queue manager.

Before you begin

Maintenance is applied to the IBM® MQ installation on a server and not to individual queue managers. You must stop all the queue managers, and any IBM MQ service, on a server before you apply maintenance.

If you want a queue manager to keep running while maintenance is applied, you must configure it as a multi-instance queue manager, and have a standby instance running on another server. If a queue manager is an existing single instance queue manager, you must convert it to a multi-instance queue manager. See the topic, Multi-instance queue managers for prerequisites and guidance how to create a multi-instance queue manager.

You can create a multi-instance queue manager from v7.0.1 onwards. If you are running multi-instance queue managers, you then can apply a maintenance update to a running queue manager by switching the active instance to a different server.

Typically active and standby installations are maintained at the same maintenance level. Consult the maintenance instructions for each upgrade. Consult the instructions to see if it is possible to run the active and standby instances at different maintenance levels. Check whether fail over from higher to lower, or only lower to higher maintenance level is possible.

The instructions for applying a maintenance update might require you to stop a multi-instance queue manager completely.

If you have a primary server for running active queue manager instances, and a secondary server that runs standby instances, you have a choice of updating the primary or secondary server first. If you update the secondary server first, you must switch back to the primary server when both servers have been updated.

If you have active and standby instances on several servers, you must plan in what order you update the servers to minimize the disruption caused by ending the active instances on each server you update.

About this task

Combine the steps in this task with the maintenance update procedure for applying maintenance to an IBM MQ server installation.

Procedure

  1. Where the maintenance update procedure instructs you to stop all running queue managers, or quiesce IBM MQ do the following instead:
    1. If the queue manager is running as standby:
      • [IBMi]On IBM i, end the standby by adding the INSTANCE(*STANDBY) option to the ENDMQM command.
      • On Windows, UNIX, and Linux® platforms, end the standby with the endmqm -x QMgrName command.
    2. If the queue manager is running as the active instance:
      • [IBMi]On IBM i, end the instance and transfer control to the standby instance by adding the ALWSWITCH(*YES) option to the ENDMQM command.

        If there is no standby instance running, the command fails, and you must start a standby instance on a different server.

      • On Windows, UNIX, and Linux platforms, end the instance and transfer control to the standby instance with the endmqm command. For example, endmqm -shutdown_option -s QMgrName, where -shutdown_option is an optional parameter specifying the type of shutdown. For more information, see endmqm.

        If there is no standby instance running, the command fails, and you must start a standby instance on a different server.

    3. If a queue manager is running as a single instance queue manager, you have no alternative but to stop the queue manager before applying the maintenance update.
    When you complete this step, no queue manager instances are left running on the server you intend to update.
  2. Continue with the maintenance update procedure, following the step to issue the endmqm command, or quiesce IBM MQ and apply maintenance to the IBM MQ server.
  3. When you have completed the maintenance update, restart all the queue managers on the IBM MQ server, permitting standby instances:
    • [IBMi]On IBM i, add the STANDBY(*YES) option to the STRMQM command
    • On Windows, UNIX, and Linux platforms, use the strmqm -x QmgrName command.
  4. Repeat the procedure on the standby server, to update its maintenance level.
  5. If necessary, switch the active instances back to the primary servers:
    • [IBMi]On IBM i, use the ENDMQM command with the ALWSWITCH(*YES) option, and the restart the instances using the STRMQM command with the STANDBY(*YES) option.
    • On Windows, UNIX, and Linux platforms, use the endmqm -shutdown_option -s QMgrName command, and the restart the instances using the strmqm -x QmgrName command.