CLUSTERPRO 作業報告書

Similar documents
CLUSTERPRO for Linux PostgreSQL HowTo

CLUSTERPRO 作業報告書

NFS On CLUSTERPRO for Linux

CLUSTERPRO/システム構築ガイド

Samba on CLUSTERPRO for Linux HOWTO

DHCPサーバのクラスタ化

Sybase on CLUSTERPRO for Linux HowTo

Microsoft Word - qtsi_120246jp_rhev.doc

Samba_HowTo.doc

Microsoft Word - Win-Outlook.docx

ファイルサーバー(Samba)構築ガイド

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

はしがき 本書は CLUSTERPRO MC ProcessSaver 1.0 for Linux ( 以後 ProcessSaver と記載します ) と CLUSTERPRO X 3.1 for Linux ( 以後 CLUSTERPRO と記載します ) を組み合わせて フェイルオーバクラスタ

<MW-400k > InterSec/MW400k アップデート適用手順書 2017 年 8 月 1 版

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ

Micro Focus Enterprise Developer チュートリアル メインフレーム COBOL 開発 : MQ メッセージ連携 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red H

Microsoft Word - nvsi_090200jp_r1_nvbsvr_mscs.doc

Microsoft Word - nvsi_060132jp_datadomain_restoreDRAFT4.doc

はじめに 本書は Express5800/ft サーバに Red Hat Enterprise Linux 6 Server 及び ft Server Control Software がインストールされており OS がインストールされている内蔵ディス クに空き容量がある場合に 追加でボリュームを作

4. 環境変数の設定実行にあたり 次のように環境変数を設定する必要があります 1)SJIS ロケールの指定コマンド例 )export LANG=ja_JP.sjis 2)MQ 環境の指定コマンド例 ). /opt/mqm/bin/setmqenv s 3)COBOL 実行環境の指定コマンド例 ).

Microsoft Word - nvsi_090196_r1_vaultdr_offline_rhel_dualpath.doc

ロードバランサー配下のシボレス IdP 環境設定に関する検証実験 2009 年 12 月 22 日国立情報学研究所学術ネットワーク研究開発センター山地一禎, 中村素典

CLUSTERPRO MC StorageSaver 2.2 for Linux リリースメモ 2017(Apr) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル 補足事項 注意事項

SonicDICOM Cloud Connector インストール手順書 SonicDICOM Cloud Connector とは 検査装置が撮影した画像を自動的にクラウドへアップロー ドするためのソフトウェアです 1 前準備 クラウド上に PACS を作成する SonicDICOM Cloud

クラスタ構築手順書

Microsoft Word - nvsi_080177jp_trendmicro_bakbone.doc

SLAMD導入手順

UCS M シリーズ サーバでの Redhat/CentOS オペレーティング システムのインストール

BMR for NVBU NIC bnx2.ko SVR/CLNT 上での SCSI megaraid_sas.ko 自動認識デバイス Partition 構成 (RHEL6.0 uefi/lvm 構成の場合 ) Partition1 /boot/efi EFI 200MB Partition2 /

Microsoft PowerPoint - 【3.TSA & UDB + HADR編】 Linux on zSeries 環境における DB2 クラスター機能検証報告書.ppt

Microsoft Word - nvsi_100222jp_oracle_exadata.doc

ドライバインストールガイド

2. インストールの方法 インストールの手順は まずインストーラーをサイトからダウンロードし イールドブック カリキュレーターと Java Web Start をインストールします 次にイールドブック カリキュレーターを起動してサーバー接続し Java のファイルをダウンロードします 以下の手順に従

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

PRIMERGY TX100 S3 未サポートOS動作検証確認情報

fx-9860G Manager PLUS_J

CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定

目次 本書の取り扱いについて... 3 事前準備... 4 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のディスク領域を使う場合の起動方法 )... 5 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のメデ

