次の要件を満たさないと、データサービスの構成がサポートされない場合があります。
ここで示す要件に従って、Sun Cluster HA for WebSphere MQ のインストールと構成の計画を行ってください。これらの要件は、Sun Cluster HA for WebSphere MQ にのみ適用されます。 Sun Cluster HA for WebSphere MQ のインストールと構成を始める前に、次の要件を満たしておく必要があります。
WebSphere MQ コンポーネントと依存関係 — Sun Cluster HA for WebSphere MQ データサービスは、WebSphere MQ インスタンスとそれぞれのコンポーネントを保護するように構成できます。以下、各コンポーネントとコンポーネント間の依存関係について簡単に説明します。
表 1–3 WebSphere MQ と依存関係 (-> 記号で示す)
コンポーネント |
説明 |
---|---|
Queue Manager (必須) |
-> SUNW.HAStoragePlus リソース SUNW.HAStoragePlus リソースは、WebSphere MQ のファイルシステムのマウントポイントを管理し、ファイルシステムがマウントされるまでは WebSphere MQ が起動しないようにします。 |
Channel Initiator (任意) |
-> Queue_Manager および Listener リソース Listener に依存しなければならないのは、inetd の代わりに runmqlsr を使用する場合だけです。 デフォルトでは、 WebSphere MQ が Channel Initiator を起動しますが、デフォルト (SYSTEM.CHANNEL.INITQ) 以外のチャネル開始キューが必要な場合は、このコンポーネントを配備する必要があります。 |
Command Server (任意l) |
-> Queue_Manager および Listener リソース Listener に依存しなければならないのは、inetd の代わりに runmqlsr を使用する場合だけです。 このコンポーネントは、コマンドキューに送られたコマンドを処理するために WebSphere MQ が必要な場合です。 |
Listener (任意) |
->Queue_Manager リソース このコンポーネントを配備するのは、専用のリスナー (runmqlsr) が必要で、inetd リスナーを使用しない場合です。 |
Trigger Monitor (任意) |
->Queue_Manager および Listener リソース Listener に依存しなければならないのは、inetd の代わりに runmqlsr を使用する場合だけです。 このコンポーネントを配備するのは、トリガーモニターが必要な場合です。 |
各 WebSphere MQ コンポーネントの詳細は、IBM の WebSphere MQ Application Programming マニュアルを参照してください。
各 WebSphere MQ コンポーネントは、/opt/SUNWscmqs/xxx/util に構成/登録ファイルがあります。xxx は個々の WebSphere MQ コンポーネントを表す 3 文字の略語です。 これらのファイルによって、Sun Cluster に WebSphere MQ コンポーネントを登録できます。
これらのファイル内では、該当する依存関係がすでに適用されています。
# cd /opt/SUNWscmqs # # ls -l chi/util total 4 -rwxr-xr-x 1 root sys 720 Dec 20 14:44 chi_config -rwxr-xr-x 1 root sys 586 Dec 20 14:44 chi_register # # ls -l csv/util total 4 -rwxr-xr-x 1 root sys 645 Dec 20 14:44 csv_config -rwxr-xr-x 1 root sys 562 Dec 20 14:44 csv_register # # ls -l lsr/util total 4 -rwxr-xr-x 1 root sys 640 Dec 20 14:44 lsr_config -rwxr-xr-x 1 root sys 624 Dec 20 14:44 lsr_register # # ls -l mgr/util total 4 -rwxr-xr-x 1 root sys 603 Dec 20 14:44 mgr_config -rwxr-xr-x 1 root sys 515 Dec 20 14:44 mgr_register # # ls -l trm/util total 4 -rwxr-xr-x 1 root sys 717 Dec 20 14:44 trm_config -rwxr-xr-x 1 root sys 586 Dec 20 14:44 trm_register # # # more mgr/util/* :::::::::::::: mgr/util/mgr_config :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by mgr_register and the parameters # listed below will be used. # # These parameters can be customized in (key=value) form # # RS - name of the resource for the application # RG - name of the resource group containing RS # QMGR - name of the Queue Manager # PORT - name of the Queue Manager port number # LH - name of the LogicalHostname SC resource # HAS_RS - name of the Queue Manager HAStoragePlus SC resource # RS= RG= QMGR= PORT= LH= HAS_RS= :::::::::::::: mgr/util/mgr_register :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # . `dirname $0`/mgr_config scrgadm -a -j $RS -g $RG -t SUNW.gds \ -x Start_command="/opt/SUNWscmqs/mgr/bin/start-qmgr \ -R $RS -G $RG -Q $QMGR " \ -x Stop_command="/opt/SUNWscmqs/mgr/bin/stop-qmgr \ -R $RS -G $RG -Q $QMGR " \ -x Probe_command="/opt/SUNWscmqs/mgr/bin/test-qmgr \ -R $RS -G $RG -Q $QMGR " \ -y Port_list=$PORT/tcp -y Network_resources_used=$LH \ -x Stop_signal=9 \ -y Resource_dependencies=$HAS_RS # |
WebSphere MQ Manager の保護—
WebSphere MQ インスタンス、すなわち /global/mqm/qmgrs/<qmgr> および /global/mqm/log/<qmgr> に広域ファイルシステムを使用している場合、現在のところ、WebSphere MQ は Sun Cluster 内の別のノード上で Queue Manager が稼働しているかどうかを判別できません。
通常は使用しているクラスタファイルシステム (すなわち FFS なのか GFS なのか) に関係なく、Sun Cluster HA for WebSphere MQ データサービスが Queue Manager の起動と停止を管理します。
しかし、WebSphere MQ インスタンスが広域ファイルシステム上で稼働しているときに、 間違いであったとしても、だれかが Sun Cluster 内の別のノードで Queue Manager を手動で起動する可能性がないわけではありません。
このバグは IBM に報告済みであり、現在、修正作業中です。
この問題を回避する方法は 2 通りあります。
WebSphere MQ インスタンスにフェイルオーバーファイルシステムを使用します。
WebSphere MQ インスタンスをマウントできるのが、1 時点で 1 ノードだけになるので、この方法を推奨します。この構成の場合、WebSphere MQ は Queue Manager がすでに稼働しているかどうかを判別できます。
strmqm/endmqm にシンボリックリンクを作成して check-start (提供スクリプト) を実行します。
/opt/SUNWscmqs/mgr/bin/check-start によって、WebSphere MQ Manager が誤って起動または停止されることがないよう防止されます。
check-start スクリプトは、 WebSphere MQ Manager が Sun Cluster によって起動または停止されることを確認し、手動で WebSphere MQ Manager の起動または停止が試行されるとエラーを報告します。
WebSphere MQ Manager を手動で起動する場合のコマンドを示します。応答は check-start スクリプトによって生成されています。
# strmqm qmgr1 # Request to run </usr/bin/strmqm qmgr1> within SC3.0 has been refused # |
この方法を使用しなければならないのは、WebSphere MQ インスタンスに広域ファイルシステムが必要な場合だけです。この場合に必要な手順の詳細は、次のとおりです。
# cd /opt/mqm/bin # # mv strmqm strmqm_sc3 # mv endmqm endmqm_sc3 # # ln -s /opt/SUNWscmqs/mgr/bin/check-start strmqm # ln -s /opt/SUNWscmqs/mgr/bin/check-start endmqm # |
/opt/SUNWscmqs/mgr/etc/config ファイルを編集し、START_COMMAND と STOP_COMMAND の以下のエントリを変更します。例では、コマンド名に接尾辞 _sc3 を使用していますが、別の名前を選択してもかまいません。
# cat /opt/SUNWscmqs/mgr/etc/config # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # Usage: # DEBUG=<RESOURCE_NAME> or ALL # START_COMMAND=/opt/mqm/bin/<renamed_strmqm_program> # STOP_COMMAND=/opt/mqm/bin/<renamed_endmqm_program> # DEBUG= START_COMMAND=/opt/mqm/bin/strmqm_sc3 STOP_COMMAND=/opt/mqm/bin/endmqm_sc3 # |
Sun Cluster HA for WebSphere MQ データサービスのホストとなるクラスタノードごとに、この作業を行う必要があります。ただし、crtmqm が代わりに strmqm と endmqm を呼び出すので、Queue Manager を作成するまではこの手順を実行しないでください。
この回避方法を採用した場合、WebSphere MQ のメンテナンスが必要になるたびに、元に戻さなければならないことにご注意ください。その後、再びこの回避方法を適用する必要があります。このため、WebSphere MQ が修正されるまでの間は、WebSphere MQ インスタンスにフェイルオーバーファイルシステムを使用するよう推奨します。