Requirements for RDQM HA solution
You must meet a number of requirements before you configure the RDQM high availability (HA) group.
System requirements
Before configuring the RDQM HA group, you must complete some configuration on each of the three servers that are to be part of the HA group.
- Each node requires a volume group named drbdpool. The storage for each replicated data queue manager is allocated as a separate logical volume per queue manager from this volume group. For the best performance, this volume group should be made up of one or more physical volumes that correspond to internal disk drives (preferably SSDs). You should create drbdpool after we have installed the RDQM HA solution, but before you actually create any RDQMs. Check your volume group configuration by using the vgs command. The output should be similar to the following:
VG #PV #LV #SN Attr VSize VFree drbdpool 1 9 0 wz--n- <16.00g <7.00g rhel 1 2 0 wz--n- <15.00g 0In particular, check that there is no c character in the sixth column of the attributes (that is, wz--nc). The c indicates that clustering is enabled, and if it is you must delete the volume group and recreate it without clustering.- After we have created the drbdpool volume group, do nothing else with it. IBM MQ manages the logical volumes created in drbdpool, and how and where they are mounted.
- Each node requires up to three interfaces that are used for configuring the RDQM support:
- A primary interface for Pacemaker to monitor the HA group.
- An alternate interface for Pacemaker to monitor the HA group.
- An interface for the synchronous data replication, which is known as the replication interface. This should have sufficient bandwidth to support the replication requirements given the expected workload of all of the replicated data queue managers running in the HA group.
We can configure the HA group so that the same IP address is used for all three interfaces, a separate IP address is used for each interface, or the same IP address is used for primary and alternate and a separate IP address for the replication interface.
For maximum fault tolerance, these interfaces should be independent Network Interface Cards (NICs).
- DRBD requires that each node in the HA group has a valid internet host name (the value that is returned by uname -n), as defined by RFC 952 amended by RFC 1123.
- If there is a firewall between the nodes in the HA group, then the firewall must allow traffic between the nodes on a range of ports. A sample script is provided, /opt/mqm/samp/rdqm/firewalld/configure.sh, that opens up the necessary ports if you are running the standard firewall in RHEL. You must run the script as root. If you are using some other firewall, examine the service definitions /usr/lib/firewalld/services/rdqm* to see which ports need to be opened.
- If the system uses SELinux in a mode other than permissive, you must run the following command:
semanage permissive -a drbd_t
Network requirements
It is recommended that you locate the three nodes in the RDQM HA group in the same data center.
If we do choose to locate the nodes in different data centers, then be aware of the following limitations:
- Performance degrades rapidly with increasing latency between data centers. Although IBM will support a latency of up to 5 ms, you might find that our application performance cannot tolerate more than 1 to 2 ms of latency.
- The data sent across the replication link is not subject to any additional encryption beyond that which might be in place from using IBM MQ AMS.
We can configure a floating IP address to enable a client to use the same IP address for a replicated data queue manager (RDQM) regardless of which node in the HA group it is running on. The floating address binds to a named physical interface on the primary node for the RDQM. If the RDQM fails over and a different node becomes the primary, the floating IP is bound to an interface of the same name on the new primary. The physical interfaces on the three nodes must all have the same name, and belong to the same subnet as the floating IP address.
User requirements for configuring the cluster
We can configure the RDQM HA group as user root. If we do not want to configure as root, you configure as a user in the mqm group instead. For an mqm user to configure the RDQM cluster, you must meet the following requirements:You must configure sudo so that the mqm user can run the following commands with root authority:
- The mqm user must be able to use sudo to run commands on each of the three servers that make up the RDQM HA group.
- If the mqm user can use SSH without a password to run commands on each of the three servers that make up the RDQM HA group, then the user needs to run commands on only one of the servers.
- If you configure password-less SSH for your mqm user, that user must have the same UID on all three servers.
/opt/mqm/bin/crtmqm /opt/mqm/bin/dltmqm /opt/mqm/bin/rdqmadm /opt/mqm/bin/rdqmstatus
User requirements for working with queue managers
To create, delete, or configure replicated data queue managers (RDQMs) you must use a user ID that belongs to both the mqm and haclient groups (the haclient group is created during installation of Pacemaker).