Do you want to take advantage of high availability (HA) support in the IBM MQ Appliance without needing to update your client configurations? If so, the floating IP support added in 9.0.1 might be exactly what you need. With floating IP, client applications that connect to HA queue managers on the IBM MQ Appliance no longer need to be configured to be aware of the individual appliance IP addresses.
The IBM MQ Appliance already offers managed high availability (HA) ‘out of the box’ to protect customers against hardware, software or environmental failures. To support this capability two appliances can be connected in an HA group with synchronous data replication between them. Queue managers seamlessly restart on the alternative appliance in the event of a failure, or in response to an administrative command.
Messaging applications connect to queue managers that are running on the IBM MQ Appliance using a client connection (IP address and a port).
Without floating IP, clients that connect to an HA queue manager need to know the IP addresses of both appliances in the HA group. In the event of a queue manager failover from one appliance to the other existing client connections are terminated. During reconnection the two IP addresses are tried in turn until the connection can be re-established.
With floating IP, clients can be configured with a single hostname or IP address. IP takeover is used to route connections using the floating IP address to the appliance on which the queue manager is active.
Client configuration without floating IP:
Client configuration with floating IP:
Configuring a floating IP address
Floating IP addresses are associated with individual queue managers. This is because the queue managers in an HA group do not need to be active on the same appliance.
Floating IP addresses are assigned to a local network interface. The floating IP address should be in the same subnet as the static IP address of the local network interface on each appliance.
As an example, consider a pair of HA appliances with the following configuration:
Appliance 1 eth22 ip-address: 220.127.116.11/24
Appliance 2 eth22 ip-address: 18.104.22.168/24
The floating IP address could be any unused IP address in the 22.214.171.124/24 subnet, for example 126.96.36.199. The MQ CLI command to add this floating IP address to queue manager QM1 is:
mqa(mqcli)# sethaint -m QM1 -a -f 188.8.131.52 -l eth22
The queue manager's configured floating IP address can be displayed using the MQ CLI command:
mqa(mqcli)# dspmq -m QM1 -o ha
An appliance's active floating IP addresses, along with its static IP addresses, can be displayed using the appliance CLI command:
mqa# show ipaddress
Queue manager listener
The queue manager's listener should be configured to bind to the floating IP address. This is done using the IPADDR listener attribute. For example, using the runmqsc command:
DEFINE LISTENER(LS1) TRPTYPE(TCP) IPADDR(184.108.40.206) PORT(1414) CONTROL(QMGR) REPLACE
Once the listener has been started the IP address used can be displayed using the runmqsc command:
DISPLAY LSSTATUS(LS1) IPADDR
Outbound channels can also be configured to use the floating IP address if required. For example, this might be useful for compliance with firewall rules. This can be done using the LOCLADDR channel attribute.
Floating IP is simple to configure and allows clients that connect to an IBM MQ Appliance HA queue manager to be configured with a single hostname or IP address.
IBM MQ and IBM MQ Appliance 9.0.1 Continuous Delivery Releases are available
Introducing the MQ Appliance Version 9.0.1
IBM MQ Appliance 9.0.1 KnowledgeCenter