表 1–1 に、 Sun Cluster HA for WebSphere MQ のインストールと構成に必要な作業を示します。指定された順番どおりに、各作業を行ってください。
表 1–1 作業マップ : Sun Cluster HA for WebSphere MQ のインストールと構成
作業 |
参照先 |
---|---|
インストールを計画する | |
WebSphere MQ をインストールして構成する | |
インストールと構成を確認する | |
Sun Cluster HA for WebSphere MQ パッケージをインストールする |
scinstall ユーティリティーを使った Sun Cluster HA for WebSphere MQ パッケージのインストール方法 |
Sun Cluster HA for WebSphere MQ を登録して構成する | |
Sun Cluster HA for WebSphere MQ のインストールと構成を確認する | |
Sun Cluster HA for WebSphere MQ の障害モニターを理解する | |
Sun Cluster HA for WebSphere MQ をデバッグする |
WebSphere MQ メッセージングソフトウェアを使用すると、プログラマが容易に実装できる方法で、異なるオペレーティングプラットフォーム上のビジネスアプリケーション間で情報交換が可能になります。プログラムは、1 回限りの配信と時間に依存しない通信が約束される WebSphere MQ API を使用して通信を行ないます。
Sun Cluster HA for WebSphere MQ データサービスのメカニズムによって、WebSphere MQ サービスの順序正しい起動、停止、障害モニター、自動フェイルオーバーを実行できます。次の WebSphere MQ コンポーネントは、Sun Cluster HA for WebSphere MQ データサービスによって保護されます。
表 1–2 コンポーネントの保護
コンポーネント |
WebSphere MQ コンポーネントを保護するデータサービス |
---|---|
Queue Manager |
Sun Cluster HA for WebSphere MQ |
Channel Initiator |
Sun Cluster HA for WebSphere MQ |
Command Server |
Sun Cluster HA for WebSphere MQ |
Listener |
Sun Cluster HA for WebSphere MQ |
Trigger Monitor |
Sun Cluster HA for WebSphere MQ |
ここでは、Sun Cluster HA for WebSphere MQ のインストールと構成の計画について説明します。
次の制限事項を守らないと、データサービスの構成がサポートされない場合があります。
ここで示す制限事項を考慮して、Sun Cluster HA for WebSphere MQ のインストールと構成の計画を行ってください。ここでは、Sun Cluster HA for WebSphere MQ にのみ適用されるソフトウェアとハードウェア構成の制限事項を示します。
すべてのデータサービスに適用される制限事項については、Sun Cluster Release Notes を参照してください。
Sun Cluster HA for WebSphere MQ データサービスは、フェイルオーバーサービスとしてのみ構成できます – WebSphere MQ はスケーラブルなサービスとしては運用できないため、Sun Cluster HA for WebSphere MQ データサービスは、フェイルオーバーサービスとして運用するようにのみ構成できます。
/var/mqm を広域ファイルシステムとしてマウント – WebSphere MQ のインスタンスを複数インストールする場合は、/var/mqm を広域ファイルシステムとしてマウントする必要があります。
この制約が生じるのは、WebSphere MQ がキーを使用して内部制御構造を作成するからです。これらのキーは ftok() 関数呼び出しから、ファイルシステムの i ノード番号に基づいて生成されます。i ノードが異なるファイルシステム上にあると、クラッシュする可能性があります。したがって、/var/mqm を広域ファイルシステムとしてマウントし、この問題が発生しないようにします。
複数の WebSphere MQ インスタンスをインストールする予定がない場合は、/var/mqm を広域ファイルシステムとしてマウントする必要はありません。しかし、将来別の WebSphere MQ Manager を配備したときに、 /var/mqm を広域ファイルシステムとしてマウントするという制約が適用される可能性を考慮し、 /var/mqm は広域ファイルシステムとしてマウントすることを推奨します。
WebSphere MQ をクラスタファイルシステムにインストール – WebSphere MQ 製品は最初、 /opt/mqm および /var/mqm にインストールされます。しかし、WebSphere MQ Manager が作成されたときに作成されるデフォルトのディレクトリ位置は、/var/mqm/qmgrs/<qmgr_name> および /var/mqm/log/<qmgr_name> です。これらのディレクトリ位置は、フェイルオーバーファイルシステム (FFS) としてでも、広域ファイルシステム (GFS) としてでもマウントできます。
WebSphere MQ Manager をフェイルオーバーファイルシステムに配備し、複数の WebSphere MQ Managers の配備を予定している場合は、広域ファイルシステム /var/mqm からフェイルオーバーファイルシステムへのシンボリックリンクを作成する必要があります。広域ファイルシステムにローカルとしてマウントをネストすることはできませんが、フェイルオーバーファイルシステムへのシンボリックリンクによって、この問題を克服できます。
広域ファイルシステムをマウントする場合は /global という接頭辞を指定し、フェイルオーバーファイルシステムをマウントする場合は /local という接頭辞を指定するようにしてください。 必須ではありませんが、こうするのが最も好都合です。
フェイルオーバーファイルシステムに WebSphere MQ Managers が 2 つあり、/var/mqm に広域ファイルシステムへのシンボリックリンクを設定する例を示します。最終出力は、Solaris Volume Manager を使用して配備された WebSphere MQ に対応する /etc/vfstab エントリのサブセットです。
# ls -l /var/mqm lrwxrwxrwx 1 root other 11 Sep 17 16:53 /var/mqm -> /global/mqm # # ls -l /global/mqm/qmgrs total 6 drwxrwxr-x 8 mqm mqm 512 Sep 17 09:57 @SYSTEM lrwxrwxrwx 1 root other 22 Sep 17 17:19 qmgr1 -> /local/mqm/qmgrs/qmgr1 lrwxrwxrwx 1 root other 22 Sep 17 17:19 qmgr2 -> /local/mqm/qmgrs/qmgr2 # # ls -l /global/mqm/log total 4 lrwxrwxrwx 1 root other 20 Sep 17 17:18 qmgr1 -> /local/mqm/log/qmgr1 lrwxrwxrwx 1 root other 20 Sep 17 17:19 qmgr2 -> /local/mqm/log/qmgr2 # # more /etc/vfstab (Subset of the output) /dev/md/dg_d3/dsk/d30 /dev/md/dg_d3/rdsk/d30 /global/mqm ufs 3 yes logging,global /dev/md/dg_d3/dsk/d33 /dev/md/dg_d3/rdsk/d33 /local/mqm/qmgrs/qmgr1 ufs 4 no logging /dev/md/dg_d3/dsk/d36 /dev/md/dg_d3/rdsk/d36 /local/mqm/log/qmgr1 ufs 4 no logging /dev/md/dg_d4/dsk/d43 /dev/md/dg_d4/rdsk/d43 /local/mqm/qmgrs/qmgr2 ufs 4 no logging /dev/md/dg_d4/dsk/d46 /dev/md/dg_d4/rdsk/d46 /local/mqm/log/qmgr2 ufs 4 no logging # |
広域ファイルシステムに WebSphere MQ Managers が 2 つあり、/var/mqm に広域ファイルシステムへのシンボリックリンクを設定する例を示します。最終出力は、Solaris Volume Manager を使用して配備された WebSphere MQ に対応する /etc/vfstab エントリのサブセットです。
# ls -l /var/mqm lrwxrwxrwx 1 root other 11 Jan 8 14:17 /var/mqm -> /global/mqm # # ls -l /global/mqm/qmgrs total 6 drwxrwxr-x 8 mqm mqm 512 Dec 16 09:57 @SYSTEM drwxr-xr-x 4 root root 512 Dec 18 14:20 qmgr1 drwxr-xr-x 4 root root 512 Dec 18 14:20 qmgr2 # # ls -l /global/mqm/log total 4 drwxr-xr-x 4 root root 512 Dec 18 14:20 qmgr1 drwxr-xr-x 4 root root 512 Dec 18 14:20 qmgr2 # # more /etc/vfstab (Subset of the output) /dev/md/dg_d4/dsk/d40 /dev/md/dg_d4/rdsk/d40 /global/mqm ufs 3 yes logging,global /dev/md/dg_d4/dsk/d43 /dev/md/dg_d4/rdsk/d43 /global/mqm/qmgrs/qmgr1 ufs 4 yes logging,global /dev/md/dg_d4/dsk/d46 /dev/md/dg_d4/rdsk/d46 /global/mqm/log/qmgr1 ufs 4 yes logging,global /dev/md/dg_d5/dsk/d53 /dev/md/dg_d5/rdsk/d53 /global/mqm/qmgrs/qmgr2 ufs 4 yes logging,global /dev/md/dg_d5/dsk/d56 /dev/md/dg_d5/rdsk/d56 /global/mqm/log/qmgr2 ufs 4 yes logging,global # |
次の要件を満たさないと、データサービスの構成がサポートされない場合があります。
ここで示す要件に従って、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 (任意) |
-> 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/SUNWscmqi/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 データサービスのホストとなるクラスタノードごとに、この作業を行う必要があります。ただし、crtmq が代わりに strmqm と endmqm を呼び出すので、Queue Manager を作成するまではこの手順を実行しないでください。
この回避方法を採用した場合、WebSphere MQ のメンテナンスが必要になるたびに、元に戻さなければならないことにご注意ください。その後、再びこの回避方法を適用する必要があります。このため、WebSphere MQ が修正されるまでの間は、WebSphere MQ インスタンスにフェイルオーバーファイルシステムを使用するよう推奨します。
ここでは WebSphere MQ をインストールして構成する手順について説明します。
次の手順で、WebSphere MQ をインストールして構成します。
Sun Cluster における WebSphere MQ の配備方法を決定 – WebSphere MQ をどのように配備するかを決定する必要があります。
配備する WebSphere MQ インスタンス数を決定します。
各 WebSphere MQ インスタンスに使用させるクラスタファイルシステムを決定します。
WebSphere MQ クラスタファイルシステムのマウント – Sun Cluster における WebSphere MQ の配備方法を決定してから、クラスタファイルシステムがマウントされていることを確認する必要があります。
WebSphere MQ インスタンスにフェイルオーバーファイルシステムを使用させる場合は、手動でファイルシステムをマウントする必要があります。
Sun Cluster 内の全ノードへの WebSphere MQ のインストール – ローカルディスクに WebSphere MQ をインストールすることをお勧めします。ローカルファイルシステムにソフトウェアをインストールした場合とクラスタファイルシステムにインストールした場合のメリットとデメリットについては、『Sun Cluster 3.1 データサービスのインストールと構成』 の 3 ページ、「アプリケーションバイナリの格納先の決定」を参照してください。
アプリケーションバイナリの保管場所に関係なく、Sun Cluster 内の WebSphere MQ が稼働するすべてのノードに WebSphere MQ をインストールします。そうしなければならないのは、WebSphere MQ の pkgadd がホスト上で複数のシンボリックリンクを追加設定するからです。
WebSphere MQ は、IBM's WebSphere MQ for Sun Solaris — Quick Beginnings マニュアルに従ってインストールしてください。
WebSphere MQ Manager (複数可) の作成 – Sun Cluster 内の WebSphere MQ を稼働させるすべてのノードに WebSphere MQ をインストールしてから、WebSphere MQ Manager (複数可) を作成する必要があります。
WebSphere MQ V5.3 にはバグがあり、crtmqm を実行して WebSphere MQ Manager を作成するときに、デフォルトの設定である LogDefaultPath=/var/mqm/log を使用すると問題が起きます。問題の例として、 crtmqm コマンドのエラーを示します。 AMQ7064: Log path not valid or inaccessible です。
この問題を回避するには、WebSphere MQ Manager を作成するときに、-ld パラメタを指定しなければなりません。たとえば、crtmqm -ld /global/mqm/log/<qmgr> <qmgr> と指定します。
こうすると、別の <qmgr> ディレクトリ (/global/mqm/log/<qmgr>/<qmgr>) になりますが、バグは回避できます。
# crtmqm qmgr1 AMQ7064: Log path not valid or inaccessible. # # crtmqm -ld /global/mqm/log/qmgr1 qmgr1 WebSphere MQ queue manager created. Creating or replacing default objects for qmgr1 . Default objects statistics : 31 created. 0 replaced. 0 failed. Completing setup. Setup completed. # # cd /global/mqm/log/qmgr1 # # ls -l total 2 drwxrwx--- 3 mqm mqm 512 Jan 10 11:44 qmgr1 # # cd qmgr1 # # ls -l total 12 drwxrwx--- 2 mqm mqm 512 Jan 10 11:44 active -rw-rw---- 1 mqm mqm 4460 Jan 10 11:44 amqhlctl.lfh # # pwd /global/mqm/log/qmgr1/qmgr1 # # cd /global/mqm/qmgrs/qmgr1 # # more qm.ini #*******************************************************************# #* Module Name: qm.ini *# #* Type : MQSeries queue manager configuration file *# # Function : Define the configuration of a single queue manager *# #* *# #*******************************************************************# #* Notes : *# #* 1) This file defines the configuration of the queue manager *# #* *# #*******************************************************************# ExitPath: ExitsDefaultPath=/var/mqm/exits/ #* *# #* *# Log: LogPrimaryFiles=3 LogSecondaryFiles=2 LogFilePages=1024 LogType=CIRCULAR LogBufferPages=0 LogPath=/global/mqm/log/qmgr1/qmgr1/ LogWriteIntegrity=TripleWrite Service: Name=AuthorizationService EntryPoints=10 ServiceComponent: Service=AuthorizationService Name=MQSeries.UNIX.auth.service Module=/opt/mqm/lib/amqzfu ComponentDataSize=0 # |
LogDefaultPath=/var/mqm/log を使用するときに -ld パラメタを指定しなければならないというこのバグは IBM に報告済みであり、現在、修正作業中です。
ここでは、 インストールと構成を確認する手順について説明します。
次の手順でインストールと構成を確認します。データサービスをまだインストールしていないため、この手順ではアプリケーションの可用性が高いかどうかを確認することはできません。
WebSphere MQ Manager を起動し、インストールを確認します。
# su - mqm Sun Microsystems Inc. SunOS 5.8 Generic February 2000 $ strmqm qmgr1 WebSphere MQ queue manager 'qmgr1' started. $ $ runmqsc qmgr1 5724-B41 (C) Copyright IBM Corp. 1994, 2002. ALL RIGHTS RESERVED. Starting WebSphere MQ script Commands. def ql(test) defpsist(yes) 1 : def ql(test) defpsist(yes) AMQ8006: WebSphere MQ queue created. end 2 : end One MQSC command read. No commands have a syntax error. All valid MQSC commands were processed. $ $ /opt/mqm/samp/bin/amqsput TEST qmgr1 Sample AMQSPUT0 start target queue is TEST test test test test test test test Sample AMQSPUT0 end $ $ /opt/mqm/samp/bin/amqsget TEST qmgr1 Sample AMQSGET0 start message <test test test test test test test> ^C$ $ $ runmqsc qmgr1 5724-B41 (C) Copyright IBM Corp. 1994, 2002. ALL RIGHTS RESERVED. Starting WebSphere MQ script Commands. delete ql(test) 1 : delete ql(test) AMQ8007: WebSphere MQ queue deleted. end 2 : end One MQSC command read. No commands have a syntax error. All valid MQSC commands were processed. $ |
WebSphere MQ Manager を停止します。
# su - mqm Sun Microsystems Inc. SunOS 5.8 Generic February 2000 $ $ endmqm -i qmgr1 WebSphere MQ queue manager 'qmgr1' ending. WebSphere MQ queue manager 'qmgr1' ended. $ |
Sun Cluster の初期インストール時に Sun Cluster HA for WebSphere MQ パッケージをインストールしていない場合は、次の手順でパッケージをインストールします。この手順は、Sun Cluster HA for WebSphere MQ パッケージをインストールするクラスタノードごとに行ってください。この手順を実行するには、Sun Cluster Agents CD-ROM が必要です。
複数のデータサービスを同時にインストールする場合は、『Sun Cluster 3.1 10/03 ソフトウェアのインストール』の「ソフトウェアのインストール」の手順を実行してください。
以下のインストールツールのどちらかを使って、Sun Cluster HA for WebSphere MQ パッケージをインストールします。
Web Start プログラム
scinstall ユーティリティー
Sun Cluster 3.1 Data Services 10/03 以前のリリースでは、Web Start プログラムは使用できません。
Web Start プログラムは、コマンド行インタフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) を使って実行できます。 CLI と GUI の命令の内容とシーケンスは類似しています。Web Start プログラムの詳細は、installer(1M) のマニュアルページを参照してください。
Sun Cluster HA for WebSphere MQ パッケージをインストールするクラスタノードで、スーパーユーザーになります。
(省略可能) GUI を使って Web Start プログラムを実行する場合は、DISPLAY
環境変数が設定されていることを確認してください。
Sun Cluster Agents CD-ROM を CD-ROM ドライブに挿入します。
ボリューム管理デーモン vold(1M) が実行されており、CD-ROM デバイスを管理するように構成されている場合は、CD-ROM は自動的に /cdrom/scdataservices_3_1_vb ディレクトリにマウントされます。
CD-ROM の Sun Cluster HA for WebSphere MQ コンポーネントディレクトリに移動します。
Sun Cluster HA for WebSphere MQ データサービス向け Web Start プログラムは、このディレクトリにあります。
# cd /cdrom/scdataservices_3_1_vb/components/SunCluster_HA_MQS_3.1 |
Web Start プログラムを開始します。
# ./installer |
画面の指示に従い、Sun Cluster HA for WebSphere MQ パッケージをノードにインストールします。
インストールの完了後、Web Start プログラムはインストールの概要を提供します。この概要によって、インストール中に Web Start プログラムによって作成されたログを参照できます。これらのログは、/var/sadm/install/logs ディレクトリにあります。
Web Start プログラムを終了します。
CD-ROM ドライブからの Sun Cluster Agents CD-ROM の読み込みを解除します。
次の手順で、Sun Cluster HA for WebSphere MQ パッケージをインストールします。この作業には、Sun Cluster Agents CD-ROM が必要です。この手順は、Sun Cluster の初期インストール時にデータサービス パッケージをインストールしていない場合を想定しています。
Sun Cluster のインストール時に Sun Cluster HA for WebSphere MQ パッケージをインストールした場合は、Sun Cluster HA for WebSphere MQ の登録と構成 へ進んでください。
それ以外の場合は、次の手順で、Sun Cluster HA for WebSphere MQ パッケージをインストールします。Sun Cluster HA for WebSphere MQ を実行できるすべてのノードで、この作業を行なう必要があります。
CD-ROM ドライブに Sun Cluster Agents CD-ROM を挿入します。
オプションを指定しないで scinstall ユーティリティーを実行します。
scinstall ユーティリティーが対話型モードで起動します。
メニューオプション「新しいデータサービスのサポートをこのクラスタノードに追加」を選択します。
scinstall ユーティリティーにより、ほかの情報を入力するためのプロンプトが表示されます。
Sun Cluster Agents CD-ROM のパスを指定します。
ユーティリティーはこの CD をデータサービス CD-ROM として示します。
インストールするデータサービスを指定します。
選択したデータサービスが scinstall ユーティリティーによって示され、この選択内容の確認が求められます。
scinstall ユーティリティーを終了します。
ドライブから CD を取り出します。
ここでは Sun Cluster HA for WebSphere MQ の構成手順について説明します。
次の手順で、Sun Cluster HA for WebSphere MQ をフェイルオーバーデータサービスとして構成します。この手順は、Sun Cluster の初期インストール時にデータサービスパッケージをインストールしている場合を想定しています。
Sun Cluster のインストール時に Sun Cluster HA for WebSphere MQ をインストールしていない場合は、scinstall ユーティリティーを使った Sun Cluster HA for WebSphere MQ パッケージのインストール方法 へ進んでください。
それ以外の場合は、次の手順で Sun Cluster HA for WebSphere MQ データサービスを構成します。
WebSphere MQ のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
SUNW.gds というリソースタイプを登録します。
# scrgadm -a -t SUNW.gds |
SUNW.HAStoragePlus というリソースタイプを登録します。
# scrgadm -a -t SUNW.HAStoragePlus |
フェイルオーバーリソースグループを作成します。
# scrgadm -a -g WebSphere MQ-failover-resource-group |
WebSphere MQ ディスク記憶装置に対応するリソースを作成します。
# scrgadm -a -j WebSphere MQ-has-resource \ -g WebSphere MQ-failover-resource-group \ -t SUNW.HAStoragePlus \ -x FilesystemMountPoints=WebSphere MQ- instance-mount-points |
WebSphere MQ 論理ホスト名に対応するリソースを作成します。
# scrgadm -a -L -j WebSphere MQ-lh-resource \ -g WebSphere MQ-failover-resource-group \ -l WebSphere MQ-logical-hostname |
WebSphere MQ ディスク記憶装置と 論理ホスト名のリソースが組み込まれたフェイルオーバーリソースグループを有効にします。
# scswitch -Z -g WebSphere MQ-failover-resource-group |
必要な個々の WebSphere MQ コンポーネントを作成して登録します。
Queue Manager コンポーネント ( mgr) に対してこの手順を実行し、さらに使用するオプションの WebSphere MQ コンポーネントごとに、mgr を以下のどれか 1 つに置き換えて手順を繰り返します。
chi - Channel Initiator
csv - Command Server
lsr コンポーネントでは、複数のポートを使用できます。複数のポートを指定するには、/opt/SUNWscmqs/lsr/util/lsr_config 内の PORT パラメタで必要な各ポートエントリに対して、複数のポート番号を / で区切って指定します。この指定により、lsr コンポーネントは複数のポートエントリに対して複数の runmqlsr プログラムを開始します。ただし、複数のポートエントリが必要な場合は、/opt/SUNWscmqs/lsr/util/lsr_register の実行前に lsr_register ファイル内の PORT_LIST エントリを修正し、1 つのポート番号しか含まれないように設定する必要があります。たとえば、 PORT_LIST=1414/tcp のように修正してください。 この箇所は、今後のリリースで修正される予定です。
lsr - Dedicated Listener
trm コンポーネントでは、複数のトリガーモニターを使用できます。複数のトリガーモニターを指定するには、/opt/SUNWscmqs/trm/util/trm_register の実行前に、 /opt/SUNWscmqs/trm/util/trm_config 内の TRMQ パラメタを file に設定します。この指定により、trm コンポーネントは、トリガーモニターキュー名が含まれる /opt/SUNWscmqs/trm/etc/<qmgr>_trm_queues から複数のトリガーモニターエントリを開始します。 <qmgr> は使用している Queue Manager の名前にあたります。このファイルは、Sun Cluster HA for WebSphere MQ を実行する Sun Cluster 内の各ノードに必要ですが、広域ファイルシステムへのシンボリックリンクとすることもできます。
trm - Trigger Monitor
# cd /opt/SUNWscmqs/mgr/util |
mgr_config ファイルを編集し、ファイルの中のコメントの記述に従います。
# 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 # |
WebSphere MQ Manager qmgr1 の例を示します。
RS=wmq-qmgr-res RG=wmq-rg QMGR=qmgr1 PORT=1414 LH=wmq-lh-res HAS_RS=wmq-has-res |
mgr_config の編集後、リソースを登録する必要があります。
# ./mgr_register |
WebSphere MQ Manager の保護を有効にします (必要な場合)。
WebSphere MQ Manager の保護を実装するのは、広域ファイルシステムに WebSphere MQ を配備した場合だけです。 WebSphere MQ Manager の保護の詳細は、構成に関する要件、特に 例 1–5 を参照してください。それ以外の場合は、次の手順に直接進んでください。
さらに、この手順は Sun Cluster HA for WebSphere MQ のホストとなる各 Sun Cluster ノードで繰り返す必要があります。
各 WebSphere MQ リソースを有効にします。
前の手順と同様、WebSphere MQ コンポーネントごとにこの手順を繰り返します。
# scstat |
# scswitch -e -j WebSphere MQ-resource |
ここでは、データサービスが正しくインストールされて構成されているかどうかを確認する手順について説明します。
次の手順で、Sun Cluster HA for WebSphere MQ が正しくインストールされ、構成されているかどうかを確認します。
WebSphere MQ のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
すべての WebSphere MQ リソースがオンラインになっていることを scstat で確認します。
# scstat |
オンラインになっていない WebSphere MQ リソースごとに、次のように scswitch コマンドを使用します。
# scswitch -e -j WebSphere MQ- resouce |
scswitch コマンドを実行し、 WebSphere MQ リソースグループをほかのクラスタノード (node2 など) に切り替えます。
# scswitch -z -g WebSphere MQ-failover-resource-group -h node2 |
この情報は、Sun Cluster HA for WebSphere MQ 障害モニターを理解するうえで役立ちます。ここでは、Sun Cluster HA for WebSphere MQ 障害モニターの検証アルゴリズムまたは機能について説明し、検証エラーに関連する条件、メッセージ、回復アクションを示します。
障害モニターの概念については、『Sun Cluster 3.1 の概念』を参照してください。
Sun Cluster HA for WebSphere MQ 障害モニターでは、リソースタイプ SUNW.gds と同じリソースプロパティを使用します。 使用するリソースプロパティの全リストについては、SUNW.gds(5) のマニュアルページを参照してください。
WebSphere MQ Manager
Thorough_probe_interval の間、休止します。
Queue Manager に接続し、一時動的キューを作成し、メッセージをキューに格納し、そのうえで Queue Manager を切断します。これに失敗すると、検証により Queue Manager を再起動します。
すべての Queue Manager プロセスが無効な場合は、pmf が検証に割り込んでただちに Queue Manager を再起動します。
Queue Manager が繰り返し再起動され、最終的に Retry_interval の Retry_count を使い果たすと、別のノードでそのリソースグループのフェイルオーバーが開始されます。
その他の WebSphere MQ コンポーネント (chi、csv、および trm)
プローブアルゴリズムと機能の動作は、Channel Initiator、Command Server、Trigger Monitor のいずれでも同じです。したがって、以下の説明では、単にリソースでこれらのコンポーネントを表します。
Thorough_probe_interval の間、休止します。
Queue Manager に依存します。Queue Manager が失敗するとリソースも失敗します。Queue Manager が再び使用できるようになると、リソースが再起動されます。
リソースが停止すると、pmf が検証に割り込んでただちにプロセスを再起動します。
リソースが繰り返し再起動されて、 Retry_interval の Retry_count を使い果たしても、別のノードへのフェイルオーバーは開始されません。Failover_enabled=FALSE が設定されているからです。代わりに、リソースが再起動されます。ただし、この動作は今後拡張され、再起動する代わりに、リソースを Offline としてマーキングできるようになる予定です。
WebSphere MQ Listener
Thorough_probe_interval の間、休止します。
runmqlsr プロセスが Queue Manager と対応づけられており、なおかつポートが稼働しているかどうかを確認します。
リスナーは、同じ pmftag で複数のポート番号に対応できます。特定のポートに対応するリスナーが欠落していることが判明すると、検証によりそのリスナーの再起動が開始されます。他のリスナーは影響を受けません。
リソースは複数のリスナーに対応できますが、すべてのリスナーが失敗してからでなければ、リソースは再起動されません。したがって、複数のリスナーが動作しているリソースでも、再起動をきめ細かく制御できます。
リソースが繰り返し再起動されて、 Retry_interval の Retry_count を使い果たしても、別のノードへのフェイルオーバーは開始されません。Failover_enabled=FALSE が設定されているからです。代わりに、リソースが再起動されます。ただし、この動作は今後拡張され、再起動する代わりに、リソースを Offline としてマーキングできるようになる予定です。
ここでは、Sun Cluster HA for WebSphere MQ のデバッグを有効にする方法について説明します。
Sun Cluster HA for WebSphere MQ は複数の WebSphere MQ インスタンスで使用できます。デバッグは、すべての WebSphere MQ インスタンスに対して有効にすることも、特定の WebSphere MQ インスタンスに対して有効にすることもできます。
各 WebSphere MQ コンポーネントは、 /opt/SUNWscmqs/xxx/etc に DEBUG ファイルがあります。xxx は個々の WebSphere MQ コンポーネントを表す 3 文字の略語です。
これらのファイルによって、Sun Cluster の特定のノードで特定の WebSphere MQ インスタンスに対してデバッグを有効にすることも、またはすべての WebSphere MQ インスタンスに対してデバッグを有効にすることもできます。Sun Cluster 全体にわたって、Sun Cluster HA for WebSphere MQ のデバッグを有効にしなければならない場合は、Sun Cluster 内のすべてのノードでこの手順を繰り返す必要があります。
必要に応じて Sun Cluster の各ノードで、Queue Manager コンポーネント (mgr) に対してこの手順を実行し、さらにデバッグ出力が必要な WebSphere MQ コンポーネント (オプション) で手順を繰り返します。
/etc/syslog.conf を編集します。
/etc/syslog.conf を編集し、daemon.notice を daemon.debug に変更します。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # |
daemon.notice を daemon.debug に変更し、syslogd を再起動します。次に示す grep daemon /etc/syslog.conf コマンドの出力例では、daemon.debug が設定されています。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.debug;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # # pkill -1 syslogd # |
/opt/SUNWscmqs/mgr/etc/config を編集します。
/opt/SUNWscmqs/mgr/etc/config を編集し、 DEBUG= を DEBUG=ALL または DEBUG= resource に変更します。
# 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=ALL START_COMMAND= STOP_COMMAND= # |
デバッグを無効にするには、この手順を逆に実行して下さい。