Two example scenarios for migrating a non-cluster queue manager topology to an IPv6 network.
Before you begin
To use the IPv6 protocol, IBM® MQ must be installed on a system that is IPv6 capable.
About this task
If both IPv4 and IPv6 are available, the preferred IP version that two systems
use for communicating is determined by the queue manager attribute IPADDRV.
This parameter only has an effect if the host name resolves ambiguously to both an IPv4 address and an IPv6 address.
These are the broad steps to migrate a queue manager to use the
IPv6 protocol. They are described in more detail in each of the
two scenarios.
- Configure dual IPv4 and IPv6 protocols on the system where the queue manager to be
migrated resides.
- Install IBM MQ.
- Add an entry to the DNS to resolve the host name of the system that is to be migrated, to both
an IPv4 address and an IPv6 address.
- Set the IPADDRV parameter to IPv6 (or set the LOCLADDR parameter to
resolve to an IPv6 address).
Note:
- Not all IPv6 software can interpret an IPv4 mapped IPv6
address. If the combination of CONNAME and LOCLADDR
results in an IPv4 mapped IPv6 address, ensure that the system hosting the target queue
manager is capable of handling this.
- Using mapped addresses can require protocol translators in the IP network.
There are a number of different interconnection possibilities. Use the following two scenarios to
help you understand how IBM MQ works in each case.
Procedure
-
Non-cluster migration scenario 1
Three systems exist that are IPv4-only capable.
Each system hosts a queue manager (QM1, QM2, and QM3) and each queue manager connects to the other
two. All CONNAME parameters in the cluster channel definitions are set using
DNS names rather than IP addresses.
To enable QM1 to be able to use channels running over IPv6, complete the following steps:
-
Upgrade the host system to have dual IPv4 and
IPv6 stacks.
Important: A listener is required for each IP stack.
-
Install the latest version of IBM MQ.
-
Update the DNS table so that it has two entries for the system running QM1; one entry for its
IPv4 address and one for its IPv6 address.
This enables a DNS name request to return both IPv4
and IPv6 addresses for this host.
-
Set the queue manager IPADDRV attribute to IPv6.
Note: Even with these changes made to support IPv6
addressing, QM1 can still communicate with queue managers (both existing and new ones) that are only
IPv4 capable.
-
Enable QM2 to use channels running over IPv6, as
previously enabled for QM1.
The queue managers can now connect as follows:
- Communications between QM1 and QM2 are now over IPv6.
- Communications between QM1 and QM3 are still over IPv4.
- Communications between QM2 and QM3 are still over IPv4.
With the queue manager IPADDRV attribute set to IPv6, the preference is set for the queue manager to connect
using the IPv6 protocol. If a channel from QM1 to QM3
has LOCLADDR set to a host name that resolves to an IPv6 address, or has both IPv4 and IPv6
addresses and the IPADDRV attribute is set to IPv6, then the IPv6 address is returned and the channel attempts to use the IPv6 protocol. If the IPv6 protocol installed on the QM1 host system can use a mapped
address, then QM1 communicates with QM3 over IPv6.
Otherwise, the channel cannot resolve the CONNAME.
While QM3 remains a queue manager on an earlier version of the product, you must ensure that no
CONNAME used to start a channel to QM3 resolves either to an IPv6 address, or to dual IPv4 and IPv6
addresses where the IPv6 address could be returned.
Otherwise QM1 attempts to start the channel over IPv6,
which fails because it cannot resolve the CONNAME.
You can upgrade a system to have dual IPv4 and
IPv6 capability and still run a queue manager on an
earlier version of the product. Although it is not recommended to run this type of configuration, it
should work provided the addresses that are returned to this level of queue manager are either
IPv4 addresses, or IPv4 mapped versions of IPv6 addresses.
-
Non-cluster migration scenario 2
Three systems exist that are IPv4-only capable.
Each system hosts a queue manager (QM1, QM2, and QM3) and each queue manager connects to the other
two. All CONNAME parameters in the cluster channel definitions are set using IP
addresses.
Because addresses are specified instead of DNS names, to allow a queue manager to connect to
another using the IPv6 protocol you need to duplicate
the definitions that use IPv4 addresses between them,
and provide them with IPv6 addresses instead. The
original definitions that use IPv4 addresses continue
to work, but to take advantage of the IPv6 protocol
you need to connect using the new definitions.
To enable QM1 to be able to use channels running over IPv6, complete the following steps:
-
Upgrade the host system to have dual IPv4 and
IPv6 stacks.
Important: A listener is required for each IP stack.
-
Install IBM MQ.
-
Duplicate the channel, transmission queue and, where applicable, any process definitions using
IPv6 addresses where required.
Note: Even with these changes made to support IPv6
addressing, QM1 can still communicate with existing queue managers that are only IPv4 capable.
-
Enable QM2 to use channels running over IPv6, as
previously enabled for QM1.
-
Where necessary, amend applications to write to the new remote queue that was created for QM1
with the IPv6 addresses.
-
Verify the channels can be started.
The queue managers can now connect as follows:
- QM1 can now connect with QM2 over either IPv4 or
IPv6, depending on the channel the application writes
its messages to.
- QM1 still connects with QM3 over IPv4, using the
original definitions.