CLUSTERPRO MC StorageSaver istorage M シリーズ使用時の設定手順 (HP-UX 版 Linux 版 Windows 版 ) 2013(Apr) NEC Corporation istorage M シリーズを使用する場合の StorageSaver 設定手順 (H

syspro-0405.ppt

CM-3G 周辺モジュール拡張技術文書 INA226センサ(電流、電圧、電力)

CLUSTERPRO MC ProcessSaver 1.0 for Windows 構築ガイド 2012(Sep) NEC Corporation はじめに責任範囲適用範囲概要事前準備クラスタ設定

IPM Release 2.6 へのアップグ レード

PRIMERGY TX100 S3 未サポートOS動作検証確認情報

改版履歴 Ver. 日付履歴初版 2014/7/10 - 目次 1. はじめに クラスター構築の流れ Windows Server Failover Cluster をインストールするための準備 OS のセットアップ時の注意... -

Microsoft Word - K5VSSP32-install.docx

Windows Server 2003 Service Pack 適用手順書

CLUSTERPRO MC ProcessSaver 2.1 for Linux リリースメモ 2016(Mar) NEC Corporation ライセンス パッケージのインスト ル セットアップ マニュアル 障害発生時の手順 補足事項 注意事項

PRIMERGY RX300 S6 SAS コントローラカード <RAID 5> フリーOS 動作確認情報

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 7編)

OSSTechドキュメント

ServerView RAID Manager VMware vSphere ESXi 6 インストールガイド

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 6編)

PIXUS MP510 PIXUS MP600 (2011 年 10 月現在 ) オールインワンで印刷機能をご利用いただくには プリンタドライバのインストールおよび設定が必要です Turbolinux Client 2008 プリンタスキャナドライバダウンロードサイトを参照ください

Microsoft Word - nvsi_040063jp_hpsglx.doc

ActiveImage Protector 2016 R2 for Express5800 / ftサーバ

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

アップデート手順概要

LEAP を使用して Cisco ワイヤレス クライアントを認証するための Funk RADIUS の設定

富士通PRIMERGYサーバ/ETERNUSストレージとXsigo VP560/VP780の接続検証

製品組み込み手順書 Oracle Tuxedo (Linux版)  

ftServerでのログの取得方法の概要

目次 1 環境 バージョン インストール環境 インストール手順 前提条件 CentOS SSHD の設定 VSFTPD の設定 コンテンツ管理 CGI のイ

Transcription:

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

目次 目次 1. 概要...3 2. 対象システム...4 2.1. ハードウェア構成...4 2.2. ソフトウェア構成...6 3. インストール...7 3.1. OS...7 3.2. FAStT デバイスドライバ (qla2300.o)...8 3.3. Turbolinux 8 CLUSTERPRO SE...9 3.4. WebSphere MQ...9 3.4.1. MQ インストール事前準備...9 3.4.2. MQ のインストール...14 4. ソフトウェアの設定...15 4.1. 準備...15 4.2. WebSphere MQ...15 4.2.1. キュー マネージャーの構成...15 4.3. Turbolinux 8 CLUSTERPRO SE...16 4.3.1. クラスタの設定...16 4.3.1.1. フェイルオーバグループの設定...16 4.3.1.2. スクリプト... 17 5. クラスタ構成の検証...20 5.1. 検証項目...20 5.2. 検証内容...20 6. 付録...21 6.1. キュー マネージャーの削除...21

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

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

2. 対象システム クラスタサーバのハードウェア構成 Page 5

2. 対象システム 2.2. ソフトウェア構成 クラスタサーバのソフトウェア構成 Page 6

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

