...

WebSphere MQ 可用性構成ガイド 目次 MQの可用性構成

by user

on
Category: Documents
623

views

Report

Comments

Transcript

WebSphere MQ 可用性構成ガイド 目次 MQの可用性構成
WebSphere MQ
可用性構成ガイド
ISE エンタープライズ・ミドルウェア
2010年4月
目次
MQの可用性構成
クラスタ製品によるHA構成手順
MC91を使用したHA構成のマイグレーションの考慮点
マルチ・インスタンス・キュー・マネージャー構成手順
注:
・当資料はWebSphere MQ V7.0.1をベースに作成しています
・プラット・フォームはAIXを想定して構成手順を記載しています
・当資料はIBMの正式なレビューを受けていません
・当資料に含まれる全ての情報は、利用者の責任において使用されるべきものであり、特定環境への適
用は利用者の判断に依存します
2
MQの可用性構成
3
MQの可用性構成
MQリソースを引き継ぐ可用性構成として以下2つの構成がある
クラスタ製品を使用したHA構成
„リソースを共有ディスク上に配置
„障害時はクラスタ製品の機能でフェールオーバー
サーバB
サーバA
QMGR_A
QMGR_A
構成データ
ログ・ファイル
共有ディスク
マルチ・インスタンス・キュー・マネージャー
„リソースをネットワーク・ストレージ上に配置
„障害時はMQの機能でフォールオーバー
サーバB
サーバA
Activeインスタンス
Standbyインスタンス
QMGR_A
QMGR_A
構成データ
ログ・ファイル
ネットワーク・ファイルシステム
4
クラスタ製品による可用性構成
クラスタ製品(PowerHAやMSCSなど)を使用した高可用性構成
ノード障害時に共有ディスクを引き継いで、キュー・マネージャーを起動し、MQサービスを継続することが可能
共有ディスクにキュー・ファイル、キュー・マネージャー・ログを配置
共有ディスクと共にネットワーク・アドレス、アプリケーション、その他ミドルウェアも引き継ぐ
クラスタ製品による切替の自動化が可能
ノード障害やプロセス障害時に自動的にフェール・オーバーさせることが可能
サーバB
サーバA
Standby
Active
QMGR_A
製品イメージ
QMGR_A
フェールオーバー
IPアドレスA
製品イメージ
IPアドレスA
構成データ
ログ・ファイル
共有ディスク
5
マルチ・インスタンス・キュー・マネージャー
MQがV7.0.1より提供する高可用性機能
MQ障害時にMQの機能で自動的にキュー・マネージャーをフェールオーバー
„クラスタ製品は不要
キュー・マネージャーは複数のマシン上でアクティブ/スタンバイ・インスタンスとして稼動
„アクティブ・インスタンスがメッセージング・サービスを提供
„スタンバイ・インスタンスはアクティブ・インスタンスの稼動状況をチェックし、障害を検知したら、自らアクティブ・インスタンスとして
稼動
ネットワーク・ストレージにキュー・ファイル、キュー・マネージャー・ログを配置
ネットワーク・ストレージはNFS v4が前提
ネットワーク・アドレス、アプリケーション、その他ミドルウェアの引継ぎは行われない
フェールオーバー時には接続元システムで接続先を切り替えることが必要
DBなどの他リソースと連携する場合は別途仕組みが必要
旧バージョンのHA構成からマルチインスタンス構成へのマイグレーションはできない
サーバB
サーバA
QMGR_A
(アクティブ・インスタンス)
製品イメージ
フェールオーバー
QMGR_A
(スタンバイ・インスタンス)
IPアドレスB
IPアドレスA
構成データ
ログ・ファイル
ネットワーク・ストレージ
6
製品イメージ
MQの引継ぎリソース
可用性構成時に共有エリア(共有ディスク or ネットワーク・ファイルシステム)上に配置するリソース
キュー・マネージャーの構成データとログ
„構成データ(キュー・ファイル、構成ファイルなど)
/var/mqm/qmgrs/<Qmgr_Name>以下
※左記はUNIXのディレクトリ構造
„キュー・マネージャー・ログ(キュー・マネージャーの起動に必要なログ)
/var/mqm/log/<Qmgr_Name>以下
„MQ
V7.0.1では、上記ディレクトリをキュー・マネージャー作成時に任意のディレクトリに指定して構成する
/<指定ディレクトリ(構成データ用)>/<Qmgr_Name>
/<指定ディレクトリ(ログ用)>/<Qmgr_Name>
※MQ V7.0.1よりディレクトリ構成が変更されたため、サポートパック(MC91)などを使用せずにキュー・マネー
ジャーを作成可能(詳細はP23以降参照)
※製品コードはローカル・ディスクに導入し、引継ぎは行わない
※Active-Standbyの場合は/var/mqm以下を共有ディスク上に置く構成も可能
„Active-Activeの場合は構成データ、ログのみを共有ディスクに配置
7
可用性構成選択のポイント
キュー・マネージャーの可用性構成の選択ポイント
該当する環境やリカバリー要件により可用性構成を選択
クラスタ製品によるHA構成
マルチ・インスタンス・キュー・マネージャー
キュー・マネージャー・データ
共有ディスク
キュー・マネージャー・ログの配置場所
NASやNFSサーバなどのネットワーク・ストレージ
NFS v4が前提
パーシステント・メッセージの回復
パーシステント・メッセージの回復が可能
パーシステント・メッセージの回復が可能
IPアドレスの引継ぎ
IPアドレスを引き継ぐ
IPアドレスは引き継がない
フェールオーバー時間
数分のオーダー
フェールオーバー中、サービスは停止
数分のオーダー
フェールオーバー中、サービスは停止
他リソースとの連携
クラスタ製品を用いて、DB2などの他リソースと連携し 他リソースとの連携は不可
たフェール・オーバーが可能
接続システムの対応
チャネル接続
障害検知後、同一ホストへ再接続を試行し、自動
的に再接続
送信側がMQ V7.0.1以降の場合:
-障害検知後、フェール・オーバー先に自動的に再接続
- CONNAMEにアクティブ/スタンバイ両ノードのホスト名を記述
クライアント接続
障害検知後、以下のいずれかで再接続
-アプリケーションでの再接続ロジック
- チャネル定義テーブル
- クライアント自動再接続機能での再接続
(MQV701以降)
障害検知後、下のいずれかで再接続
-アプリケーションでの再接続ロジック
- チャネル定義テーブル
- クライアント自動再接続機能での再接続
(MQV701以降)
必要ライセンス
Activeノード分が必要
Activeノード + Standbyノード(ウォーム・ライセンス)
その他
・実績多数
・クラスタ製品のライセンスやスキル要員が必要
・実績が少ない
・クラスタ製品のライセンスやスキル要員が不要
・NFSを使用するためN/W回線速度がパフォーマンスに影響
・NFSサーバを別途HA構成にするなどの対応が必要
送信側がMQ V7.0.1以前の場合、自動的に再接続されない
8
クラスタ製品によるHA構成手順
9
クラスタ製品を使用したHA構成概要
本章ではクラスタ製品を使用したHA構成の構成手順、稼動確認方法を記載
[前提]
クラスタ製品:PowerHA
プラットフォーム:AIX
本章でのキュー・マネージャーの構成イメージ
サーバA、サーバBにキュー・マネージャーを構成 (Active-Standby構成)
キュー・マネージャーの構成データ、およびログは共有ディスクに配置
„キュー・マネージャー作成時に構成データとログの格納先を共有ディスク上のディレクトリに指定
ボリューム・グループ:mqvg
キュー・マネージャー構成データ用
ディレクトリ
キュー・マネージャー
V701HAQM1
キュー・マネージャー
V701HAQM1
構成データ
キュー・マネージャー・ログ用ディレクトリ
ログ
サーバB(スタンバイ機)
サーバA(サービス機)
共有ディスク
10
HA構成手順概要
本章ではクラスタ製品であるPowerHAによる可用性構成手順、稼動確認方法を記載
設定項目
値
補足
ホスト名
サーバA
mqhaanode
サーバB
mqhabnode
ボリューム・グループ名
mqvg
MQ管理ユーザー名(UID)
mqm(1111)
サーバA、Bで同一のIDを使用
MQ管理グループ名(GID)
mqm(1111)
サーバA、Bで同一のIDを使用
キュー・マネージャー構成データ・ディレクトリ
/MQHA/V701MQHA1/data
キュー・マネージャー・ログ・ディレクトリ
/MQHA/V701MQHA1/log
キュー・マネージャー名
V701HAQM1
※MQ管理ユーザ名/グループ名は固定の設定値です。それ以外は全て任意に設定可能なパラメータです。
ローカル・ファイルシステム
ローカル・ファイルシステム
/MQHA/V701MQHA1/data
サーバA
(サーバAと同じ)
/MQHA/V701MQHA1/log
マウント
サーバB
ボリューム・グループ:mqvg
ファイルシステム
共有ディスク
V701HAQM1
キュー・マネージャー:V701HAQM1 構成データ・ディレクトリ
ファイルシステム
V701HAQM1
キュー・マネージャー:V701HAQM1 ログ・ディレクトリ
11
HA構成手順概要
クラスタ製品による可用性構成を構築する際の手順概要
手順
内容
実施場所
1
共有ディスク上にファイルシステムを作成
サーバA
2
MQの導入とセットアップ
サーバA、B
3
キュー・マネージャーの構成
サーバA
4
キュー・マネージャーの構成
サーバB
5
フェール・オーバーの確認(手動)
サーバA、B
※サポートパックMC91の使用は不要
・旧バージョンでHA構成を組む場合、サポートパックMC91を使用していたが、V7.0.1よりキュー・マネージャー作成コマンド
(crtmqm)のパラメーターでリソースの配置場所を指定することが可能
・MQリソース関連の構成ディレクトリが変更されている(詳細はP23以降参照)
12
HA構成(手順1)
共用ディスク上にファイルシステムを作成 @サーバA
※rootユーザで以下を実施
※作成するファイルシステム
„/MQHA/V701MQHA1/data・・・キュー・マネージャーの構成データを格納
„/MQHA/V701MQHA1/log・・・キュー・マネージャーログを格納
サーバAにボリューム・グループ(mqvg)がvaryonされていることを確認
HACMP構成管理用のSMIT画面を起動
# smitty hacmp
HACMP for AIX
カーソルを選択したい項目に移動して、ENTER キーを押してください。
Initialization and Standard Configuration
Extended Configuration
System Management (C-SPOC)
Problem Determination Tools
以下の通り、メニューをたどる
C-SPOC → HACMP Logical Volume Management → Shared File Systems →
拡張ジャーナル・ファイルシステム → Add an Enhanced Journaled File System
13
HA構成(手順1)
ファイルシステムを作成するボリューム・グループを選択
|
Shared Volume Groups
| カーソルを選択したい項目に移動して、ENTER キーを押してください。
|
| #Volume Group
Resource Group
Node List
|
hdvg
<None>
mqhaanode,mqhabnode
|
mqvg
RG1
mqhaanode,mqhabnode
|
|
|
|
|
|
Add an Enhanced Journaled File System
フィールドの値を入力または選択してください。変更を完了したら ENTER キーを押してください。
[入力フィールド]
RG1
mqhaanode,mqhabnode
mqvg
Resource Group
Node Names
ボリューム・グループ名
ファイルシステムのサイズ
ユニット・サイズ
*
ユニット数
* マウント・ポイント
権限
マウント・オプション
ブロック・サイズ (バイト)
インライン・ログにする
インライン・ログ・サイズ (MB)
ログの論理ボリューム
拡張属性フォーマット
クォータ管理を使用可能にする
512 バイト
[1000000]
[/MQHA/V701MQHA1/data]
読み取り/書き込み
[]
4096
いいえ
[]
バージョン 1
いいえ
14
ファイルシステムの設計に
合わせてユニット数やマウ
+
ントポイントを設定
#
/
+
+
+
+
#
+
+
HA構成(手順2)
MQの導入とセットアップ @サーバA、サーバB
※rootユーザーで以下を実施
mqm グループ、mqm ユーザーを作成
※rootユーザーで以下を実施
„mqmユーザー、mqmグループを作成
„作成するユーザー名: mqm (1次グループとしてmqm グループに所属させる)
–マシン間で mqm ユーザーID と mqm グループID をそれぞれ合わせることが必要
# smitty groups
ループ
カーソルを選択したい項目に移動して、ENTER キーを押してください。
グループをすべてリスト
グループの追加
グループの特性の変更/表示
グループの除去
グループの追加
フィールドの値を入力または選択してください。
F1=ヘルプ
F2=再表示
F3=取消
F8=イメージ
変更を完了したら ENTER キーを押してください。
F9=シェル
F10=終了
ENTER=実行
[入力フィールド]
* グループ名
[mqm]
管理グループにする
いいえ
グループ ID
[1111]
ユーザー・リスト
[]
管理者リスト
[]
プロジェクト
[]
初期 Keystore モード
[]
Keystore 暗号化アルゴリズム
[]
Keystore アクセス
[ ]
+
#
+
+
+
+
+
+
15
HA構成(手順2)
# smitty users
ユーザー
カーソルを選択したい項目に移動して、ENTER キーを押してください。
ユーザーの追加
ユーザー・パスワードの変更
ユーザーの特性の変更/表示
ユーザー・アカウントのロック/ロック解除
ユーザーの追加
ユーザーの失敗ログイン・カウントのリセット
フィールドの値を入力または選択してください。
ユーザーの除去
変更を完了したら ENTER キーを押してください。
ユーザーをすべてリスト
[TOP]
* ユーザー名
F1=ヘルプ
F2=再表示
F3=取消
ユーザー ID F8=イメージ
F9=シェル
F10=終了
ENTER=実行
管理ユーザーにする
1次グループ
グループ・セット
管理グループ
ロール
他のユーザーからこのユーザーに SU 可能にする
SU グループ
ホーム・ディレクトリー
初期プログラム
ユーザー情報
有効期限 (MMDDhhmmyy)
このユーザー・アカウントをロックする
ログイン可能にする
[MORE...51]
16
[入力フィールド]
[mqm]
[1111]
いいえ
[]
[]
[]
[]
はい
[ALL]
[]
[]
[]
[0]
いいえ
はい
HA構成(手順2)
MQ V7.0.1を導入
„導入手順は、マニュアル、SIL
導入ガイドを参照
– WebSphere MQ V7.0導入ガイド
http://www.ibm.com/developerworks/jp/websphere/library/wmq/mq7_install/index.html
マウント・ポイントになっているディレクトリのオーナーとパーミッションの設定 @サーバA
„MQ管理ユーザ/グループ(mqm/mqm)をオーナー、パーミッションを775に変更
実行例
$ chmod 775 /MQHA/V701MQHA1/data
$ chmod 775 /MQHA/V701MQHA1/log
17
HA構成(手順3)
キュー・マネージャーの構成 @サーバA
※mqmユーザーで以下を実施
キュー・マネージャーを作成
„キュー・マネージャー・データ・ディレクトリとログ・ファイル・ディレクトリに手順1で作成したファイルシステムを指定し、キュー・マネー
ジャーを作成
crtmqm –md MQ_DataPath -ld MQ_LogPath QmgrName
実行例
$ crtmqm -md /MQHA/V701MQHA1/data -ld /MQHA/V701MQHA1/log V701HAQM1
WebSphere MQ キュー・マネージャーが作成されました。
ディレクトリー '/MQHA/V701MQHA1/data/V701HAQM1' が作成されました。
V701HAQM1 のデフォルト・オブジェクトを作成または置換しています。
デフォルト・オブジェクトの統計 : 作成 65、置換 0、失敗 0
設定を完了中です。
設定が完了しました。
18
HA構成(手順3)
サーバB側で実行するキュー・マネージャー定義情報を出力
„dspmqinfコマンドで、サーバB側でキュー・マネージャーの登録を行うコマンド(addmqinf)を確認
dspmqinf -o command QmgrName
実行例
$ dspmqinf -o command V701HAQM1
addmqinf -s QueueManager -v Name=V701HAQM1 -v Directory=V701HAQM1 -v Prefix=/var/mqm –v
DataPath=/MQHA/V701MQHA1/data/V701HAQM1
※HA構成時は、キュー・マネージャーを片側のサーバでのみ作成し、もう一方のサーバではaddmqinfコマンドで使用してキュー・マ
ネージャー情報を登録します。
dspmqinfコマンドは、キュー・マネージャー情報を出力するためのコマンドです(V7.0.1で追加)。
dspmqinf –o command で、スタンバイ側で実行するaddmqinfコマンドのオプションを出力します。
19
HA構成(手順3)
キュー・マネージャーを起動
実行例
$ strmqm V701HAQM1
WebSphere MQ キュー・マネージャー V701HAQM1' を開始しています。
ログのやり直しフェーズ中に、キュー・マネージャー 'V701HAQM1' で 9 ログ・レコードがアクセスされました。
キュー・マネージャー 'V701HAQM1' のログのやり直しが完了しました。
キュー・マネージャー 'V701HAQM1' のトランザクション・マネージャーの状態が回復されました。
WebSphere MQ キュー・マネージャー 'V701HAQM1' が始動しました。
キュー・マネージャーの起動確認
実行例
$ dspmq
QMNAME(V701HAQM1)
STATUS(実行中)
キュー・マネージャーを停止
実行例
$ endmqm -w V701HAQM1
キュー・マネージャー 'V701HAQM1' の終了を待機中です。
キュー・マネージャー 'V701HAQM1' の終了を待機中です。
WebSphere MQ キュー・マネージャー 'V701HAQM1' が終了しました。
停止確認
実行例
$ dspmq
QMNAME(V701HAQM1)
STATUS(正常に終了しました。)
20
HA構成(手順4)
キュー・マネージャーを構成 @サーバB
※サーバBに共有ディスク上のファイルシステムがマウントされていることを確認
※mqmユーザーで以下を実施
サーバBのキュー・マネージャー情報を登録
„サーバA上でキュー・マネージャーを構成した情報を使用してサーバB上にキュー・マネージャを登録
„サーバB上でキュー・マネージャー作成コマンド(crtmqm)を実行する必要はない
実行例
$ addmqinf -s QueueManager -v Name=V701HAQM1 -v Directory=V701HAQM1 -v Prefix=/var/mqm -v
DataPath=/MQHA/V701MQHA1/data/V701HAQM1
WebSphere MQ 構成情報が追加されました。
※addmqinfは、キュー・マネージャー情報を登録するためのコマンドです(V7.0.1で追加)。
HA構成時は、片側のサーバで実行したdspmqinfコマンドの出力結果をそのまま実行します。
キュー・マネージャーの起動・停止を確認 @サーバB
21
HA構成のディレクトリ構造
本章の手順で構成した場合のディレクトリ構造
IPC関連ディレクトリはローカル・
ディスクに作成される
※下図は関連するディレクトリのみ記載
ローカル・ファイルシステム
/var
qmgrs
V701HAQM1
sockets
V701HAQM1
IPC関連ディレクトリ
mqm
ローカル・ファイルシステム
/MQHA/V701MQHA1/data
サーバA
内蔵
ディスク
(サーバAと同じ)
/MQHA/V701MQHA1/log
共有ディスク
内蔵
ディスク
サーバB
マウント
ボリューム・グループ:mqvg
ファイルシステム
V701HAQM1
キュー・マネージャー:V701HAQM1 構成データ・ディレクトリ
ファイルシステム
V701HAQM1
キュー・マネージャー:V701HAQM1 ログ・ディレクトリ
補足
MQ V7.0.1では、旧バージョンのHA構成のようにシンボリックリンクは使用せず、ローカルのファイル内に共有
ディスク上のディレクトリ情報を保持しています。
22
MC91を使用したHA構成の
マイグレーションの考慮点
注意
本章の内容はISEのAIX環境における稼動検証に基づいた情報であり、お客様環境にてマイグレーショ
ンを行われる際は、稼動検証(特に障害系のテスト)を十分に実施して下さい
23
マイグレーション
MQの旧バージョンにおけるMC91を使用したHA構成のキュー・マネージャーは、基本的に通常構
成と同様の手順でMQ V7.0.1環境へマイグレーションが可能
マイグレーション後もディレクトリ構造の修正やリンクの張り直しなどすることなく、MQ V7.0.1環境で稼動させる
ことが可能
サポートパックで提供していた起動/停止シェル等もそのまま使用可能
補足
・旧バージョンのHA構成では、MC91によってキュー・マネージャーのIPC関連ディレクトリ(IPCリソース・ファイル)
をシンボリック・リンクによってローカルのファイルシステムに配置
„IPC関連ディレクトリ以外のキュー・マネージャー構成データは共有ディスク上に配置
・IPCリソース・ファイルが共有ディスク上のファイルシステムに存在すると、IPCリソースが残存したり、IPCリソース
の生成に失敗する可能性があり、これを回避するために上記対策を採っていた(詳細はP28~P31)
・旧バージョンのHA構成をMQ V7.0.1にマイグレーションした場合、MQ V7.0.1から新規に追加されたIPC関連
ディレクトリが共有ディスク上に配置される(P26参照)
・MQ V7.0.1ではIPC関連ディレクトリ構造の変更とIPCリソースの生成ロジックの変更により、IPCリソースの残
存やIPCリソース生成の失敗の可能性は回避可能(詳細はP32)
24
MQ V7.0.1へのマイグレーション手順概要
MC91を使用して構成した旧バージョンのMQをV7.0.1にマイグレーションする際の手順概要
手順
1
作業内容
スタンバイ側キュー・マネージャーをMQ V7.0.1へマイグレーション
実施場所
サーバB
2
アクティブ側キュー・マネージャーの停止と、キュー・マネージャのテイクオーバー
サーバA
3
4
5
6
スタンバイ側キュー・マネージャーの起動と起動確認
アクティブ側キュー・マネージャーをMQ V7.0.1へマイグレーション
サーバB
サーバA
サーバB
サーバA
スタンバイ側キュー・マネージャーの停止と、キュー・マネージャのテイクオーバー
アクティブ側キュー・マネージャーの起動と起動確認
各手順の詳細は、マニュアル、SIL 導入ガイドを参照
„WebSphere
MQ V7.0導入ガイド
http://www.ibm.com/developerworks/jp/websphere/library/wmq/mq7_install/index.html
25
マイグレーション後のディレクトリ構造
MC91によって構成したHA環境からMQ V7.0.1へマイグレーションした場合のディレクトリ構造例
旧バージョンから存在するIPC関連ディレクトリ
(MC91によってローカル・ファイルシステムに配置されている)
※下図は関連するディレクトリのみ記載
@app/ipcc/isem
ipc
/var
HAQM01
isem
mqm
qmgrs
esem
:
:
HAQM01
実体
シンボリック・リンク
(サーバAと同等)
サーバA
共有
ディスク
内蔵
ディスク
内蔵
ディスク
サーバB
@app/ipcc/isem
data
qmgrs
HAQM01
実体
/MQHA
HAQM01
isem
ノード名単位でディレクトリが作成され、
その下にノード専用のIPCリソース・ファイルを持つ
esem
:
:
log
HAQM01
qmgr
sem
mqhaanode
mqhabnode
サーバA用IPCリソース・ファイル
サーバB用IPCリソース・ファイル
isem
msem
shmem
MQ V7.0.1で追加されたIPC関連ディレクトリ
26
<補足>マイグレーション前のディレクトリ構造
旧バージョンのMQ+MC91によって構成した場合のディレクトリ構造例
※下図は関連するディレクトリのみ記載
IPC関連ディレクトリ
(MC91によってローカル・ファイルシステムに配置されている)
@app/ipcc/isem
ipc
/var
HAQM01
isem
mqm
qmgrs
esem
:
:
HAQM01
シンボリック・リンク
実体
(サーバAと同等)
サーバA
共有
ディスク
内蔵
ディスク
内蔵
ディスク
サーバB
@app/ipcc/isem
data
qmgrs
HAQM01
実体
/MQHA
HAQM01
isem
esem
:
:
log
HAQM01
27
<補足>HA構成時にMC91を使用していた理由(1)
IPCリソースが残存してしまう懸念
旧バージョンにおいてMC91を使用せずにHA構成を組んだ場合
„キュー・マネージャー構成データ・ディレクトリ下にあるIPC関連ディレクトリ(IPCリソース・ファイル)が共有ディスク上に配置される
„キュー・マネージャーは自身が使用するIPCリソースをそれと対応するIPCリソース・ファイルでコントロールしている
– 起動時にIPCリソース・ファイルを作成し、そのファイルを基にIPCリソースを生成
9 ファイル内にはIPCリソースを紐付けるための情報を格納
– 停止時にはIPCリソース・ファイルを基に対応するIPCリソースを削除
– 異常終了後の再起動時には前回のIPCリソースおよびIPCリソース・ファイルが残っていると、そのファイルを基に残存しているIPCリソースを削除し、
IPCリソース・ファイルも削除して、新たにIPCリソース・ファイルとIPCリソースを生成
„IPCリソース・ファイルが共有ディスク上にあると、フェールオーバーした際にIPCリソースは障害サーバに残り、 IPCリソース・ファイル
はスタンバイ機に引き継がれる
– スタンバイ側でキュー・マネージャーを再起動すると古いIPCリソース・ファイルは削除されるため、障害復旧後キュー・マネージャーを切り戻したときには
古いIPCリソースだけが残ってしまう
MC91を使用してHA構成を組んだ場合
„MC91のスクリプトによってIPC関連ディレクトリ(IPCリソース・ファイル)をローカル・ディスク上に配置する
„フェールオーバーが発生しても、IPCリソースとIPCリソース・ファイルがセットで残るため、切り戻しのときにキュー・マネージャーが
IPCリソースを削除できる
注意
上記内容はISE環境(MQ V6/V7 on AIX V5.3)における稼動検証に基づいた情報です。バージョンや
プラットフォームによって動作が異なる可能性があります。
28
<補足>HA構成時にMC91を使用していた理由(1)
MC91を使用しない場合
IPCリソース
切り
戻し
IPCリソース
F/O
ノードB
ノードA
QMGR_A
ノードB
ノードA
ノードB
ノードA
IPCリソース・ファイ
ル
共有ディスク
QMGR_A
IPCリソース
IPCリソース
IPCリソース
IPCリソース・ファイル
IPCリソース・ファイルが削除されているため、
残骸のIPCリソースが削除されずに残る
起動時に古いIPCファイルとIPCリソースをセットで削除
IPCリソースがなくても、IPCリソース・ファイルだけを削除
QMGR_A
IPCリソース・ファイル
MC91を使用した場合
ノードB
ノードA
IPCリソース
ノードB
ノードA
IPCリソース
切り
戻し
F/O
IPCリソース・ファイ
ル
QMGR_A
共有ディスク
IPCリソース・ファイルもローカルに配置される
IPCリソース・ファイル
IPCリソース・ファイル
QMGR_A
ノードB
ノードA
IPCリソース
IPCリソース
IPCリソース
IPCリソース・ファイル
IPCリソース・ファイル
切り戻しのときにキュー・マネージャーは古い
IPCリソースおよびIPCリソース・ファイルを削
除
QMGR_A
29
<補足>HA構成時にMC91を使用していた理由(2)
IPCリソースの生成に失敗する懸念
旧バージョンにおいてMC91を使用せずにActive-ActiveのHA構成を組んだ場合
„Active-Active構成の場合、キュー・マネージャーごとに共有ディスク上にファイル・システムを作成するため、各キュー・マネー
ジャーのIPCリソース・ファイルが異なるファイル・システムに配置される
„現行AIXではIPCリソース・ファイル(キーファイル)が異なるファイルシステム上に存在するとIPCリソース生成時に使用するキー
が重複する可能性がある
– 現行AIXのデフォルト動作では、キーファイルが同一ファイルシステム内にあるときにのみキーのユニーク性を保証
– 既に使用されてるキーを使ってIPCリソースを生成しようとすると失敗する
– キュー・マネージャーの場合はIPCリソースの生成に失敗すると正常に起動しない可能性がある
„フェールオーバーにより同一ノード上に2つのキュー・マネージャーが稼動しようする場合、キュー・マネージャー間でキーの重複が
起き、フェールオーバーしてきたキュー・マネージャーの起動に失敗する可能性がある
旧バージョンにおいてMC91を使用してActive-ActiveのHA構成を組んだ場合
„MC91のスクリプトによってIPC関連ディレクトリ(IPCリソース・ファイル)をローカル・ディスク上に配置する
– 複数のキュー・マネージャーを構成してもIPCリソース・ファイルは1つのファイルシステム内に配置される
„片寄せ運転で1ノードに2つのキュー・マネージャーが稼動してもそれぞれのキュー・マネージャーが使用するIPCリソース・ファイル
は1つのファイル・システム上に存在するため、キー重複の可能性はない
注意
上記内容はISE環境(MQ V6/V7 on AIX V5.3/6.1)における稼動検証に基づいた情報です。バージョ
ンやプラットフォームによって動作が異なる可能性があります。
30
<補足>HA構成時にMC91を使用していた理由(2)
MC91を使用しない場合
ノードA
ノードB
QMGR_B
キーが重複してしまうと、
IPCリソースの生成に失敗する
QMGR_B
IPCリソース
IPCリソース
QMGR_A
IPCリソース・ファイルのファイルシステムが異なるため、
キーが重複する可能性がある
/data/qmgrs/QMGR_B下
/data/qmgrs/QMGR_A下
IPCリソース・ファイル
MC91を使用した場合
ノードA
ノードB
/var/mqm/ipc下
QMGR_B
QMGR_B
IPCリソース・ファイル
IPCリソース
QMGR_A
IPCリソース
IPCリソース・ファイル
IPCリソース・ファイルが同一ファイルシス
テムに存在するため、キーの重複は発
生しない
シンボリック・リンク
/data/qmgrs/QMGR_B下
/data/qmgrs/QMGR_A下
31
<補足>旧バージョンでの懸念に対するV7.0.1での対応
前述のIPC関連の2つの懸念に対しMQ V7.0.1では下記の対応がされているため、ディレクトリ構造
の修正やリンクの張り直しなどすることなくマイグレーションが可能
フェールオーバー時にIPCリソースが残ってしまう懸念について
„MQ
V7.0.1よりIPC関連ディレクトリ下にノード名のディレクトリが追加され、その下にIPCリソース・ファイルを格納(P26参照)
– キュー・マネージャーは自身が稼動しているノードに合わせて、ノード専用のIPCリソース・ファイルを使用
„フェールオーバー時でも古い(フェールオーバー前のノードの)IPCリソース・ファイルを削除することはなく、切り戻しの際には残って
いるIPCリソース・ファイルを使ってIPCリソースの残骸を削除することが可能
キーの重複でキュー・マネージャーの起動に失敗する懸念について(Active-Active構成のみ)
„MQ
V7.0.1よりIPCリソース生成時にIPCリソース・ファイルから生成したキーではなく、IPC_PRIVATEを使用する方式に変更
– IPC_PRIVATEを使用することで、キーの重複によってIPCリソースの生成に失敗することはない
„フェールオーバーによって2つのキュー・マネージャーが同一ノード上で稼動しても、キー・ファイルの重複でIPCリソースの生成に失
敗することはなく、フェールオーバーしてきたキュー・マネージャーは正常に起動可能
注意
上記内容はISE環境(MQ V7.0.1 on AIX V6.1)における稼動検証に基づいた情報です。バージョンや
プラットフォームによって動作が異なる可能性があります。
32
<補足>サポートパックMC91
MC91 High Availability for WebSphere MQ on UNIX platforms
クラスタ・ソフトウェアを使用した環境でテイクオーバーありのHA構成を採るためのドキュメントやスクリプトを提供
„ローカルにIPCリソースのためのディレクトリ等を作成し、共有ディスクからシンボリック・リンクを張るシェルなど
„提供されたシェルを使用することにより、IPCリソースの問題を回避
前提バージョン
„MQ
V5.3、V6、V7.0
(各バージョン用のサポートパックあり)
提供されているシェル・スクリプト
„共有ディスクへのキュー・マネージャーの作成
„IPCキー・ディレクトリの再配置
„キュー・マネージャーの起動・停止
„キュー・マネージャーのステータス監視
対象クラスタ・ソフトウェア製品
„HACMP
„Velitas
Cluster Server
„HP/ServiceGuard
„Linux-HA
„MSCS
Category 2 のサポートパック
„AS-IS
での提供のため、正式サポートはなし
MQ V7.0.1の発表によりwithdraw
33
マルチ・インスタンス・
キュー・マネージャー構成手順
34
マルチ・インスタンス・キュー・マネージャー構成概要
本章ではマルチ・インスタンス・キュー・マネージャーを用いた可用性構成手順、および稼動確認方法
を記載
本章で構成するマルチ・インスタンス・キュー・マネージャーの構成イメージ
サーバA、Bにキュー・マネージャーのインスタンスを構成し、Active-Standby環境を構築
キュー・マネージャーの構成データ/ログはNFSサーバ上のネットワーク・ファイルシステムに配置
„キュー・マネージャー作成時に構成データ/ログの格納先としてネットワーク・ファイルシステム上のディレクトリを指定
NFSサーバ
ネットワークファイルシステム:/NFS4FileSystem
キュー・マネージャー構成データ用
ディレクトリ
サーバA(サービス機)
サーバB(スタンバイ機)
構成データ
キュー・マネージャー
MIQM
キュー・マネージャー
MIQM
キュー・マネージャー・ログ用ディレクトリ
マウント
マウント
ログ
スタンバイ時も常時マウント
35
構成環境
当資料では、以下の設定を基にマルチ・インスタンス・キュー・マネージャー環境を構築
パラメータ
値
補足
NFSサーバ
nfsserver
本手順書ではNFSサーバをAIX上に構築
アクティブ・インスタンス側サーバ(サーバA)
mqhaanode
スタンバイ・インスタンス側サーバ(サーバB)
mqhabnode
ホスト名
キュー・マネージャー名
MIQM
ユーザー名(ID)
mqm(1111)
サーバA、B、NFSサーバで同一のIDを使用
グループ名(ID)
mqm(1111)
各サーバで同一のIDを使用
NFS共有ディレクトリ
/NFS4FileSystem
NFSサーバ上の共有ディレクトリ
NFS共有ディレクトリのマウント先
/mnt/NFS4FileSystem
サーバA、Bでのマウント先
キュー・マネージャー構成データ・ディレクトリ
/NFS4FileSystem/MIQM/data
キュー・マネージャー・ログ・ディレクトリ
/NFS4FileSystem/MIQM/log
本手順で作成されるディレクトリ構成
ローカル・ファイルシステム
ローカル・ファイルシステム
サーバA
/mnt
/mnt
NFS4FileSystem
ネットワーク・ファイルシステム
サーバB
マウント
マウント
/NFS4FileSystem
NFS4FileSystem
MIQM
36
data
MIQM
キュー・マネージャー構成データ・ディレクトリ
log
MIQM
キュー・マネージャー・ログ・ディレクトリ
構成手順
マルチ・インスタンス・キュー・マネージャーの構成手順
ネットワーク・ファイルシステムのマウント、検査
構成データ格納用ディレクトリの作成
キュー・マネージャーの作成
キュー・マネージャーの開始
実施場所
NFSサーバ
サーバA、B
サーバA、B
サーバA
サーバA
サーバA
7
キュー・マネージャー定義の出力
サーバA
8
キュー・マネージャーの登録
サーバB
9
10
キュー・マネージャーの開始
フェール・オーバーの確認(手動)
サーバB
サーバA、B
1
2
3
4
5
6
手順
ネットワーク・ファイルシステムのセットアップ
WMQの導入
37
マルチ・インスタンス・キュー・マネージャー構成(手順1)
ネットワーク・ファイル・システムのセットアップ @NFSサーバ
※root ユーザーで以下を実施
mqmユーザー、mqmグループを作成
„作成するユーザー名:
mqm (1次グループとしてmqm グループに所属させる)
–マシン間で mqm ユーザーID と mqm グループID をそれぞれ合わせることが必要
–後続手順のサーバA, サーバBでも同一IDでユーザー/グループを作成
# smitty groups
ループ
カーソルを選択したい項目に移動して、ENTER キーを押してください。
グループをすべてリスト
グループの追加
グループの特性の変更/表示
グループの除去
グループの追加
フィールドの値を入力または選択してください。
F1=ヘルプ
F2=再表示
F3=取消
F8=イメージ
変更を完了したら ENTER キーを押してください。
F9=シェル
F10=終了
ENTER=実行
[入力フィールド]
* グループ名
[mqm]
管理グループにする
いいえ
グループ ID
[1111]
ユーザー・リスト
[]
管理者リスト
[]
プロジェクト
[]
初期 Keystore モード
[]
Keystore 暗号化アルゴリズム
[]
Keystore アクセス
[ ]
38
+
#
+
+
+
+
+
+
マルチ・インスタンス・キュー・マネージャー構成(手順1)
# smitty users
ユーザー
カーソルを選択したい項目に移動して、ENTER キーを押してください。
ユーザーの追加
ユーザー・パスワードの変更
ユーザーの特性の変更/表示
ユーザー・アカウントのロック/ロック解除
ユーザーの追加
ユーザーの失敗ログイン・カウントのリセット
フィールドの値を入力または選択してください。
ユーザーの除去
変更を完了したら ENTER キーを押してください。
ユーザーをすべてリスト
[TOP]
* ユーザー名
F1=ヘルプ
F2=再表示
F3=取消
ユーザー ID F8=イメージ
F9=シェル
F10=終了
ENTER=実行
管理ユーザーにする
1次グループ
グループ・セット
管理グループ
ロール
他のユーザーからこのユーザーに SU 可能にする
SU グループ
ホーム・ディレクトリー
初期プログラム
ユーザー情報
有効期限 (MMDDhhmmyy)
このユーザー・アカウントをロックする
ログイン可能にする
[MORE...51]
[入力フィールド]
[mqm]
[1111]
いいえ
[]
[]
[]
[]
はい
[ALL]
[]
[]
[]
[0]
いいえ
はい
39
マルチ・インスタンス・キュー・マネージャー構成(手順1)
ディレクトリの作成
共有ディレクトリのアクセス権限を「775」に変更
„共有ディレクトリ以下のオーナーをmqmユーザとmqmグループに変更
#mkdir /NFS4FileSystem
#chown mqm:mqm /NFS4FileSystem
#chmod 775 /NFS4FileSystem
ネットワーク・ファイル・システムへのアクセス設定
„任意のNFSローカル・ドメイン名を設定
# smit chnfsdom
NFS ローカル・ドメインの構成
カーソルを選択したい項目に移動して、ENTER キーを押してください。
現行 NFS ローカル・ドメインの表示
NFS ローカル・ドメインの変更
NFS ローカル・ドメインの変更
フィールドの値を入力または選択してください。
変更を完了したら ENTER キーを押してください。
* NFS ローカル・ドメイン
40
[入力フィールド]
[mkise.com]
マルチ・インスタンス・キュー・マネージャー構成(手順1)
ネットワーク・ファイルシステムをexport
# smitty nfs
NFS
カーソルを選択したい項目に移動して、ENTER キーを押してください。
TCP/IP の構成 (まだ構成されていない場合)
ネットワーク・ファイルシステム (NFS)
NIS (Network Information Service)
ネットワーク・ファイルシステム (NFS)
セキュア NFS および NIS の構成
カーソルを選択したい項目に移動して、ENTER キーを押してください。
このシステムに NFS を構成
エクスポート・リストにディレクトリーを追加
エクスポート・ディレクトリーの属性の変更/表示
エクスポート・リストからディレクトリーを除去
エクスポート・リストにディレクトリーを追加
マウントするファイルシステムの追加
フィールドの値を入力または選択してください。
・・・
変更を完了したら ENTER キーを押してください。
[TOP]
* エクスポートするディレクトリーのパス名
匿名 UID
公開するファイルシステム
* ディレクトリーをエクスポートする時期
代替エクスポート・ファイルのパス名
NFS バージョンによるアクセスの許可
[MORE...32]
[入力フィールド]
[/NFS4FileSystem]
[-2]
いいえ
両方
[]
[4]
41
マルチ・インスタンス・キュー・マネージャー構成(手順1)
NFSの開始
# smitty nfs
ネットワーク・ファイルシステム (NFS)
カーソルを選択したい項目に移動して、ENTER キーを押してください。
このシステムに NFS を構成
エクスポート・リストにディレクトリーを追加
エクスポート・ディレクトリーの属性の変更/表示
エクスポート・リストからディレクトリーを除去
NFS の開始
マウントするファイルシステムの追加
フィールドの値を入力または選択してください。
NFS ファイルシステムの属性の変更/表示
変更を完了したら ENTER キーを押してください。
NFS ファイルシステムの除去
・・・
* NFS の開始時期 (即時,システム再起動時,両方)
+
[入力フィールド]
両方
このシステムに NFS を構成
カーソルを選択したい項目に移動して、ENTER キーを押してください。
NFS の開始
NFS の停止
nfsd、biod および lockd デーモンの数の変更
・・・
42
マルチ・インスタンス・キュー・マネージャー構成(手順2)
WMQの導入 @サーバA、B
※root ユーザーで以下を実施
mqmユーザー、mqmグループを作成
„MQ導入前に作成する
„作成するユーザー名:
(※)
mqm (1次グループとしてmqm グループに所属させる)
※ MQ導入時に該当ユーザ、グループがない場合は自動的に作成されます(IDは自動的に振られます)。
ID番号の管理が必要な場合は、MQ導入前に該当ユーザー、グループを作成してください。
„サーバA,
サーバBで同一IDのユーザー、グループを作成(準備1を参照)
導入手順は、マニュアル、SIL 導入ガイドを参照
„WebSphere
MQ V7.0導入ガイド
http://www.ibm.com/developerworks/jp/websphere/library/wmq/mq7_install/index.html
43
マルチ・インスタンス・キュー・マネージャー構成(手順3)
ネットワーク・ファイル・システムのマウント、検査 @サーバA、B
※root ユーザーで以下を実施
マウント・ポイントの作成
#mkdir /mnt/NFS4FileSystem
NFSの開始(手順1を参照)
ネットワーク・ファイル・システムのマウント
# smitty nfs
NFS
カーソルを選択したい項目に移動して、ENTER キーを押してください。
TCP/IP の構成 (まだ構成されていない場合)
ネットワーク・ファイルシステム (NFS)
NIS (Network Information Service)
セキュア NFS および NIS の構成
(次頁へ)
44
マルチ・インスタンス・キュー・マネージャー構成(手順3)
ネットワーク・ファイルシステム (NFS)
カーソルを選択したい項目に移動して、ENTER キーを押してください。
このシステムに NFS を構成
エクスポート・リストにディレクトリーを追加
エクスポート・ディレクトリーの属性の変更/表示
エクスポート・リストからディレクトリーを除去
マウントするファイルシステムの追加
・・・
マウントするファイルシステムの追加
フィールドの値を入力または選択してください。
変更を完了したら ENTER キーを押してください。
[TOP]
[入力フィールド]
* マウント・ポイントのパス名
[/mnt/NFS4FileSystem]
* リモート・ディレクトリーのパス名
[/NFS4FileSystem]
* リモート・ディレクトリーが常駐するホスト
[nfsserver]
マウント・タイプ名
[]
* セキュリティー・メソッド
[sys]
* マウントする時期 (即時、/etc/filesystems にのみ
即時
エントリーを追加、または両方)
* /etc/filesystems のエントリーはシステム再起動時に
いいえ
ディレクトリーをマウントする
* この NFS ファイルシステムのモード
読み取り/書き込み
* マウントの実行方法
バックグラウンド
マウントの実行回数
[]
読み取り用バッファー・サイズ
[]
書き込み用バッファー・サイズ
[]
NFS タイムアウト (10 分の 1 秒単位)
[]
この NFS ファイルシステムの NFS バージョン
4
使用する転送プロトコル
どれでも
・・・・
45
/
+
+
+
+
+
#
#
#
#
+
+
マルチ・インスタンス・キュー・マネージャー構成(手順3)
※mqmユーザーで以下を実施
amqmfsckコマンドでファイル・ロックの取得、解除、同時書き込みの検査を実施
$ amqmfsck -v /mnt/NFS4FileSystem/MIQM
システム呼び出し: stat("/mnt/NFS4FileSystem/MIQM",&statbuf)
システム呼び出し: fd =
open("/mnt/NFS4FileSystem/MIQM/amqmfsck.lck",O_RDWR,0666)
システム呼び出し: fchmod(fd,0666)
システム呼び出し: fstat(fd,&statbuf)
・・・
・・・
open("/mnt/NFS4FileSystem/MIQM/amqmfsck.lck",O_RDWR,0666)
システム呼び出し: fcntl(fd1,F_SETLK,F_RDLCK)
システム呼び出し: fd2 =
open("/mnt/NFS4FileSystem/MIQM/amqmfsck.lck",O_RDWR,0666)
システム呼び出し: fcntl(fd2,F_SETLK,F_RDLCK)
システム呼び出し: close(fd2)
システム呼び出し: write(fd1,data)
システム呼び出し: close(fd1)
ディレクトリーに対するテストが正常に完了しました。
※amqmfsckコマンドは、ファイル・システムが適切にキュー・マネージャー・データを共有できることを検査します(V7.0.1で追加)。
検査が成功した場合は、対象のネットワーク・ファイル・システムをマルチ・インスタンス・キュー・マネージャーに使用することが可
能です。
検査が失敗する場合は、コマンド失敗理由をもとに問題を解決し、再度amqmfsckコマンドを実行します。
46
マルチ・インスタンス・キュー・マネージャー構成(手順4)
構成データ格納用ディレクトリの作成 @サーバA
※mqmユーザーで以下を実施
キュー・マネージャーの構成データ用、ログ用のディレクトリを作成
„サブ・ディレクトリにマルチ・インスタンス用のdataとlogディレクトリを作成
$ mkdir /mnt/NFS4FileSystem/MIQM
$ mkdir /mnt/NFS4FileSystem/MIQM/data
$ mkdir /mnt/NFS4FileSystem/MIQM/log
各ディレクトリのパーミッションを設定
„dataとlogディレクトリのアクセス権限を「775」に変更
$ chmod -R 775 /mnt/NFS4FileSystem/MIQM/data
$ chmod -R 775 /mnt/NFS4FileSystem/MIQM/log
$ ls -l /mnt/NFS4FileSystem/MIQM
drwxrwxr-x
2 mqm
mqm
256 Mar 08 00:54 data
drwxrwxr-x
2 mqm
mqm
256 Mar 08 00:54 log
47
マルチ・インスタンス・キュー・マネージャー構成(手順5)
キュー・マネージャーの作成
„NFS上の構成データ用ディレクトリ、
ログ用ディレクトリを指定
crtmqm –md MQ_DataPath -ld MQ_LogPath QmgrName
-md オプションで構成データ用ディレクトリ、 -ld オプションでログ用ディレクトリを指定
実行例
$ crtmqm -ld /mnt/NFS4FileSystem/log -md /mnt/NFS4FileSystem/data MIQM
WebSphere MQ キュー・マネージャーが作成されました。
ディレクトリー '/mnt/NFS4FileSystem/data/MIQM' が作成されました。
MIQM のデフォルト・オブジェクトを作成または置換しています。
デフォルト・オブジェクトの統計 : 作成 65、置換 0、失敗 0
設定を完了中です。
設定が完了しました。
48
マルチ・インスタンス・キュー・マネージャー構成(手順6、7)
キュー・マネージャーの開始 @サーバA
strmqm –x QmgrName
„
-x オプションの指定は必須
– 指定なし場合、マルチ・インスタンス・キュー・マネージャーとして起動せず、スタンバイ・インスタンスの起動ができない
„稼動モード(アクティブ/スタンバイ)の指定はない
– NFS上のロックファイルに対するロック取得可否でアクティブかスタンバイかが決まる
⇒先に起動したほうがアクティブ・インスタンスとなり、後から起動したほうがスタンバイ・インスタンスとなる
実行例
$ strmqm -x MIQM
WebSphere MQ キュー・マネージャー MIQM' を開始しています。
ログのやり直しフェーズ中に、キュー・マネージャー 'MIQM' で 5 ログ・レコードがアクセス ました。
キュー・マネージャー 'MIQM' のログのやり直しが完了しました。
キュー・マネージャー 'MIQM' のトランザクション・マネージャーの状態が回復されました。
WebSphere MQ キュー・マネージャー 'MIQM' が始動しました。
キュー・マネージャー定義の出力 @サーバA
dspmqinf -o command QmgrName
実行例
$ dspmqinf -o command MIQM
addmqinf -s QueueManager -v Name=MIQM -v Directory=MIQM -v Prefix=/var/mqm -v
DataPath=/mnt/NFS4FileSystem/data/MIQM
※マルチ・インスタンス・キュー・マネージャー構成時は、キュー・マネージャーを片側のサーバでのみ作成し、もう一方のサーバでは
addmqinfコマンドで使用してキュー・マネージャー情報を登録します。
dspmqinfコマンドは、キュー・マネージャー情報を出力するためのコマンドです(V7.0.1で追加)。
dspmqinf –o command で、スタンバイ側で実行するaddmqinfコマンドのオプションを出力します。
49
マルチ・インスタンス・キュー・マネージャー構成(手順8、9)
キュー・マネージャーの登録 @サーバB
※mqmユーザーで以下を実施
サーバA側で作成したキュー・マネージャーを登録
„サーバA側で確認した登録コマンドを実行
addmqinf -s QueueManager -v Name=QmgrName -v Directory=QmgrName -v
Prefix=/var/mqm -v DataPath=MQ_DataPath/QmgrName
実行例
$ addmqinf -s QueueManager -v Name=MIQM -v Directory=MIQM -v Prefix=/var/mqm -v
DataPath=/mnt/NFS4FileSystem/data/MIQM
WebSphere MQ 構成情報が追加されました。
※addmqinfは、キュー・マネージャー情報を登録するためのコマンドです(V7.0.1で追加)。
マルチ・インスタンス・キュー・マネージャー構成構成時は、片側のサーバで実行したdspmqinfコマンドの出力結果をそのまま
実行します。
キュー・マネージャーの開始 @サーバB
実行例
$ strmqm -x MIQM
WebSphere MQ キュー・マネージャー MIQM' を開始しています。
キュー・マネージャー 'MIQM' のスタンバイ・インスタンスが開始されました。別の場所でアクティブ・インスタンスが実行中です。
50
<補足>構成環境
本手順で作成されるディレクトリ構造
サーバA
サーバB
ローカル・ファイルシステム
ローカル・ファイルシステム
/var/mqm
(サーバAと同じ)
mqs.ini
/mnt/NFS4FileSystem
マウント
/NFS4FileSystem
(ファイル内でディレクトリを指定)
MIBKA
data
MIQM
キュー・マネージャー構成データ
qm.ini
log
MIQM
キュー・マネージャー・ログ
サーバB
NFSサーバ
51
マルチ・インスタンス・キュー・マネージャー構成(手順9)
稼動状況確認
※mqmユーザーで以下を実施
dspmq -x
サーバAで実行
$ dspmq –x
QMNAME(MIAQM)
STATUS(実行中)
INSTANCE(mqhaanode) MODE(アクティブ)
INSTANCE(mqhabnode) MODE(スタンバイ)
サーバBで実行
$ dspmq -x
QMNAME(MIAQM)
STATUS(スタンバイとして実行中)
INSTANCE(mqhaanode) MODE(アクティブ)
INSTANCE(mqhabnode) MODE(スタンバイ)
52
マルチ・インスタンス・キュー・マネージャー構成(手順10)
フェール・オーバーの確認 @サーバA、B
※mqmユーザーで以下を実施
アクティブ・インスタンスのキュー・マネージャーを停止
„フェール・オーバーを手動で実施する場合、-s
オプション付で endmqm を実行
-c 、–i 、–p オプションとの併用も可能
endmqm –s QmgrName
„アクティブ・インスタンスは完全に停止する
– スタンバイ・インスタンスにはならない
„アクティブ側のキュー・マネージャー停止後、スタンバイ側が自動的にアクティブ・インスタンスとなる
サーバAで実行
$ endmqm -s MIQM
静止要求が受け入れられました。残存するすべての作業が完了したら、キュー・マネー
ジャーが停止して、スタンバイ・インスタンスへの切り替えが可能になります。
・・・・
$ dspmq -x
QMNAME(MIQM)
STATUS(別の場所で実行中)
INSTANCE(mqhabnode) MODE(アクティブ)
サーバBで実行
$ dspmq -x
QMNAME(MIQM)
STATUS(実行中)
INSTANCE(mqhabnode) MODE(アクティブ)
53
<補足>マルチ・インスタンス・キュー・マネージャー構成
停止方法
※mqmユーザーで以下を実施
フェール・オーバー以外の、キュー・マネージャーの停止方法
„アクティブ・インスタンスは通常の停止方法と同じ
endmqm QmgrName
– アクティブ・インスタンスを通常の方法で停止すると、リモートのスタンバイ・インスタンスも連動して停止する
„スタンバイ・インスタンスだけを停止する場合は、スタンバイ側で
-x オプションを指定して停止
– スタンバイ側では、-x オプションなしで停止コマンドを実行しても、スタンバイ・インスタンスは停止しない
endmqm -x QmgrName
※-c , -i , -p オプションとの併用も可能
54
<補足>チャネル接続先の切り替え
マルチ・インスタンス・キュー・マネージャーはファイルオーバー時にIPアドレスを引き継がないため、
接続するチャネルは接続先を切り替えることが必要
接続相手がMQ V7.0.1の場合、チャネルの接続先切り換え、またはクライアント再接続機能により、自動的
にフェールオーバー先キュー・マネージャーとのメッセージ送受信を再開可能
スタンバイ・インスタンス
アクティブ・インスタンス
メッセージ・チャネル、クラスター・チャネル
„前提:
キュー・マネージャーがMQ v7.0.1以上
QMGR_A
QMGR_A
„CONNAMEに両ホストのIPアドレスを設定
192.168.0.1
192.168.0.2
MQクライアント・チャネル
IPアドレスは引き継がれない
MQクライアントがMQ V7.0.1以上
アプリケーションがスレッド化されている
チャネルのSHARECNV属性は0よりも大きい(デフォルト10)
„MQSERVER環境変数、もしくは、チャネル定義テーブルにCONNAMEに両ホストのIPアドレスを設定
„MQCONNXのMQCNOオプション、もしくは、mqclient.iniで自動再接続のON/OFFを設定
„前提:
55
<補足>メッセージ・チャネル、クラスター・チャネルの接続先切り替え
チャネルは障害を検知すると、複数の接続先に接続を試行
アクティブ/スタンバイの両ホストを接続先に指定することで、フェール・オーバー時、
自動的に接続先が切り替わる
スタンバイ・インスタンス
アクティブ・インスタンス
メッセージ・チャネル
チャネルのCONNAME属性に接続先をコンマ区切りで記述
„チャネルは接続時、接続先に指定された順に接続を試行
QMGR_A
QMGR_A
host1
DEF CHL(TO.QMGR_A) ……CONNAME(host1, host2)
host2
QMGR_1
クラスター・チャネル
SDRチャネル定義:
CONNAME(host1, host2)
„CLUSSDRチャネルはCLUSRCVRのCONNAMEをもとに、 接続先に指定された順に接続を試行
CLUSRCVRチャネルのCONNAME属性に接続先をコンマ区切りで記述
DEF CHL(TO.QMGR_A) CHLTYPE(CLUSRCVR)……CONNAME(host1, host2)
メッセージチャネル/クラスター・チャネル共に、すべての
接続先への接続が失敗した場合はRETRYINGとなる
MQクラスター
スタンバイ・インスタンス
アクティブ・インスタンス
QMGR_A
QMGR_A
CLASSRCVRチャネル定義:
CONNAME(host1, host2)
host1
host2
QMGR_1
56
<補足>クライアントの自動再接続機能
クライアント・ライブラリーが障害を検知して、自動的に再接続
再接続タイムアウトを設定することが可能
同一、または異なるキュー・マネージャーへの再接続
クライアント自動再接続の設定
アクティブ・インスタンス ネットワーク・ スタンバイ・インスタンス
ストレージ
自動再接続のON/OFF(デフォルトOFF)
host1
„MQCONNXのMQCNOオプション、もしくは、mqclient.iniで設定
„設定例:
QMGR_A
QMGR_A
host2
MQクライアント
mqclient.ini
クライアント・ライブラリ
による自動再接続
CHANNELS:
DefRecon=YES
MQSERVER=TO.QMGR_A/TCP/host1, host2
接続先キュー・マネージャーの登録
„MQSERVER環境変数、もしくは、チャネル定義テーブルに接続先をカンマで区切って記述
MQSERVER=クライアント接続チャネル名/プロトコル/アドレス情報 #1,アドレス情報 #2
再接続するための条件
通信障害、キュー・マネージャー障害
endmqm –s、またはendmqm –r でキュー・マネージャーが停止した場合
„その他のオプションでのendmqm
、STOP CHANNEL 、STOP CONN は該当しない
※その他、設定の詳細については、下記資料を参照
テクニカルフラッシュ:【Information】WebSphere MQ V7.0.1 新機能情報
http://w3-06.ibm.com/jp/domino02/ise/ISEINFO.NSF/99a7d1be5103176a492563ef002002e5/
72436d17571c32154925767800311ba2?OpenDocument
57
Fly UP