MQ

 View Only

RDQM Kernel module administration improvements

By Alex Chatt posted Fri December 15, 2023 11:06 AM

  

RDQM deployments use a Red Hat Enterprise Linux kernel module to provide disk replication functionality. At the time of installation, the user will have installed the correct RDQM kernel module for their systems kernel, but if they were to upgrade the kernel of their system, it could result in a kernel incompatibility issue with the RDQM kernel module installed.

We know from talking to customers that management and the administration of the RDQM kernel modules can be a pain. So, over the last number of months, we have made several improvements that we hope can help improve the experience and allow for a smoother patching process.

Standalone kernel module downloads on IFix Central

One of the changes we have made is that the Standalone kernel module iFix packages are now standardized by MQ version (LTS and latest CD level) and contain the latest tested RDQM kernel modules (plus the “modver” utility script). In the past, we created completely new bundles to download each time a new update was required, but now they follow the naming convention below.

These consistent naming schemes should allow for an easier time when using the GetMQFix utility tool (which can be found here: https://ibm.biz/getmqfix ) to grab the latest bundle for your MQ version. These bundles are updated one each maintenance/continuous delivery release, as well as when a new RDQM kernel module is required for a new RHEL kernel level.

JSON metadata on validated kernel modules

To give a bit more clarity around which RDQM kernel modules we have tested against which RHEL kernel level, we have created a machine readable JSON file which can be found here: https://ibm.biz/mqRdqmKmodJson.

The JSON file contains a lot of information for the different RHEL kernel levels we have tested. Consider the following below:

  • "5-14.0-284.30.1” is the RHEL kernel level we have tested.
  • The “Status” attribute reflects if the kernel level is compatible with available RDQM kernel modules.  The values for this attribute are:
    • Compatible: The kernel level is compatible with all MQ versions listed under “compatibleMqVRMs”.
    • Incompatible: The kernel level is not currently supported by any version of RDQM.
    • Under test: The kernel module is currently being tested and compatibility has been confirmed for a subset of MQ versions. Further updates are expected on the conclusion of testing for other versions not currently listed as compatible.
  • We then list the different compatible MQ version (LTS and CD) we have tested against the RHEL kernel level, which is a list under “compatibleMqVRMs”.
  • “testedVrmf” is the specific maintenance level that we have tested with e.g. “9.3.0.10”  This is typically the current maintenance level at the time testing was performed. Newer maintenance levels of the same version of MQ are expected to be compatible. Maintenance levels are expressed in VRM[F] format, with the letter x used to mean any in-support continuous delivery modification level on the specified version and release.
  • “drbdKmod” is the RDQM kernel module we installed that was compatible with the RHEL kernel.  Newer version levels of the RDQM kernel module than the one specified are also compatible. (Kernel modules should only be obtained from the Fix Central links in this document or through IBM MQ product installation media).
  • "minVrmf" is the minimum maintenance level of the MQ version that the RDQM kernel module will work with

We also have a section within the JSON file for “latestKnownCompatibleKernelLevels“, which is a section details the latest RHEL kernel levels for each OS levels that have been tested and are confirmed to be compatible with the latest set of available RDQM kernel modules. It will look something like this:

Lastly, we also have a section for the “latestKmodBundleFixIds”, which reflect the names of each bundle for the corresponding MQ version:

We should also mention that the JSON has a property called “lastUpdated”, which can be used when judging if the JSON has been updated since the last time you parsed it.

Modver enhancements

The “Modver” utility script is provided both with the MQ installation and the iFix bundles (from 9.2+). It is used to provide guidance on which RDQM kernel module is compatible with the current RHEL kernel. 
 
The latest MQ maintenance levels deliver some enhancements (see https://www.ibm.com/support/pages/apar/IT44412)  to improve the amount of information one can query from it. Users can now provide the script with any RHEL kernel level, and it will report back the RDQM kernel module required for that kernel level. 

The user can also pass in the “-m” argument which will result in modver printing out both the RDQM kernel module for the RHEL kernel level, and the minimum MQ maintenance level that is compatible with that kernel module.

Lastly, if the user provides “-M”, the script will just give you the minimum MQ maintenance level that is compatible.

Simplification of kernel module page

We have simplified  the RDQM kernel module page (http://ibm.biz/mqrdqmkernelmods) so that it is easier to understand and highlights the most relevant information, in-keeping with the data available in JSON format. The page now contains:

  • Links to the Fix Central packages for each MQ supported level. 
  • A table of known compatibility issues on support RHEL versions
  • A table of the latest validated kernel levels with each RHEL version that we have tested with. This table also includes the RDQM kmod version used in that test and the Minimum expected compatible IBM MQ version. 

OK, so what can these improvements allow me to do?

With all the above changes, it should now be possible to automate the process of checking to see if a new kernel level is supported for the level of MQ RDQM you are running with, and grab and upgrade to the RDQM kernel module if required. The process for this would look something like the following:

  • Obtain latest copy of JSON.
  • Check if target kernel in list.
  • Check if compatible for MQ V.R
  • Ensure MQ level at or above minimum level.
  • Obtain latest kmod bundle from fix central (if required).
  • Run modver for target kernel.
  • Suspend RDQM queue manager or failover QM to alternate node.
  • Install/upgrade-to the RDQM kernel module returned by modver
  • Reboot into target kernel

As mentioned, we already have the GetMQFix utility tool to download the latest version of the iFix bundle, and we have also recently published a tool to query the new JSON file. This can be found on github here: https://github.com/ibm-messaging/rdqm-kmod-queries.

Useful links

GetMQFix utility tool: https://ibm.biz/getmqfix

RDQM JSON validated kernels: https://ibm.biz/mqRdqmKmodJson

IBM MQ Replicated Data Queue Manager Kernel Modules: http://ibm.biz/mqrdqmkernelmods

Detecting RDQM kernel module compatibility issues (and how to fix them): https://community.ibm.com/community/user/integration/blogs/alex-chatt/2023/11/27/detecting-rdqm-kernel-module-compatibility-issues

0 comments
15 views

Permalink