MSCS clusters are groups of two or more computers, connected together and configured in such a way that, if one fails, MSCS performs a failover, transferring the state data of applications from the failing computer to another computer in the cluster and re-initiating their operation there. IBM MQ can be setup for MSCS clustering by making the queue manager the unit of failover to MSCS. You define a queue manager as a resource to MSCS, which can then monitor it, and transfer it to another computer in the cluster if there is a problem.

If you are setting up HA with Microsoft Clustering on Windows with MQ then you may come across these questions. In this blog I have tried to collate commonly asked question / problem that customers encounter while setting up MQ for MSCS clustering. Hope it helps.

1) For MSCS setup can the queue manager be created with resources in shared drive ?
A) If the queue manager has to be put under the MSCS control it should not be created with its resource in shared drive. Do not use -ld and -md while creating the queue manager. Creating the queue manager with -ld and -md option will set the DataPath key in the mqs.ini file and MQ will assume that it is a multi instance QM. If it is a multi instance QM the same cannot be configured under another high availability system such as MSCS. The knowledge center link mentions not to create a queue manager with its resources on a shared drive.

For MSCS setup start by creating the queue manager with all its resources on a local drive, and then migrate the log files and data files to a shared disk. hamvmqm utility can be used to move the the resources in local drive to shared drive.

2) Can UNC path be used with hamvmqm utility ?
A) hamvmqm utility does not support UNC path. Customer should map the shared storage to any drive letter on the MQ server. This drive letter should be used with the hamvmqm command.

Example:
\Server1\MQ path should be mapped to a network drive say z:\, then the driver letter z can be used with hamvmqm utility

hamvmqm /m /ld z:\LOG_TEST /dd z:\DATA_TEST

3) Which shared filesystem is supported by MQ for MSCS clustering ?
A) MQ does not have any specific specification for the shared storage used in MSCS environment. As mentioned by Microsoft in the following link, “Confirm with manufacturers and vendors that the storage, including drivers, firmware, and software used for the storage, are compatible with failover clusters in the version of Windows Server that you are running. Before proceeding to configure a MSCS setup, customer has to first validate their hardware configuration and then create a cluster.

4) Can the shared filesystem exist on remote file server ?
A) Yes. The shared file system that stores the queue manager data and log should be accessible by the queue manager process.

5) Can MQ be on virtual server for MSCS setup?
A) VM can be used and file system requirements are same as physical server.

6) Should all the nodes in the cluster have same version of MQ ?
A) All the nodes in the cluster should have same MQ version. Also the windows operating system should be on same level. Also please note that as the queue manager is associated with the IBM MQ installation name, the IBM MQ installation name on all the computers in the cluster should be the same.

7) Can we configure IBM MQ Service with local user account in a MQ Server used by MSCS ?
A) Local accounts for MSCS setup doesn’t work, it has to be a domain account. You must use a domain account to run your IBM MQ Service. Make sure that this domain account exists in domain mqm group and the domain mqm group exists in the local mqm group on each computer in the cluster. Make the nodes of the MSCS cluster members of a domain. Your aim is to make your cluster of two computers look like a single computing resource. Remember that an account that is local to one computer does not exist on the other one. Even if you create an account with the same name on the other computer, its security identifier (SID) is different, so, when your application is moved to the other node, the permissions do not exist on that node.

8) “IBM MQSeries MSCS” resource isn’t listed in the “Select Resource Types” panel when I am trying to put MQ under MSCS ?
A) amqmclrn is the resource monitor dll for MQ, ‘haregtyp /r’ is the utility used to register this MQ resource to MSCS. If “IBM MQSeries MSCS” is not listed in the “Select Resource Types” there is some problem in registering the MQ resource monitor or you could have missed registering MQ resource type. Issuing ‘haregtyp /r’ should let you add “IBM MQSeries MSCS” as resource type.

FOOTNOTES

Setting up IBM MQ for MSCS clustering :-
https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.con.doc/q017940_.htm

Blog on how to configure IBM MQ for MSCS clustering :-
https://www.ibm.com/developerworks/community/blogs/messaging/entry/self_help_to_put_mq_under_the_control_of_failover_clustering_mscs?lang=en

Creating and setting up domain accounts for IBM MQ :-
https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.ins.doc/q008840_.htm

1 comment on"FAQ on MQ for Failover Clustering (MSCS Clustering)"

  1. […] FAQ on MQ for Failover Clustering (MSCS Clustering) […]

Leave a Reply