Configuring for high availability
You can accept the default configuration for high availability, or specify some of the details yourself.
- The queue manager runs in fault tolerant mode, that is, with backup enabled.
- The primary EC process is started in the CPU where strmqm was run.
- The backup EC process is run in a different CPU, chosen by the NonStop.
Configuring CPUs and EC process name
For configuring queue manager CPUs and the EC process name, four configurable properties are available. All properties are configured using the runnscnf tool (see The runnscnf tool for details). All properties are for class “Processes” and object EC. The individual properties are:
Set the EC primary CPU. This CPU is chosen for the primary EC process when the queue manager is started, if that CPU is available at the time. All queue manager processes for the active instance run on that CPU.
If that property is not set, or set to -1, the CPU where strmqm is run is used.
Set the EC backup CPU. This CPU is chosen for the backup EC process when the queue manager is started if that CPU is available at that time. All queue manager processes for the backup instance run on that CPU.
If that property is not set, or set to -1, any available, and allowed, CPU is used.
- A comma-separated list of CPUs. If this property is configured, queue manager processes (active and standby) are only be started in CPUs which are in this list. If configured, and >=0, the PrimaryCPU and the BackupCPU are implicitly added to that list. By using the AllowedCPUs property, you can restrict CPU usage for IBM® MQ to a subset of all CPUs in the system.
The EC process name in the usual Guardian syntax ($...). If a process with that name is already running on the system when strmqm is executed, strmqm fails with an error message, and the queue manager is not started. If this property is not configured, a process name is chosen by the operating system. The process name chosen by the system is displayed by the following command:
Disabling high availability
You can disable high availability for IBM MQ by setting the PrimaryCPU and BackupCPU to the same value in the configuration, even if both values are -1 (any CPU).
You can configure a non-fault-tolerant queue manager to run in a specific CPU by specifying:
You can configure a non-fault-tolerant queue manager to run in any available and allowed CPU by specifying:
There is a difference between setting primary and backup CPU both to any CPU (-1) and not configuring primary and backup CPU. In the first case, a non-fault tolerant configuration is able to run in any allowed CPU, in the second case a fault tolerant configuration is able to run in any allowed CPU.