WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1....

21
WebSphere MQ + CLUSTERPRO - 検証報告書 - 2003 年 11 月 21 日版 ターボリナックス株式会社

Transcript of WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1....

Page 1: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

WebSphere MQ + CLUSTERPRO

- 検証報告書 -

2003 年 11 月 21 日版

ターボリナックス株式会社

Page 2: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

目次

目次

1. 概要..................................................................................................................................................................3

2. 対象システム.................................................................................................................................................42.1. ハードウェア構成........................................................................................................................................................42.2. ソフトウェア構成......................................................... ...................................... ...................................... ....................6

3. インストール....................................................................................................................................................73.1. OS...................................................................................................................................................................................73.2. FAStT デバイスドライバ (qla2300.o)....................................................................................................................83.3. Turbolinux 8 CLUSTERPRO SE.................................................................................................................................93.4. WebSphere MQ..........................................................................................................................................................9

3.4.1. MQ インストール事前準備..............................................................................................................................93.4.2. MQ のインストール.........................................................................................................................................14

4. ソフトウェアの設定....................................................................................................................................154.1. 準備.............................................................................................................................................................................154.2. WebSphere MQ........................................................................................................................................................15

4.2.1. キュー・マネージャーの構成..........................................................................................................................154.3. Turbolinux 8 CLUSTERPRO SE..............................................................................................................................16

4.3.1. クラスタの設定...............................................................................................................................................164.3.1.1. フェイルオーバグループの設定.........................................................................................................164.3.1.2. スクリプト................................................................................................................................................. 17

5. クラスタ構成の検証..................................................................................................................................205.1. 検証項目....................................................................................................................................................................205.2. 検証内容....................................................................................................................................................................20

6. 付録................................................................................................................................................................216.1. キュー・マネージャーの削除...................................................................................................................................21

Page 3: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 1. 概要

1. 概要

この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO SE によるクラスタ上に作成し、クラスタの動作検証を行った際の手順を記載するものである。

作業場所作業場所

郵便番号 : 103-8510

住所 : 東京都中央区日本橋 19-21

御担当者名 : IBM Linux コンピテンシー・センター

連絡先 :

作業日 : 2003 年 11 月 4 日、 5 日

作業者作業者

会社名 : 日本アイ・ビー・エム株式会社ターボリナックス株式会社

この文章は WebSphere MQ を CLUSTERPRO によりクラスタ化するための設定例を示すことにより、システムインテグレーショ

ン時の留意事項をまとめたものであり、MQ や CLUSTERPRO の動作保証をするものではありません。

Page 3

Page 4: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 2. 対象システム

2. 対象システム

2.1. ハードウェア構成

対象システムのハードウェア構成

項目項目 内容内容

メーカー名 日本 IBM

製品名 Xseries 440 8687-4RX

プロセッサ

CPU Intel Xeon 1.60GHz x 4

チップセット IBM XA-32

メモリ 4GB

ストレージ(内臓)

コントローラ ServeRAID-4Mx

SCSI ディスク Ultra160 36.4GB(10krpm) × 2(RAID1)

HBA FAStT FC2-133 ホスト・バス・アダプター + FC ケーブル

グラフィクス S3 Savage4 LT

ネットワークカード Broadcom Vigil B5700 1000Base-T (bcm5700)

ストレージ(外付) FAStT600 ストレージ・サーバ

コントローラ Dual active 2GB RAID コントローラ

ディスク 36GB

Page 4

Page 5: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 2. 対象システム

クラスタサーバのハードウェア構成

Page 5

Page 6: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 2. 対象システム

2.2. ソフトウェア構成

クラスタサーバのソフトウェア構成

Page 6

Page 7: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 3. インストール

3. インストール

各ソフトウェアのインストールについて記載する。

3.1. OS

各サーバに次の OS 製品をインストール。

製品名製品名

Turbolinux Enterprise Server 8 powered by UnitedLinux ( SP2a 適用 Kernel 2.4.19-304 )

なお、インストール時に、インストールステップで表示される「インストールの設定」 画面で、「ソフトウェア」を選択して「詳細な選択(D)」をクリックし、[C/C++ Compiler コンパイラーとツール] を選択してインストール。

Turbolinux Enterprise Server 8 のインストールに関する詳細は、以下の URL 内 インストール手順書を参照。

URL : http://www.turbolinux.co.jp/products/cluster/cpro8/trial.html●評価版ご利用時のご参考資料 「Turbolinux Enterprise Server 8 簡易インストール手順書」