3. インストール 3.2. FAStT デバイスドライバ (qla2300.o) FAStT デバイスドライバを下記の URL よりダウンロードしインストールする http://www 6.ibm.com/jp/domino05/pc/download/download.nsf/DownloadSearchView/CC172E7816752E8C49256D 9F0030DDB8 ソフト名 ダウンロード ファイル リリース日 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 clonecong # 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/syscong/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

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

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 variable QM=$1 if [ -z "$QM" ] echo "hamqm_start_su: ERROR! No queue manager name supplied" exit 1 # 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 amqzxma0 do ps -ef grep $process grep -v grep \ egrep "$srchstr" awk '{print $2}' \ xargs kill -9 >/dev/null 2>&1 done # Should now be safe to start the QM su mqm -c "strmqm ${QM} > /dev/null 2>&1" rc=$? ## Fire post-online script if good return from strmqm. if [ $rc -eq 0 ] # Launch post-online script in background. # if [ -x /home/mqm/bin/rc.local ] echo "hamqm_start: launch post_online script for ${QM}" /home/mqm/bin/rc.local ${QM} & exit $rc Page 10

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=$1 TIMEOUT=10 exit_flg=0 srchstr="( -m)$qm[ ]*.*$" if [ -z "$QM" ] echo "hamqm_stop: ERROR! No queue manager name supplied" exit 1 echo "hamqm_stop_su is running: \"$QM\"" su - mqm -c "endmqm -i ${QM} >/dev/null 2>&1" SECONDS=0 while [ $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 ] exit_flg=1 exit_flg=0 break done if [ $exit_flg -eq 1 ] break if [ $SECONDS -gt $TIMEOUT ] 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 sleep 1 done # Invoke Post-Offline user exit, if one exists if [ -x /home/mqm/bin/rc.local2 ] Page 11

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 ignored 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=$1 TIMEOUT=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 ] # ping succeeded echo "hamqm_applmon: Queue Manager ${QM} is responsive" result=0 # 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 ] # It appears that QM is still starting up, tolerate echo "hamqm_applmon_su: Queue Manager ${QM} is starting" result=0 # There is no sign of QM start process echo "hamqm_applmon_su: Queue Manager ${QM} is not responsive" result=$pingresult exit ${result} sleep ${TIMEOUT} done Page 12

3. インストール rc.local #!/bin/bash QM_NAME=$1 QM_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/bash QM_NAME=$1 su - mqm -c "endmqlsr -m ${QM_NAME}" >/dev/null 2>&1 ps -fwu mqm grep ${QM_NAME} >/dev/null 2>&1 ret=$? # 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

3. インストール 3.4.2. MQ のインストール各サーバに WebSphere MQ for Linux V5.3 をインストール mqlicense.sh を実行し ライセンスに同意する 以下のコンポーネントを rpm コマンドでインストールする rpm パッケージ MQSeriesRuntime-5.3.0-2.i386.rpm MQSeriesSDK-5.3.0-2.i386.rpm MQSeriesServer-5.3.0-2.i386.rpm MQSeriesMsg_ja-5.3.0-2.i386.rpm MQSeriesSamples-5.3.0-2.i386.rpm CSD5 (U487853) を適用する setmqcap で購入ライセンスを設定する Page 14

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

4. ソフトウェアの設定 4.3. Turbolinux 8 CLUSTERPRO SE 各サーバの Turbolinux 8 CLUSTERPRO SE の設定について記載する 4.3.1. クラスタの設定 クラスタの設定内容は以下の通り スーパークラスタ名 項目 ネットワークパーティション ディスク COM ポート - サブクラスタ サブクラスタ名 SuperCluster ###NEC_NP1 SubCluster サーバ x440-1, x440-2 グループ MQ 内容 4.3.1.1. フェイルオーバグループの設定 MQ フェイルオーバグループの設定内容は次の通り フェイルオーバグループ名 項目 フェイルオーバ ポリシー x440-1 x440-2 リソース MQ 内容 仮想 IP アドレス 10.7.11.12/255.255.0.0 切替パーティション名 /dev/sdb2 切替パーティションマウントポイント名 /MQHA 切替パーティションサイズ 10GB Page 16

4. ソフトウェアの設定 4.3.1.2. スクリプト 起動 停止用スクリプトを CLUSTERPRO マネージャから編集する 本検証では斜体文字部分を追記 start.bat #! /bin/sh #*************************************** #* START.BAT * #*************************************** if [ "$ARMS_EVENT" = "START" ] if [ "$ARMS_DISK" = "SUCCESS" ] armlog "NORMAL1" armlog "Start MQ" -arm /home/mqm/bin/hamqm_start_su QM1 armload MQ -M -FOV /home/mqm/bin/hamqm_applmon_su QM1 > /dev/null if [ "$ARMS_SERVER" = "HOME" ] armlog "NORMAL2" armlog "ON_OTHER1" armlog "ERROR_DISK from START" elif [ "$ARMS_EVENT" = "RECOVER" ] armlog "RECOVER" elif [ "$ARMS_EVENT" = "FAILOVER" ] if [ "$ARMS_DISK" = "SUCCESS" ] armlog "FAILOVER1" armlog "Start MQ" -arm /home/mqm/bin/hamqm_start_su QM1 armload MQ -M -FOV /home/mqm/bin/hamqm_applmon_su QM1 > /dev/null if [ "$ARMS_SERVER" = "HOME" ] armlog "FAILOVER2" armlog "ON_OTHER2" armlog "ERROR_DISK from FAILOVER" armlog "NO_ARM" armlog "EXIT" exit 0 Page 17

