複数クラスター・トランスミッション・ キューの構成 複数クラスター・トランスミッション・キューの構成 V7.5から一つのキュー・マネージャー上で複数のクラスター・トランスミッション・キュー
by user
Comments
Transcript
複数クラスター・トランスミッション・ キューの構成 複数クラスター・トランスミッション・キューの構成 V7.5から一つのキュー・マネージャー上で複数のクラスター・トランスミッション・キュー
複数クラスター・トランスミッション・ キューの構成 1 複数クラスター・トランスミッション・キューの構成 V7.5から一つのキュー・マネージャー上で複数のクラスター・トランスミッション・キュー (CTQ)を構成可能 今まではSYSTEM.CLUSTER.TRANSMIT.QUEUE(SCTQ)を全てのクラスター送信 チャネルで共有 クラスター送信チャネルに対して個別の CTQ を割り当てることが可能になった CTQ を自動指定する方法と明示指定する方法がある(後述) 複数の CTQ を構成するメリット クラスター送信チャネル毎にメッセージのトラフィックをモニターできる ゲートウェイ・キュー・マネージャーなど接続先キュー・マネージャーが多くある場合に特に有効 キュー障害の場合に全てのキュー・マネージャーへの送信が停止することを回避できる 複数 CTQ 構成は z/OS , IBM i 以外のプラットフォームでサポート CLUS1 QMA QMGW QM1 XMITQ.QMA QMB QM2 SYSTEM.CLUSTER. TRANSMIT.QUEUE XMITQ.QMB 2 CLUS2 クラスター・トランスミッション・キューの自動指定 クラスター・トランスミッション・キューを自動的に指定する方法 キュー・マネージャーの DEFCLXQ 属性(V7.5 新規)に”CHANNEL”を指定 ALTER QMGR DEFCLXQ(CHANNEL) ※DEFCLXQのデフォルトはSCTQ (従来通り全てのクラスター送信チャネルが SYSTEM.CLUSTER.TRANSMIT.QUEUE を使用) クラスター送信チャネル毎に個別のトランスミッション・キューが割り当てられる 次回の送信チャネル開始時から新たなトランスミッション・キューを使用する CTQ 名は SYSTEM.CLUSTER.TRANSMIT.<クラスター送信チャネル名> (固定) –モデルキュー SYSTEM.CLUSTER.TRANSMIT.MODEL の永続動的キューとして作成される 個別 CTQ が作成されるのは次回の送信チャネル開始のタイミング QMA QM1 TO.QMA SYSTEM.CLUSTER. TRANSMIT.TO.QMA SYSTEM.CLUSTER. TRANSMIT.TO.QMB TO.QMB QMB 3 クラスター・トランスミッション・キューの明示指定 トランスミッション・キューを定義し、クラスター送信チャネルを明示的に指定する方法 トランスミッション・キューの CLCHNAME 属性(V7.5 新規)にこのキューを使うクラスター送信 チャネルを指定 DEFINE QLOCAL(<任意のキュー名>) USAGE(XMITQ) CLCHNAME(<チャネル名>) CLCHNAME: このトランスミッション・キューを使う送信チャネル名を指定 CLCHNAME は個別のチャネル名や” * ”による複数チャネル名の指定が可能 ” * ”は任意の文字列、” * ”指定ではチャネルのネーミングの考慮が必要 CLCHNAME で指定されないクラスター送信チャネルは SCTQ を使用 次回の送信チャネル開始時から新たなトランスミッション・キューを使用する QMGW TO.QM1 QM1 【トランスミッション・キューに対するクラスター送信チャネルの指定】 XMITQ.CLUS1.QM1 XMITQ.CLUS1.QM2 TO.QM2 QM2 XMITQ.CLUS2.QMA QMA1 TO.QMA1 TO.QMA2 QMA2 4 トランスミッション・キュー名 CLCHNAME XMITQ.CLUS1.QM1 TO.QM1 XMITQ.CLUS1.QM2 TO.QM2 XMITQ.CLUS2.QMA TO.QMA* 複数 CTQ 構成に切り替える際の考慮点 従来のクラスター構成から複数 CTQ 構成に切り替える際、基本は処理中の メッセージがなく、SCTQ に滞留メッセージがない状態で切り替える SCTQ を空にできない場合でも滞留メッセージは切り替えのタイミング(チャネル開始時) で内部的に個別の CTQ に移動される SCTQ に入った時点でメッセージの宛先(チャネル名)が設定されているため、宛先に紐づく CTQ にメッセージを移動 滞留メッセージの扱いを任意に決めることも出来る 送信チャネル停止中に個別の CTQ に移動しておくことができる(runswchl コマンド) 大量のメッセージが滞留している場合、チャネル開始時にメッセージの移動で時間が掛かるため 滞留しているメッセージを移動しない指定も可能(runswchl –n オプション) SCTQ のメッセージは滞留したままになるので、手動でクリアしてもよい runswchl コマンドの使用方法は次ページに記載 5 runswchl コマンドでの切り替え runswchl コマンドの使用方法 runswchl –m <QMGR名> –c <チャネル名> –n –q –m –c –n –q キュー・マネージャー名(必須) 切り替える送信チャネル名、個別のチャネル名または”*”で複数チャネル名を指定(オプション) トランスミッション・キューを切り替える際に古いキューから新しいキューにメッセージを転送しない(オプション) 切り替えは実行せず、切り替えの対象となるチャネルのリストを出力(オプション) ・キュー・マネージャー QMA の TO.QMB チャネルのみ個別のトランスミッション・キューに切り替え $ runswchl -m QMA -c TO.QMB SCTQ から新しいトランスミッション・キューに 5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED. メッセージを移動 メッセージ移動の完了 - 2 件のメッセージが移動しました。 クラスター送信側チャネル 'TO.QMB' は XMITQ 'SYSTEM.CLUSTER.TRANSMIT.TO.QMB' を使用するための切り替えが成功しました。 ・キュー・マネージャー QMA の各送信チャネルのトランスミッション・キュー切り替え状況を表示 $ runswchl -m QMA -c * -q 5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED. TO.QMB は切り替え済み チャネル 'TO.QMB' の伝送キューの切り替えは不要です。 クラスター送信側チャネル 'TO.QMC' に保留中の構成変更があります。 6 TO.QMC は切り替え前(runswchlを実行するか、 次回のチャネル開始時に切り替え) 複数 CTQ 構成への切り替えの確認方法 トランスミッション・キューの切り替えの進行状況を確認する方法 (自動指定、明示指定共通) エラー・ログを確認 切り替えの開始は AMQ7350 、終了は AMQ7341 で通知される 【切り替えの開始】 AMQ7350: チャネル 'TO.QMB' のキュー 'SYSTEM.CLUSTER.TRANSMIT.QUEUE' からキュー 'SYSTEM.CLUSTER.TRANSMIT.TO.QMB' への伝送キューの切り替えが開始されました。 【メッセージの移動開始】 ※SCTQ からメッセージの移動がある場合のみ出力 AMQ7351: 伝送キュー 'SYSTEM.CLUSTER.TRANSMIT.TO.QMB' から伝送キュー 'SYSTEM.CLUSTER.TRANSMIT.QUEUE' へのチャネル TO.QMB のメッセージの移動が開始 されました。 【切り替えの終了】 AMQ7341: チャネル 'TO.QMB' の伝送キューは 'SYSTEM.CLUSTER.TRANSMIT.TO.QMB' です。 : 切り替え時にキュー・マネージャーは '2' 件のメッセージを 'SYSTEM.CLUSTER.TRANSMIT.QUEUE' から 'SYSTEM.CLUSTER.TRANSMIT.TO.QMB' に移動 しました。 SCTQ から新しいトランスミッション・キューに移動した メッセージ数を表示 7 複数 CTQ 構成への切り替えの確認方法 現在使用しているトランスミッション・キューを確認する方法 (自動指定、明示指定共通) チャネルの状況の XMITQ 属性で使用中のトランスミッション・キューを表示 dis chs(TO.QMB) 2 : dis chs(TO.QMB) AMQ8417: チャネル状況の内容を表示します。 CHANNEL(TO.QMB) CONNAME(127.0.0.1(1415)) RQMNAME(QMB) CHLTYPE(CLUSSDR) CURRENT STATUS(STOPPED) SUBSTATE( ) XMITQ(SYSTEM.CLUSTER.TRANSMIT.TO.QMB) 8