ネットワークの設定

クラスタサーバ1

項目項目 内容内容

インターフェース - eth0 パブリック LAN

IP アドレス 10.7.11.10

ネットワーク 10.7.0.0 / 255.255.0.0

インターフェース - eth1 インターコネクト

IP アドレス 192.168.1.1

ネットワーク 192.168.1.0 / 255.255.255.0

ホスト名 X440-1

クラスタサーバ2

項目項目 内容内容

インターフェース - eth0 パブリック LAN

IP アドレス 10.7.11.11

ネットワーク 10.7.0.0 / 255.255.0.0

インターフェース - eth1 インターコネクト

IP アドレス 192.168.1.2

ネットワーク 192.168.1.0 / 255.255.255.0

ホスト名 X440-2

OS インストール後に Service Pack 2 をインストール。

# mount /media/cdrom ; cd /media/cdrom # ./install_update_rpms.sh

Page 7

Page 8: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 3. インストール

3.2. FAStT デバイスドライバ (qla2300.o)

FAStT デバイスドライバを下記の URL よりダウンロードしインストールする。

http://www−6.ibm.com/jp/domino05/pc/download/download.nsf/DownloadSearchView/CC172E7816752E8C49256D9F0030DDB8

ソフト名 FAStT ホスト・アダプター非フェイル・オーバー・デバイス・ドライバー

バージョン 6.06.00 (Linux)

ダウンロード・ファイル 25k9277.tgz

リリース日 9 月 11 日

ドライバのインストール

ドライバの作成

・ ドライバのバックアップ

# cd /lib/modules/2.4.19-64GB-SMP/kernel/drivers/scsi# cp qla2300.o qla2300.o.orig

・ カーネルソースのディレクトリに移動# cd /usr/src/linux# make cloneconfig# make dep

・ ドライバのコンパイル# tar xvfz 25k9277.tgz# cd i2x00-v6.06.00# ./drvsetup# ./libinstall

# cd i2x00-v6.06.00# make all SMP=1 OSVER=linux (SMP)

モジュールの指定

/etc/sysconfig/kernel に qla2300.o の記述を追加

<追加例>INITRD_MODULES=”aic7xxx ext3 qla2300”

ドライバの確認

# insmod ./qla2300.o# less /proc/scsi/qla2300/n ← n はスロット数により変わる

ドライバのロード

# cp qla2300.0 /lib/modules/2.4.19-64GB-SMP/kernel/drivers/scsi/# mk_initrd

カーネルパラメータの変更

/boot/grub/menu.lst に ”max_scsi_luns=128” を追加

Page 8

Page 9: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 3. インストール

3.3. Turbolinux 8 CLUSTERPRO SE

各サーバに次の Turbolinux 8 CLUSTERPRO SE (パッケージ:clusterpro-2.1-1.3) をインストール。

トレッキングツールでクラスタ情報を生成。CLUSTERPRO 用 fstab は以下のとおり。

/etc/clusterpro/fstab

NP ###NEC_NP1 /dev/sdb1 SW sdb2 /dev/sdb2 /MQHA ext3 rw

WD ###NEC_NP1 /dev/sdb1 WD sdb2 /dev/sdb2 :fsckopt -y :mnttimeout 300

Turbolinux 8 CLUSTERPRO SE のインストール / 設定に関する詳細は、以下の URL 内 簡易設定手順書を参照。

URL : http://www.turbolinux.co.jp/products/cluster/cpro8/trial.html●評価版ご利用時のご参考資料 「Turbolinux 8 CLUSTERPRO SE トライアル版簡易設定手順書」

3.4. WebSphere MQ

各サーバに次の MQ をインストール。

製品名製品名

WebSphere MQ for Linux V5.3

3.4.1. MQ インストール事前準備

クラスタを構成する各サーバで、MQ用のユーザとグループを作成する。この時、両ノードでグループ「mqm」 と ユーザ 「mqm」 に関する GID、UID を合わせる必要がある。

ユーザ名 mqm

グループ名 mqm

< 作成例 GID=500 UID=501> # groupadd -g 500 mqm # useradd -m -u 501 -g mqm mqm

クラスタで使用する MQ 用スクリプトを、以下のパスにコピーする。

スクリプト ディレクトリパス /home/mqm/bin         MQ 用スクリプト

スタート・スクリプト hamqm_start_su

モニタリング・スクリプト hamqm_applmon_su