4. ソフトウェアの設定 stop.bat #! /bin/sh #*************************************** #* STOP.BAT * #*************************************** arm_rel_path() { while [ "$1"!= "" ] do armrelpath $1 > /dev/null 2>&1 relret=$? if [ "$relret" = "0" ] armlog "KILL NO PROCESS" elif [ "$relret" = "1" ] armlog "KILL SOME PROCESS" armlog "ARMRELPATH ERROR" } done shift arm_rel_mntpoint() { mntpoint=`armlsmnt -l $ARMS_RESOURCELIST` mntret=$? } if [ "$mntret" = "0" ] if [ "$mntpoint"!= "" ] arm_rel_path $mntpoint armlog "NO MOUNT POINT" armlog "ARMLSMNT ERROR" if [ "$ARMS_EVENT" = "START" ] if [ "$ARMS_DISK" = "SUCCESS" ] armlog "NORMAL1" armlog "Stop MQ" -arm armkill MQ /home/mqm/bin/hamqm_stop_su QM1 if [ "$ARMS_SERVER" = "HOME" ] armlog "NORMAL2" armlog "ON_OTHER1" arm_rel_mntpoint armlog "ERROR_DISK from START" elif [ "$ARMS_EVENT" = "FAILOVER" ] if [ "$ARMS_DISK" = "SUCCESS" ] armlog "FAILOVER1" armlog "Stop MQ" -arm armkill MQ /home/mqm/bin/hamqm_stop_su QM1 if [ "$ARMS_SERVER" = "HOME" ] Page 18

4. ソフトウェアの設定 armlog "FAILOVER2" armlog "ON_OTHER2" arm_rel_mntpoint armlog "ERROR_DISK from FAILOVER" armlog "NO_ARM" armlog "EXIT" exit 0 Page 19

5. クラスタ構成の検証 5. クラスタ構成の検証 MQ のクラスタ構成で MQ の動作 リソースの引継ぎが正常に行われることを確認 5.1. 検証項目 クラスターサーバ上で稼働する MQ に対して行った検証項目および 検証結果は以下の通り 内容は 5.2 検証内容 を参照 No 項目 結果 1 キュー マネージャーのテイクオーバー OK 2 パーシステント メッセージの引継ぎ OK 3 リスナーの停止 起動 OK 4 チャネルの確立 OK 5 テイクオーバー中に送信したメッセージの引継 OK 5.2. 検証内容 検証の内容は以下の通り なお メッセージは全てパーシステント メッセージを使用 1. キュー マネージャーのテイクオーバー 片側のクラスタサーバでキュー マネージャーをダウンすることにより 他方でキュー マネージャーが起動することを確認 2. パーシステント メッセージの引継ぎ キュー マネージャーをダウンさせる前にキューに PUT した パーシステント メッセージが引継ぎ後のキューに存在することを確認 3. リスナーの停止 起動 ダウンしたサーバ側でリスナーが停止し 引継先のサーバでリスナーが起動することを確認 今回は リスナーとして runmqlsr を使用 4. チャネルの確立 リスナーの引継ぎ後 送信チャネル 受信チャネルのステータスが "RUNNIING" 状態になることを確認 また メッセージが送受信できることを確認 5. テイクオーバー中に送信したメッセージの引継 テイクオーバー中に送信したメッセージが消失しないことを確認 クラスターを構成するキュー マネージャーに対しメッセージを送信し続けている最中にテイクオーバーを実施 送信した全てのメッセージが引継ぎ後のキュー マネージャーのキューに PUT されていることを確認 Page 20

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