6.3.4 HACMPの設定

HACMPの設定をします。

<この項の構成>
(1) サービスIPラベル/アドレスの設定(HACMP)
(2) TPBroker開始スクリプトの作成(HACMP)
(3) TPBroker停止スクリプトの作成(HACMP)
(4) TPBroker監視スクリプトの作成(HACMP)
(5) アプリケーション・サーバの設定(HACMP)
(6) リソース・グループの設定(HACMP)

(1) サービスIPラベル/アドレスの設定(HACMP)

サービスIPラベル/アドレスを設定します。設定例を次の表に示します。

表6-2 サービスIPラベル,およびサービスIPアドレスの設定例

項番項目備考
1IPラベル/アドレスnode1_svcサービスIPラベルを設定します。
2ネットワーク名net_either_01HACMP環境で,ネットワークを識別するための値を任意に設定します。

(2) TPBroker開始スクリプトの作成(HACMP)

HACMPからTPBrokerを起動するためのスクリプトを作成します。

スクリプトの設定例を次に示します。この例では,TPBroker開始スクリプト(tpbroker_start.sh)を/home/tpbroker/hacmp/binに格納し,/home/tpbroker/hacmp/logにログを出力する設定になっています。

(例)

#!/bin/ksh
## ************************************************************
## TPBroker Start Script for HACMP
## ************************************************************
 
#==============================================================
#  Execute TPBroker monitor script
#==============================================================
printf "### tpbroker_start.sh: PID:%d DATE:%s ###¥n" $$ "`date`" ¥
 >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
/home/tpbroker/hacmp/bin/tpbroker_monitor.sh &
printf "### tpbroker_start.sh: monitor-PID:%d ###¥n" $! ¥
 >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
 
exit 0

(3) TPBroker停止スクリプトの作成(HACMP)

HACMPからTPBrokerを停止するためのスクリプトを作成します。

このスクリプトでは,共有ディスクをアクセスしているプロセスを確実に停止するため,fuserコマンドで共有ディスクにアクセス中のプロセスを停止するようにしています。fuserコマンドは,共有ディスクにTPBrokerファイルシステムを使用する場合と,UNIXファイルシステムを使用する場合とで指定するオプションが異なりますので,使用する環境に合わせて指定してください。fuserコマンドについては,OSのマニュアルを参照してください。

スクリプトの設定例を次に示します。この例では,TPBroker停止スクリプト(tpbroker_stop.sh)を/home/tpbroker/hacmp/binに格納し,/home/tpbroker/hacmp/logにログを出力する設定になっています。

(例)

#!/bin/ksh
## ************************************************************
## TPBroker Stop Script
## ************************************************************
 
export TPDIR=/opt/TPBrokerV5
export TPSPOOL=/opt/TPBrokerV5/otsspool
export TPFS=/dev/rdisk0
export ADMSPOOL=/opt/TPBrokerV5/spool
export ADMFS=/dev/rdisk0
export OSAGENT_PORT=14000
export VBROKER_ADM=$TPDIR/adm
export LIBPATH=$TPDIR/lib
 
printf "### tpbroker_stop.sh: PID:%d DATE:%s ###¥n" $$ "`date`" ¥
 >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
#==============================================================
## Stop TPBroker monitor script
#==============================================================
fuser -k /home/tpbroker/hacmp/bin/tpbroker_monitor.sh ¥
 >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
#==============================================================
## Stop TPBroker
#==============================================================
printf "### tpbroker_stop.sh: TPBroker stop DATE:%s ###¥n" "`date`" ¥
 >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
$TPDIR/bin/admstop -fr >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
#==============================================================
## Kill all process accessing shared disk
#==============================================================
fuser -k /dev/rdisk0 >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
#fuser -kc /hacmp >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
exit 0

(4) TPBroker監視スクリプトの作成(HACMP)

HACMPからTPBrokerのダウンを監視し,再起動をするスクリプトを作成します。

このスクリプトはTPBroker開始スクリプトでTPBrokerが実行され,TPBroker停止スクリプトでTPBrokerが停止されるようにしています。設定例を使用する場合,fuserコマンドを使用して停止するため,リソース・グループごとにスクリプトを用意する必要があります。また,リソース・グループを停止するときには,このスクリプトにアクセスしているプロセスは停止されますので,TPBrokerの監視以外の目的でアクセスしないようにしてください。

スクリプトの設定例を次に示します。この例では,TPBroker監視スクリプト(tpbroker_monitor.sh)を/home/tpbroker/hacmp/binに格納し,/home/tpbroker/hacmp/logにログを出力する設定になっています。

(例)

#!/bin/ksh
## ************************************************************
## TPBroker Daemon Monitor Script
## ************************************************************
trap break 15
 
export TPDIR=/opt/TPBrokerV5
export TPSPOOL=/opt/TPBrokerV5/otsspool
export TPFS=/dev/rdisk0
export ADMSPOOL=/opt/TPBrokerV5/spool
export ADMFS=/dev/rdisk0
export OSAGENT_PORT=14000
export VBROKER_ADM=$TPDIR/adm
export LIBPATH=$TPDIR/lib
 
printf "### tpbroker_monitor.sh: PID:%d DATE:%s ###¥n" $$ "`date`" ¥
 >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
 
loop=true
while $loop
do
 MESSAGE=`$TPDIR/bin/admstat`
 echo $MESSAGE | grep KFCB29001-I > /dev/null
 if [ $? -eq 0 ]; then
printf "### tpbroker_monitor.sh: TPBroker start: DATE:%s ###¥n" "`date`" ¥
     >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
   $TPDIR/bin/admstart >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
 fi
 sleep 10
done

(5) アプリケーション・サーバの設定(HACMP)

TPBroker用のアプリケーション・サーバの設定をします。設定例を次の表に示します。

表6-3 アプリケーション・サーバの設定例

項番項目備考
1サーバ名tpbroker
2始動スクリプト[/home/tpbroker/hacmp/bin/tpbroker_start.sh]TPBroker開始スクリプトの絶対パス名を設定します。
詳細は次を参照してください。
(2) TPBroker開始スクリプトの作成(HACMP)
3停止スクリプト[/home/tpbroker/hacmp/bin/tpbroker_stop.sh]TPBroker停止スクリプトの絶対パス名を設定します。
詳細は次を参照してください。
(3) TPBroker停止スクリプトの作成(HACMP)

(凡例)-:説明なし


(6) リソース・グループの設定(HACMP)

TPBroker用のリソース・グループ,およびリソースの設定をします。TPBrokerでは同時にオンラインにできるのは一つの系だけです。設定例を次の表に示します。この例は,カスケード構成です。

表6-4 リソース・グループの設定の設定例

項番項目備考
1リソース・グループ名tpbroker
2参加ノードnode1 node2
3サービス IP ラベル[node1_svc]次に示す手順で設定した値と同じものを設定します。
(1) サービスIPラベル/アドレスの設定(HACMP)
4アプリケーション・サーバ[tpbroker]次に示す手順で設定した値と同じものを設定します。
(5) アプリケーション・サーバの設定(HACMP)
5ファイルシステム[/hacmp]共有ディスクのマウント先ディレクトリの絶対パス名を指定します。
共有ディスクをUNIXファイルシステムで使用する場合だけ設定します。
6ボリューム・グループ[vg00]

(凡例)-:説明なし