ストップ・スクリプト hamqm_stop_su

リスナー / チャネル開始・スクリプト rc.local本スクリプトは hamqm_start_su スクリプトから呼び出されます。キュー・マネージャー開始後に必要な処理を記述してください。

リスナー終了・スクリプト rc.local2本スクリプトは hamqm_stop_su スクリプトから呼び出されます。キュー・マネージャー終了後に必要な処理を記述してください。

スクリプトのコピー後、全ての MQ 用スクリプトに実行パーミッションを設定する。

※このスクリプトは root ユーザで実行する。

Page 9

Page 10: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 3. インストール

○スクリプト   本検証で使用した MQ 用スクリプトは以下の通り。  ※本スクリプトは検証用に作成したものであり、実運用で使用する場合はシステムに合わせて修正を行う必要があります。 

hamqm_start_su

#!/bin/bash# PLEASE NOTE - This script is supplied "AS IS" with no# warranty or liability. It is not part of# any product. Please ensure that you read# and understand it before you run it. Make# sure that by running it you will not# overwrite or delete any important data.## DESCRIPTION:# hamqm_start_su <qm-name>## This script should do whatever it can to start the QM (name# passed as arg).

# Only argument is the queue manager name. Save it as QM variableQM=$1

if [ -z "$QM" ]then echo "hamqm_start_su: ERROR! No queue manager name supplied" exit 1fi

# Check that the QM doesn't already think it's running

# The regular expression in the next line contains a tab character# Edit only with tab-friendly editors.srchstr="( |-m)$QM[ ]*.*$"for process in amqpcsea amqhasmx amqharmx amqzllp0 \ amqzlaa0 runmqchi amqrrmfa amqzxma0do ps -ef | grep $process | grep -v grep | \ egrep "$srchstr" | awk '{print $2}'| \ xargs kill -9 >/dev/null 2>&1done

# Should now be safe to start the QMsu mqm -c "strmqm ${QM} > /dev/null 2>&1"

rc=$?## Fire post-online script if good return from strmqm.if [ $rc -eq 0 ]then # Launch post-online script in background. # if [ -x /home/mqm/bin/rc.local ] then echo "hamqm_start: launch post_online script for ${QM}" /home/mqm/bin/rc.local ${QM} & fifi

exit $rc

Page 10

Page 11: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 3. インストール

hamqm_stop_su

#!/bin/bash# PLEASE NOTE - This script is supplied "AS IS" with no# warranty or liability. It is not part of# any product. Please ensure that you read# and understand it before you run it. Make# sure that by running it you will not# overwrite or delete any important data.## DESCRIPTION:# hamqm_stop_su <qmname>## Stops the QM.# The endmqm is issued synchronously and this script blocks until it# has completed.#QM=$1TIMEOUT=10exit_flg=0srchstr="( |-m)$QM[ ]*.*$"

if [ -z "$QM" ]then echo "hamqm_stop: ERROR! No queue manager name supplied" exit 1fi

echo "hamqm_stop_su is running: \"$QM\""

su - mqm -c "endmqm -i ${QM} >/dev/null 2>&1"

SECONDS=0while [ $exit_flg -eq 0 ]do for process in amqpcsea amqhasmx amqharmx amqzllp0 \ amqzlaa0 runmqchi amqrrmfa amqzxma0 do proc_count=`ps -ef | grep $process | grep -v grep | \ egrep "$srchstr" | wc -l`

if [ $proc_count -eq 0 ] then exit_flg=1 else exit_flg=0 break fi done

if [ $exit_flg -eq 1 ] then break fi

if [ $SECONDS -gt $TIMEOUT ] then echo "kill processes!" for process in amqpcsea amqhasmx amqharmx amqzllp0 \ amqzlaa0 runmqchi amqrrmfa amqzxma0 do ps -ef | grep $process | grep -v grep | \ egrep "$srchstr" | awk '{print $2}'| \ xargs kill -9 >/dev/null 2>&1 done break fi sleep 1done

# Invoke Post-Offline user exit, if one existsif [ -x /home/mqm/bin/rc.local2 ]then

Page 11

Page 12: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 3. インストール

echo "hamqm_stop_su: launch post-offline script for ${QM}" /home/mqm/bin/rc.local2 ${QM} # Exit code from post_offline script is deliberately ignoredfi

hamqm_applimon_su

