Introduction à la Haute Disponibilité WMQ en version 7.0.1

dimanche 31 janvier 2010
par Luc-Michel Demey

Concepts HA WMQ

Depuis plusieurs années, la Haute Disponibilité MQ dans les environnements Windows et Unix est basée sur les éléments suivants :

  • Deux serveurs distincts, avec le logiciel WMQ installé
  • Un stockage externe (type baie SSA, baie SAN, ...)
  • Une configuration spécifique du Queue Manager, pour stocker les files d’attente et les logs sur le stockage externe
  • Des outils comme un logiciel de Haute Dispo (HACMP, MSCS, Veritas, ...) et/ou des scripts (Support Pack MC91 par exemple)

Ces outils permettent :

  • de détecter la perte du QM sur le serveur nominal
  • de basculer les volumes disques vers le serveur de backup
  • de basculer l’adresse IP (VIP) vers le serveur de backup
  • de relancer le QM sur le serveur de backup

Apports de la version 7.0.1

La version 7.0.1 de WMQ apporte la fonction de QM de standby, avec bascule automatique. De plus, de nouveaux paramètres dans la définition du canal permettent à un QM partenaire d’atteindre soit le QM nominal, soit le QM de backup, sans avoir à basculer l’IP.
Sur un plan matériel, il est toujours nécessaire de disposer de deux serveurs distincts et d’un stockage réseau. Ce stockage doit se conformer à un certain nombre de spécifications, comme la capacité à libérer les fichiers verrouillés en cas d’arrêt de l’application qui les verrouille. Un exemple est NFS4.

Pour un QM partenaire, l’existence d’un QM de bascule est paramétrée en indiquant dans le CONNAME du canal sender les deux hostnames, séparés par une virgule si le QM partenaire est en 7.0.1.
Exemple :


CONNAME(UNIX01(14141), UNIX02(14141))

Si le QM partenaire est en 6.0, l’utilisation du SupportPack MR01 a un effet identique.

Mise en œuvre

Le principe de la mise en œuvre est le suivant :

Vérification de la compatibilité du file system
La première étape consiste à vérifier la compatibilité du système de fichiers utilisé avec le multi-instance.

  • Sur chaque serveur, on lance la commande :
amqmfsck -v /mqha

Ceci permet de vérifier la capacité du système de fichiers à supporter les locks demandés par WMQ

  • Ensuite, simultanément sur les deux serveurs, on lance la commande :
amqmfsck -c /mqha

Ceci permet d’effectuer un test d’écriture concurrente.

Création du Queue Manager
Cette création n’est à effectuer que sur un des serveurs. On commence par créer les systèmes de fichiers pour MQ, par exemple :

mkdir /mqha/logs
mkdir /mqha/qmgrs

On crée ensuite le Queue Manager avec la commande classique, sans oublier de spécifier des logs linéaires !

crtmqm -ll -ld /mqha/log -md /mqha/qmgrs LMD01

Création de l’instance de backup
Sur le deuxième serveur, il faut créer le Queue Manager de backup, mais avec la commande addmqinf.
Le plus simple est d’utiliser la commande dspmqinf sur le premier serveur, qui donne la syntaxe à utiliser pour créer l’instance de backup sur le deuxième serveur :

dspmqinf -o command LMD01

addmqinf -s QueueManager -v Name=LMD01 -v Directory=LMD01 -v Prefix=/var/mqm -v DataPath=/mqha/qmgrs/LMD01

Démarrage du Queue Manager
Sur un des serveurs (n’importe lequel en fait), démarrer le Queue Manager en mode fail-over :

strmqm -x LMD01

Sur l’autre serveur, démarrer le Queue Manager en mode fail-over :

strmqm -x LMD01

Vérification du fonctionnement

Vérification sur le premier serveur :

dspmq
QMNAME(LMD01)                STATUS(En cours de fonctionnement)

Vérification sur le deuxième serveur :

dspmq
QMNAME(LMD01)                STATUS(Exécuté en tant qu'instance de secours)

Bascule fail-over

Sur le premier serveur :

endmqm –s LMD01

Vérification sur le premier serveur :

dspmq
QMNAME(LMD01)                STATUS(Exécuté ailleurs)

Vérification sur le deuxième serveur :

dspmq
QMNAME(LMD01)                STATUS(En cours de fonctionnement)

Arrêt du Queue Manager

Sur le serveur où le Queue Manager s’exécute :

endmqm LMD01

Ceci arrête le QM actif ET l’instance de backup.

Conclusion

Cette nouvelle fonction apportée par la version 7.0.1 de WebSphere MQ permet de mettre en œuvre, relativement facilement, un mécanisme de Haute Disponibilité MQ entre deux serveurs.
Le niveau de fonctionnalité obtenu est certes moins élevé qu’avec des logiciels spécialisés comme HACMP, mais pour la plupart des cas cela est suffisant.


Brèves

28 novembre - Annonce du FixPack 8.0.0.8 pour WebSphere MQ v8.0

IBM annonce ce jour la disponibilité du FixPack 8 pour WebSphere MQ v8.0.

21 novembre - Annonce du FixPack 7.1.0.9 pour WebSphere MQ v7.1

IBM annonce ce jour la disponibilité du FixPack 9 pour WebSphere MQ v7.1.
Rappels : (...)

6 novembre - IBM MQ version 9.0.4 CD est disponible

IBM MQ version 9.0.4 CD est disponible. Pour le télécharger sur PassportAdvantage, recherchez le (...)

18 octobre - Fixpacks tWAS 9.0.0.5

IBM annonce la disponibilité du fixpack 5 pour WebSphere Application Server traditionnal version (...)

16 octobre - Fin de support IIB version 9.0

IBM annonce ce jour que le support de IBM Integration Bus 9.0.x se terminera le 30/09/2018. Il (...)

5 octobre - Annonce de IBM MQ 9.0.0.2 LTSR

Ce produit est disponible : sous forme de fixpack classique (s’applique sur MQ 9000 ou 9001) (...)