Applying maintenance updates to multi-instance queue managers on IBM i
On IBM i, we can use multi-instance queue managers to reduce the outage caused by applying maintenance updates.
Before starting
Before starting this task, read through the prerequisites described in Before you begin in Applying maintenance level server updates on Windows
Before starting this task, see that the maintenance is applied to the IBM MQ installation on a server and not to individual queue managers. Before you apply maintenance, we must stop all the queue managers, and any IBM MQ service, on a server.
If we want a queue manager to keep running while maintenance is applied, we must configure it as a multi-instance queue manager, and have a standby instance running on another server. If the queue manager that we want to keep running is an existing single instance queue manager, we must convert it to a multi-instance queue manager. For prerequisites and guidance how to create a multi-instance queue manager, see Multi-instance queue managers.
If we 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 update. 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 we 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, we must switch back to the primary server when both servers have been updated.
If we have active and standby instances on several servers, we must plan in what order you update the servers to minimize the disruption caused by ending the active instances on each server you update.
Combine the steps in this task with the maintenance update procedure for applying maintenance to an IBM MQ server installation.
Procedure
- Where the maintenance update procedure instructs you to stop all running queue managers, or quiesce IBM MQ do the following instead: See: Applying and removing maintenance on IBM i.
- If the queue manager is running as standby: End the standby by adding the INSTANCE(*STANDBY) option to the ENDMQM command.
- If the queue manager is running as the active instance: 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 we must start a standby instance on a different server.
- 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.
- 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.
- When you have completed the maintenance update, restart all the queue managers on the IBM MQ server, permitting standby instances: Add the STANDBY(*YES) option to the STRMQM command.
- Repeat the procedure on the standby server, to update its maintenance level.
- If necessary, switch the active instances back to the primary servers: Use the ENDMQM command with the ALWSWITCH(*YES) option, and then restart the instances using the STRMQM command with the STANDBY(*YES) option.
Parent topic: Applying and removing maintenance on IBM i