IBM MQ 9.0 Installation and Single-stage Migration from MQ 7.5 to the MQ 9.0

In this post we try to cover two subjects:

  • IBM MQ V9.0 installation on RHEL
    (Full version: IBM MQ V9.0.2 Continuous Delivery Release for Linux for System x86 Series 64-bit Multilingual (CNI03ML));
  • Single-stage migration from MQ 7.5 to MQ 9.0.2

1. Hardware and software requirements

First of all, before installation of MQ 9.0, we need to check hardware and software requirements on Linux systems. By system requirements, for MQ 9.0 installation we must have Red Hat Enterprise Linux version 7.2 minimum (click to zoom):


Check current OS version at server:

So, if your RHEL version lower than 7.2, you need to update.
Optional, see requirements for Transport Layer Security (TLS) (needs to libgcc and libstdc++ software packages), MQ Explorer, JMS and SOAP transport.

2. If this is the first MQ installation do next:

Create mqm user and group. Under root run commands:

Creating file systems on Linux. Main recommendations  are:

  • Create separate file systems for:
    • /var/mqm/errors
    • /var/mqm/trace
    • /var/mqm/qmgrs
    • /var/mqm/log
  • For better performance place the following on separate disks/NFS storages:
    • /var/mqm/qmgrs
    • /var/mqm/log

3. Configuring and tuning the operating system on Linux.

To obtain better performance and stability of your queue manager you need to tuning Linux parameters. By link  you may see minimum tunable kernel parameters values, tcp/ip configuration, number of open file descriptors, number of open file handles and number of running processes. I want to provide here our own plus IBM recommendations for high-load MQ system.

Add the following information to the /etc/sysctl.conf config file:

Note: The vm.overcommit_memory parameter influences how much virtual memory the kernel can permit be allocated. More information about it you can find here.

Enter the “sysctl -p” command to load these sysctl values immediately.
Add the following information to the /etc/security/limits.conf file:

4. Installing IBM MQ server on Linux

4.1  Download MQ distrib archive from IBM Passport Advantage. Copy it to the server, e.g. to /home/mqm/distrib/MQ9.0 directory, and uncompress tar.gz:

4.2  You must accept the terms of the license agreement before you can proceed with the installation. To do this run the script:

4.3  If this installation is not the only installation of IBM MQ on the system, you must run the crtmqpkg command to create a unique set of packages to install on the system.

This command creates a full copy of the installation packages in a temporary directory. By default, the temporary directory is located at /var/tmp. You must ensure that the system has enough free space before you run this command. To use a different location, you can set the TMPDIR environment variable before you run the crtmqpkg command. For example:
$ TMPDIR=/test ./crtmqpkg suffix

In our environment, we create set of packages with suffix “mq9″ to the location /home/mqm/distrib/MQ9.0

4.4  Install IBM MQ components.

To install to a non-default location, use the rpm –prefix option. For each installation, all of the IBM MQ components that you require must be installed in the same location. The installation path specified must be either an empty directory, the root of an unused file system, or a path that does not exist. The length of the path is limited to 256 bytes and must not contain spaces.

Minimum required components are MQSeriesRuntime and MQSeriesServer. Here is the list of all MQ 9.0 components. In our case, we need to install all MQ components except Managed File Transfer, Message Catalogs and Advanced Message Security to the /opt/mqm9.0 directory:

4.5  We have finished with the root activities and we can login as an mqm (MQ administrator user). After installation, please, run mqconfig script to validate minimum requirements:

5. Single-stage migration from MQ 7.5 to MQ 9.0

After installing MQ 9.0.2, we now want to migrate an MQ 7.5 queue manager to be used with MQ 9.0.2. Run dspmqinst command to display all the available mq installations. MQ 9.0.2 has been installed as Installation2:

Display detail information (with fix pacs) about all MQ versions:

Before migration you need to take a backup of the queue manager. Because once a queue manager has been migrated to MQ 9.0.2, it is no longer possible to use it with the previous version of MQ. The migration process changes a number of files and definitions, and it is not possible to go back.

You can use dmpmqcfg  command to backup queue manager, e.g.:
dmpmqcfg -m QM1 -x all -t all -o mqsc > QM1_backup.mqsc

Run the endmqm command to stop running queue manager associated with 7.5 installation, e.g. endmqm QM1

Change the environment to run the MQ 9.0.2 commands and check it:

Display the status of the queue manager. Notice that the MQ 9.0.2 code is able to determine the status of the MQ 7.5 queue managers.

Associate the queue manager with Installation2 (MQ 9.0.2 installation):

Start/upgrade the queue manager:

The queue manager QM1 was successfully upgraded to version 9.0.2
Check “Version” stanzas in qmstatus.ini file. Now it is version 9:

Finally, we need to set MQ 9.0.2 installation as primary:

1. At the time of publication of this article, the actual MQ version is 9.0.3. The above instructions can be also applied to it.
2. If you migrate queue manager in cluster.

VN:F [1.9.22_1171]
Rating: 5.0/5 (4 votes cast)
Tagged with: , , ,
Posted in WebSphere MQ, Basics
One comment on “IBM MQ 9.0 Installation and Single-stage Migration from MQ 7.5 to the MQ 9.0
  1. sudheer says:

    I think this is the perfect procedure to follow doing migration from 7.5 to 9.0.Thank youu…

    VA:F [1.9.22_1171]
    Rating: +3 (from 3 votes)

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">