#!/bin/bash## PLEASE NOTE - This script is supplied "AS IS" with no# warranty or liability. It is not part of# any product. Please ensure that you read# and understand it before you run it. Make# sure that by running it you will not# overwrite or delete any important data.## DESCRIPTION:# hamqm_applmon_su <qmname># This is the application monitor script.## This script tests the operation of the QM, by performing a ping.## Exit codes:# 0 => Either QM is starting or QM is running and responds.# Either is OK.# >0 => QM is not responding and not starting.# Exit code is result of runmqsc command.

QM=$1TIMEOUT=10

while :do # Test the operation of the QM. echo "ping qmgr" | su - mqm -c "runmqsc ${QM}" > /dev/null 2>&1 pingresult=$? # pingresult will be 0 on success; non-zero on error (man runmqsc) echo "pingresult is $pingresult" if [ $pingresult -eq 0 ] then # ping succeeded

echo "hamqm_applmon: Queue Manager ${QM} is responsive" result=0

else # ping failed

# Don't condemn the QM immediately, it may be in startup. # The following regexp includes a space and a tab, so use tab-friendly # editors. srchstr=" $QM[ ]*$" cnt=`ps -ef | grep strmqm | grep "$srchstr" | grep -v grep \ | awk '{print $2}' | wc -l` if [ $cnt -gt 0 ] then # It appears that QM is still starting up, tolerate echo "hamqm_applmon_su: Queue Manager ${QM} is starting" result=0 else # There is no sign of QM start process echo "hamqm_applmon_su: Queue Manager ${QM} is not responsive" result=$pingresult exit ${result} fi fisleep ${TIMEOUT}done

Page 12

Page 13: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 3. インストール

rc.local

#!/bin/bashQM_NAME=$1QM_PORT="1414"TRP_TYPE="tcp"MQ_CHANNEL="QM1.TO.QM2"CMDNAME="`basename $0`"su - mqm -c "runmqlsr -m $QM_NAME -t $TRP_TYPE -p $QM_PORT > /dev/null 2>&1 &"su - mqm -c "runmqchl -c ${MQ_CHANNEL} -m ${QM_NAME} >/dev/null 2>&1 &"exit 0

rc.local2

#!/bin/bashQM_NAME=$1

su - mqm -c "endmqlsr -m ${QM_NAME}" >/dev/null 2>&1

ps -fwu mqm | grep ${QM_NAME} >/dev/null 2>&1ret=$? # ret is true(=0), if ${QM_NAME} is found.while [ $ret -eq 0 ]; do sleep 1 ps -fwu mqm | grep ${QM_NAME} >/dev/null 2>&1 ret=$?done

Page 13

Page 14: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 3. インストール

3.4.2. MQ のインストール

各サーバに WebSphere MQ for Linux V5.3 をインストール。

mqlicense.sh を実行し、ライセンスに同意する。

以下のコンポーネントを rpm コマンドでインストールする。

rpm パッケージ MQSeriesRuntime-5.3.0-2.i386.rpmMQSeriesSDK-5.3.0-2.i386.rpmMQSeriesServer-5.3.0-2.i386.rpmMQSeriesMsg_ja-5.3.0-2.i386.rpmMQSeriesSamples-5.3.0-2.i386.rpm

CSD5 (U487853) を適用する。

setmqcap で購入ライセンスを設定する。

Page 14

Page 15: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 4. ソフトウェアの設定

4. ソフトウェアの設定

各サーバで稼動するソフトウェアの設定について記載する。

4.1. 準備

共有ディスクにクラスタ用のパーティションを作成する。ここでは、FAStT600 の設定および接続が完了しているものとする。

fdisk コマンドを実行し、CLUSTER パーティションおよびMQ 用パーティションを作成する。

# fdisk /dev/sdb

CLUSTER パーティション /dev/sdb1 10MB

MQ 用切替パーティション /dev/sdb2 10GB

4.2. WebSphere MQ

4.2.1. キュー・マネージャーの構成

キュー・マネージャーを構成し、共有ディスクにデータを移動する。本テストでは、MQ のパラメータは全てデフォルトのまま使用する。

今回使用したキュー・マネージャー名は以下のとおり。

キュー・マネージャー名 QM1 片方のサーバで以下の手順を実行する。(root ユーザで実行)

共有ディスクを /MQHA にマウントする。

# mkdir /MQHA# mount /dev/sdb2 /MQHA

共有ディスクに以下のディレクトリを作成する。ディレクトリ作成後、パーミッションを適切な値に変更する。

# mkdir -p /MQHA/QM1/data# mkdir -p /MQHA/QM1/log

キュー・マネージャーのデータファイル、ログの場所を環境変数に設定する。

# export MQHAFSDATA=/MQHA/QM1/data# export MQHAFSLOG=/MQHA/QM1/log

キュー・マネージャーを作成する。

# hacrtmqm QM1

もう片方のサーバで以下の手順を実行する。(mqm ユーザで実行)

以下のスクリプトを実行する。

$ halinkmqm QM1 QM1 /MQHA/QM1/data

Page 15

Page 16: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 4. ソフトウェアの設定

4.3. Turbolinux 8 CLUSTERPRO SE

各サーバの Turbolinux 8 CLUSTERPRO SE の設定について記載する。

4.3.1. クラスタの設定

クラスタの設定内容は以下の通り。

項目項目 内容内容

スーパークラスタ名 SuperCluster

ネットワークパーティション

ディスク ###NEC_NP1

COMポート -

サブクラスタ

サブクラスタ名 SubCluster

サーバ x440-1 , x440-2

グループ MQ

4.3.1.1. フェイルオーバグループの設定

MQ フェイルオーバグループの設定内容は次の通り。

項目項目 内容内容

フェイルオーバグループ名 MQ

フェイルオーバ・ポリシー x440-1 → x440-2

リソース

仮想 IP アドレス 10.7.11.12/255.255.0.0

切替パーティション名 /dev/sdb2

切替パーティションマウントポイント名 /MQHA

切替パーティションサイズ 10GB

Page 16

Page 17: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 4. ソフトウェアの設定

4.3.1.2. スクリプト

起動・停止用スクリプトを CLUSTERPRO マネージャから編集する。※本検証では斜体文字部分を追記。

start.bat

#! /bin/sh #*************************************** #* START.BAT *

#***************************************

if [ "$ARMS_EVENT" = "START" ]then

if [ "$ARMS_DISK" = "SUCCESS" ]then

armlog "NORMAL1"armlog "Start MQ" -arm /home/mqm/bin/hamqm_start_su QM1armload MQ -M -FOV /home/mqm/bin/hamqm_applmon_su QM1 > /dev/nullif [ "$ARMS_SERVER" = "HOME" ]then

armlog "NORMAL2"else

armlog "ON_OTHER1"fi

elsearmlog "ERROR_DISK from START"

fielif [ "$ARMS_EVENT" = "RECOVER" ]then

armlog "RECOVER"elif [ "$ARMS_EVENT" = "FAILOVER" ]then

if [ "$ARMS_DISK" = "SUCCESS" ]then

armlog "FAILOVER1"armlog "Start MQ" -arm/home/mqm/bin/hamqm_start_su QM1armload MQ -M -FOV /home/mqm/bin/hamqm_applmon_su QM1 > /dev/nullif [ "$ARMS_SERVER" = "HOME" ]then

armlog "FAILOVER2"else

armlog "ON_OTHER2"fi

elsearmlog "ERROR_DISK from FAILOVER"

fielse

armlog "NO_ARM"fiarmlog "EXIT"exit 0

       

Page 17

Page 18: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 4. ソフトウェアの設定

stop.bat

#! /bin/sh#***************************************#* STOP.BAT *#***************************************

arm_rel_path() {while [ "$1" != "" ]do

armrelpath $1 > /dev/null 2>&1relret=$?

if [ "$relret" = "0" ]then

armlog "KILL NO PROCESS"elif [ "$relret" = "1" ]then

armlog "KILL SOME PROCESS"else

armlog "ARMRELPATH ERROR"fi

shiftdone

}

arm_rel_mntpoint() {mntpoint=`armlsmnt -l $ARMS_RESOURCELIST`mntret=$?

if [ "$mntret" = "0" ]then

if [ "$mntpoint" != "" ]then

arm_rel_path $mntpointelse

armlog "NO MOUNT POINT"fi

elsearmlog "ARMLSMNT ERROR"

fi}

if [ "$ARMS_EVENT" = "START" ]then

if [ "$ARMS_DISK" = "SUCCESS" ]then

armlog "NORMAL1"armlog "Stop MQ" -armarmkill MQ/home/mqm/bin/hamqm_stop_su QM1if [ "$ARMS_SERVER" = "HOME" ]then

armlog "NORMAL2"else

armlog "ON_OTHER1"fi

arm_rel_mntpointelse

armlog "ERROR_DISK from START"fi

elif [ "$ARMS_EVENT" = "FAILOVER" ]then

if [ "$ARMS_DISK" = "SUCCESS" ]then

armlog "FAILOVER1"armlog "Stop MQ" -armarmkill MQ/home/mqm/bin/hamqm_stop_su QM1if [ "$ARMS_SERVER" = "HOME" ]

Page 18

Page 19: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 4. ソフトウェアの設定

thenarmlog "FAILOVER2"

elsearmlog "ON_OTHER2"

fi

arm_rel_mntpointelse

armlog "ERROR_DISK from FAILOVER"fi

elsearmlog "NO_ARM"

fiarmlog "EXIT"exit 0

Page 19

Page 20: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 5. クラスタ構成の検証

5. クラスタ構成の検証

MQ のクラスタ構成でMQ の動作、リソースの引継ぎが正常に行われることを確認。

5.1. 検証項目

クラスターサーバ上で稼働する MQ に対して行った検証項目および、検証結果は以下の通り。

内容は 「 5.2 検証内容」 を参照。

NoNo 項目項目 結果結果

1 キュー・マネージャーのテイクオーバー OK

2 パーシステント・メッセージの引継ぎ OK

3 リスナーの停止、起動 OK

4 チャネルの確立 OK

5 テイクオーバー中に送信したメッセージの引継 OK

5.2. 検証内容

検証の内容は以下の通り。なお、メッセージは全てパーシステント・メッセージを使用。

1. キュー・マネージャーのテイクオーバー

片側のクラスタサーバでキュー・マネージャーをダウンすることにより、他方でキュー・マネージャーが起動することを確認。

2. パーシステント・メッセージの引継ぎ

キュー・マネージャーをダウンさせる前にキューに PUT した、パーシステント・メッセージが引継ぎ後のキューに存在することを確認。

3. リスナーの停止、起動

ダウンしたサーバ側でリスナーが停止し、引継先のサーバでリスナーが起動することを確認。※今回は、リスナーとして runmqlsr を使用

4. チャネルの確立

リスナーの引継ぎ後、送信チャネル、受信チャネルのステータスが "RUNNIING" 状態になることを確認。また、メッセージが送受信できることを確認。 

5. テイクオーバー中に送信したメッセージの引継

テイクオーバー中に送信したメッセージが消失しないことを確認。クラスターを構成するキュー・マネージャーに対しメッセージを送信し続けている最中にテイクオーバーを実施。送信した全てのメッセージが引継ぎ後のキュー・マネージャーのキューにPUT されていることを確認。

Page 20

Page 21: WebSphere MQ + CLUSTERPRO - Turbolinux - ターボ …CLUSTERPRO.pdfCLUSTERPRO 作業報告書 1. 概要 1. 概要 この文書は、WebSphere MQ の動作環境を Turbolinux 8 CLUSTERPRO

CLUSTERPRO 作業報告書 6. 付録

6. 付録

6.1. キュー・マネージャーの削除

提供スクリプト ( hacrtmqm ) でキュー・マネージャーを作成した場合、キュー・マネージャーの削除は以下の手順で行う。

リンクの削除

○共有ディスクの以下のリンクを削除 ・ /MQHA/QM1/data/qmgrs/QM1 以下の esem , isem , msem , ssem , shmem を削除

・ /MQHA/QM1/data/qmgrs/QM1/@ipcc 以下の esem , isem , msem , ssem , shmem を削除

○クラスタを構成する各サーバの以下のリンクを削除 ・ /var/mqm/qmgrs 以下の QM1 を削除

○クラスタを構成する各サーバの以下のディレクトリを削除 (必要に応じて) ・ /var/mqm 以下の ipc ディレクトリ を削除

ディレクトリの作成

共有ディスク上に以下のディレクトリを作成ディレクトリのオーナーは mqm : mqm 、 パーミッションは 775 に設定する

・ /MQHA/QM1/data/qmgrs/QM1 以下に esem , isem , msem , ssem , shmem を作成

・ /MQHA/QM1/data/qmgrs/QM1/@ipcc 以下に esem , isem , msem , ssem , shmem を作成

キュー・マネージャーの削除

mqm グループに属するユーザで以下のコマンドを実行する。

$ dltmqm QM1

mqs.ini ファイルの編集

dltmqm コマンドを発行したサーバではない方のサーバ上にある mqs.ini ファイルの以下のスタンザを削除

・QM1 の QueueManager スタンザ  <参考> mqs.ini ファイルは /var/mqm 以下にあります。 

Page 21