11.2.3 SSOクラスタシステム環境の構築(Linuxの場合)
Linuxを使用している場合に,SSOクラスタシステムの実行系および待機系のクラスタ環境を構築する方法について説明します。
なお,ここでは次に示す設定内容を例にして説明します。
-
共有ディスク:「/dev/dsk/dg01/vol1」
-
共有ディレクトリ:「/shared/sso」
-
論理IPアドレス:「133.108.120.4」
-
JP1論理ホスト名:「rhost」
-
クラスタ制御スクリプトの格納先:「$SSO_TMP」
- 〈この項の構成〉
(1) 実行系のクラスタ環境の構築
実行系のクラスタ環境の構築は,次の順序で実施します。
-
NNMiリソースグループの停止
-
共有ディスクのマウント
-
SSOクラスタ環境の設定
-
JP1認証論理ホストの設定
-
IPv6の論理IPアドレスの設定(IPv6ネットワークを監視する場合)
-
クラスタ制御スクリプトの作成
-
クラスタソフトの設定
-
NNMiリソースグループへのSSOリソースの追加
-
NNMiへの接続情報の追加
-
共有ディスクのアンマウント
次に,それぞれの内容について説明します。
(a) NNMiリソースグループの停止
NNMiのリソースグループ(Veritas Cluster Serverの場合にはクラスタソフト)を停止します。
クラスタソフトごとに,リソースグループを停止するコマンドの指定例を次に示します。
- Veritas Cluster Serverの場合
hastop -all
- HAモニタの場合
monend サーバ識別名
(b) 共有ディスクのマウント
実行系が共有ディスクをマウントしている状態であることを確認します。
クラスタソフトごとに,共有ディスク(/dev/dsk/dg01/vol1)をマウントする際の指定例を次に示します。
- Veritas Cluster Serverの場合
# vxdg import dg01 # vxvol -g dg01 start vol1 # mount -t vxfs /dev/dsk/dg01/vol1 /shared
- HAモニタの場合
# vgchange -a y /dev/dsk/dg01 # mount /dev/dsk/dg01/vol1 /shared
(c) SSOクラスタ環境の設定
クラスタ環境設定コマンド(ssoclustersetup)を実行して,実行系のSSOクラスタ環境の設定を実施します。クラスタ環境設定コマンド(ssoclustersetup)については,「6. コマンド ssoclustersetup(Linux限定)」を参照してください。
クラスタ環境設定コマンドの引数には,次の内容を指定してください。
|
引数 |
指定する値 |
|---|---|
|
第一引数 |
-construction(構築指定) |
|
第二引数 |
-primary(実行系指定) |
|
第三引数 |
共有ディスク上の共有データディレクトリ※ |
|
第四引数 |
論理IPアドレス(IPv4アドレス) |
- 注※
-
SSOのデータを格納するディレクトリはコマンドで作成してください。また,SSOのデータを格納するディレクトリの親ディレクトリがあることを確認してください。
共有ディスク上にあるディレクトリにSSOディレクトリ(/shared/sso)を作成し,論理IPアドレス(133.108.120.4)を指定して共有ディレクトリとして設定するコマンドの指定例を次に示します。
ssoclustersetup -construction -primary /shared/sso 133.108.120.4
エラーが発生した場合は,画面に出力されたメッセージを参照して問題を解決してください。問題が解決したら,コマンドを再実行してください。
(d) JP1認証論理ホストの設定
認証方式にJP1認証方式を採用し,論理ホストでJP1認証を実施する場合,クラスタ環境設定コマンド(ssoclustersetup)を実行してSSOのJP1認証論理ホストの設定を実施します。クラスタ環境設定コマンド(ssoclustersetup)については,「6. コマンド ssoclustersetup(Linux限定)」を参照してください。
クラスタ環境設定コマンドの引数には,次の内容を指定してください。
|
引数 |
指定する値 |
|---|---|
|
第一引数 |
-logicalset(JP1論理ホスト指定) |
|
第二引数 |
JP1論理ホスト名 |
JP1論理ホスト名(rhost)を設定するコマンドの指定例を次に示します。
ssoclustersetup -logicalset rhost
エラーが発生した場合は,画面に出力されたメッセージを参照して問題を解決してください。問題が解決したら,コマンドを再実行してください。
(e) IPv6の論理IPアドレスの設定(IPv6ネットワークを監視する場合)
IPv6ネットワークを監視する場合,クラスタ環境設定コマンド(ssoclustersetup)を実行して,IPv6の論理IPアドレスの設定を実施します。クラスタ環境設定コマンド(ssoclustersetup)については,「6. コマンド ssoclustersetup(Linux限定)」を参照してください。
クラスタ環境設定コマンドの引数には,次の内容を指定してください。
|
引数 |
指定する値 |
|---|---|
|
第一引数 |
-defset(動作定義ファイル設定指定) |
|
第二引数 |
論理IPアドレス(IPv6アドレス) |
IPv6の論理IPアドレス(2001:db8::7c)を設定するコマンド指定例を次に示します。
ssoclustersetup -defset 2001:db::7c
エラーが発生した場合は,画面に出力されたメッセージを参照して問題を解決してください。問題が解決したら,コマンドを再実行してください。
(f) クラスタ制御スクリプトの作成
SSOが提供するクラスタ制御スクリプトのサンプルデータを基に,クラスタ制御スクリプトを作成します。
クラスタ制御スクリプトの作成手順を次に説明します。
-
クラスタ制御スクリプトのサンプルデータをコピーする。
任意のディレクトリにクラスタ制御スクリプトのサンプルデータをコピーします。作成したクラスタ制御スクリプトは,ローカルディスク($SSO_TMP)に保存してください。
クラスタ制御スクリプトのサンプルデータの格納先を次の表に示します。
表11‒7 クラスタ制御スクリプトのサンプルデータの格納先 項番
クラスタソフト
サンプルファイル
格納先ディレクトリ
1
Veritas Cluster Server
sso_vcs.sh
$SSO_SAMPLE/ha
2
HAモニタ
sso_hamon.sh
Veritas Cluster Serverのサンプルファイルを,クラスタ制御スクリプトの格納先「$SSO_TMP」に保存した場合の指定例を次に示します。
# cp -p $SSO_SAMPLE/ha/sso_vcs.sh $SSO_TMP/sso_vcs.sh # chmod 744 $SSO_TMP/sso_vcs.sh
-
クラスタ制御スクリプトをカスタマイズする。
クラスタ制御スクリプトのキーをカスタマイズします。カスタマイズするキー名および設定例を,クラスタソフトごとに次の表に示します。
- Veritas Cluster Serverの場合
-
表11‒8 Veritas Cluster Serverでカスタマイズできるキー名および設定例 項番
キー名
デフォルト値
説明
1
MUSTRUN
ssospmd
SSOの監視プロセス名を設定します。
デフォルトでは,ssospmdデーモンプロセスだけを監視対象とします。ssospmdデーモンプロセス以外を監視対象にする場合は,監視プロセス名を半角スペース区切りで指定してください。
なお,このキーで,ssospmdデーモンプロセスを省略することはできません。変更する場合は,追記する形で編集してください。
(例)
MUSTRUN="ssospmd ssoapmon ssocolmng ssorptd"
SSOのプロセス停止を契機にフェールオーバーしない場合は,表11-10に示す「Critical」キーを0にしてください。
2
TERM_RETRY_COUNT
5(回)
オフラインに切り替わる際,SSOの停止処理(ssostop)をリトライする回数を設定します。
3
TERM_RETRY_INTERVAL
30(秒)
オフラインに切り替わる際,SSOの停止処理(ssostop)のリトライ間隔を設定します。
SSOの状態によっては,停止処理(ssostop)が失敗する場合があります。このため,SSOを正常終了させるために,SSOの停止処理をリトライさせてください。
- HAモニタの場合
-
表11‒9 HAモニタでカスタマイズできるキー名および設定例 項番
キー名
デフォルト値
説明
1
MUSTRUN
−
SSOの監視プロセス名を設定します。
デフォルトは空指定で,SSOのプロセスを監視対象としないで,NNMiのフェールオーバーを契機に切り替えが実施されます。
SSOのプロセスを契機としてフェールオーバーをする場合,監視プロセス名を半角スペース区切りで次のように指定します。
(例)
MUSTRUN="ssospmd ssoapmon ssocolmng ssorptd"
2
TERM_RETRY_COUNT
5(回)
オフラインに切り替わる際,SSOの停止処理(ssostop)をリトライする回数を設定します。
3
TERM_RETRY_INTERVAL
30(秒)
オフラインに切り替わる際,SSOの停止処理(ssostop)のリトライ間隔を設定します。
- (凡例)
-
−:なし
SSOの状態によっては,停止処理(ssostop)が失敗する場合があります。このため,SSOを正常終了させるために,SSOの停止処理をリトライさせてください。
SSOの全プロセスを監視する場合の設定例(太字部分)を次に示します。
# ********************************************************************** # custom env # ********************************************************************** MUSTRUN="ssospmd ssoapmon ssocollectd ssocolmng ssorptd ssoconsoled" TERM_RETRY_COUNT=5 TERM_RETRY_INTERVAL=30
(g) クラスタソフトの設定
クラスタソフトごとに,クラスタソフトの設定方法を次に示します。
Veritas Cluster Serverの場合
-
VCS設定ファイルの編集
VCS設定ファイル(/etc/VRTSvcs/conf/config/main.cf)を編集し,NNMiのクラスタリソースグループにSSOのリソース設定を追加します。
-
アプリケーション定義の追加
SSOの起動,停止,および監視をするアプリケーションとして,クラスタ制御スクリプトを追加,設定します。
次の表に,VCS設定ファイルに設定する項目を示します。
表11‒10 VCS設定ファイルに設定する項目 項番
指定個所
意味
設定例
1
Application
任意のアプリケーション名を指定します。
jp1cm2sso
2
StartProgram
「(f) クラスタ制御スクリプトの作成」で作成したクラスタ制御スクリプトの起動処理用コマンドライン
−
3
StopProgram
「(f) クラスタ制御スクリプトの作成」で作成したクラスタ制御スクリプトの停止処理用コマンドライン
−
4
CleanProgram
「(f) クラスタ制御スクリプトの作成」で作成したクラスタ制御スクリプトの強制停止処理用コマンドライン
−
5
MonitorProgram
「(f) クラスタ制御スクリプトの作成」で作成したクラスタ制御スクリプトの監視処理用コマンドライン
−
6
OfflineTimeout※
終了処理のタイムアウト時間(秒)
1500
7
CleanTimeout※
エラー発生時のタイムアウト時間(秒)
1500
8
CloseTimeout※
フェールオーバーおよびフェールバック発生時のタイムアウト時間(秒)
1500
9
Critical
クラスタ制御スクリプトの設定キー(MUSTRUN)を契機に,フェールオーバーを発生させるかどうかを指定します。
-
0
フェールオーバーを発生させない
-
1
フェールオーバーを発生させる
0
- (凡例)
-
−:なし
- 注※
-
このキーの値は,次の計算式で算出してください。
タイムアウト時間≧a+b+c+d+TERM_RETRY_COUNT×TERM_RETRY_INTERVAL+120
a:ssocollectdの起動停止監視タイムアウト時間
b:ssoapmonの起動停止監視タイムアウト時間
c:ssorptdの起動停止監視タイムアウト時間
d:ssoconsoledの起動停止監視タイムアウト時間
起動停止監視タイムアウト時間の詳細は,「7.3.24 SSO起動定義ファイル(ssostartup.conf)」を参照してください。
-
Applicationエージェントの設定例(太字部分)を次に示します。
group jp1cm2nnmi ( Application jp1cm2nnmi( ・・・ ) Application jp1cm2sso ( StartProgram = "$SSO_TMP/sso_vcs.sh -r" StopProgram = "$SSO_TMP/sso_vcs.sh -h" CleanProgram = "$SSO_TMP/sso_vcs.sh -h" MonitorProgram = "$SSO_TMP/sso_vcs.sh -m" Critical = 0 OfflineTimeout = 1500 CleanTimeout = 1500 CloseTimeout = 1500 )-
リソースの依存関係の追加
SSOサービスが,NNMiサービスに依存する設定を実施します。次の形式で設定してください。
SSOアプリケーション名 requires NNMiアプリケーション名
リソースの依存関係の設定例(太字部分)を次に示します。
group jp1cm2nnmi ( Application jp1cm2nnmi( ・・・ ) Application jp1cm2sso( ・・・ ) jp1cm2sso requires jp1cm2nnmi -
HAモニタの場合
NNMiのクラスタ構築時に作成したスクリプト(/var/opt/OV/hacluster/グループ名/cm2_*.sh)に対して,クラスタ制御スクリプトを設定します。
起動および監視スクリプトに登録する場合は,NNMiのコマンド処理のあとに追加設定します。また,停止スクリプトに登録する場合は,NNMiのコマンド処理の前に追加設定します。
起動スクリプトの設定例(太字部分)を次に示します。
#!/bin/ksh
RESOURCE_GROUP=jp1cm2nnmi
#start JP1/Cm2/NNMi
logger -i -t NNMi "NNMi start"
/opt/OV/misc/nnm/ha/nnmharg.ovpl NNM -start ${RESOURCE_GROUP}
RC=$?
logger -i -t NNMi "NNMi start rc=$RC ."
if [ $RC -ne 0 ];then
exit $RC
fi
#start JP1/Cm2/SSO
logger -i -t SSO "SSO start"
$SSO_TMP/sso_hamon.sh -r
RC=$?
logger -i -t SSO "SSO start rc=$RC ."
if [ $RC -ne 0 ];then
exit $RC
fi
exit停止スクリプトの設定例(太字部分)を次に示します。
#!/bin/ksh
RESOURCE_GROUP=jp1cm2nnmi
#stop JP1/Cm2/SSO
logger -i -t SSO "SSO stop "
$SSO_TMP/sso_hamon.sh -h
RC=$?
logger -i -t SSO "SSO stop rc=$RC"
if [ $RC -ne 0 ];then
exit $RC
fi
#stop JP1/Cm2/NNMi
logger -i -t NNMi "NNMi stop "
/opt/OV/misc/nnm/ha/nnmharg.ovpl NNM -stop ${RESOURCE_GROUP}
RC=$?
logger -i -t NNMi "NNMi stop rc=$RC"
if [ $RC -ne 0 ];then
exit $RC
fi
exit 0監視スクリプトの設定例(太字部分)を次に示します。
#!/bin/ksh
RESOURCE_GROUP=jp1cm2nnmi
MONITOR_INTERVAL=60
# main
while true
do
#monitor JP1/Cm2/NNMi
/opt/OV/misc/nnm/ha/nnmharg.ovpl NNM -monitor ${RESOURCE_GROUP}
RC=$?
if [ $RC -ne 0 ];then
logger -i -t NNMi "NNMi monitor rc=$RC ."
exit $RC
fi
#monitor JP1/Cm2/SSO
$SSO_TMP/sso_hamon.sh -m
RC=$?
if [ $RC -ne 0 ];then
logger -i -t SSO "SSO monitor rc=$RC ."
exit $RC
fi
sleep $MONITOR_INTERVAL
done
exit 0(h) NNMiリソースグループへのSSOリソースの追加
クラスタソフトごとに,リソースグループへの登録方法を次に示します。
- Veritas Cluster Serverの場合
-
次のコマンドを実行し,VCS設定ファイルの構文チェックを実施します。
hacf -verify VCS設定ファイル格納ディレクトリパス名
- HAモニタの場合
-
HAモニタの場合,該当する作業はありません。
(i) NNMiへの接続情報の追加
ssonnmsetupコマンドを実行して,NNMiへの接続情報を追加します。ssonnmsetupコマンドについては,「6. コマンド ssonnmsetup」を参照してください。
(j) 共有ディスクのアンマウント
「(b) 共有ディスクのマウント」でマウントした共有ディスクをアンマウントします。
クラスタソフトごとに,共有ディスクをアンマウントする際の指定例を次に示します。
- Veritas Cluster Serverの場合
# umount /shared # vxdg deport dg01
- HAモニタの場合
# umount /shared # vgchange -a n /dev/dsk/dg01
(2) 待機系のクラスタ環境の構築
待機系のクラスタ環境の構築は,次の順序で実施します。
-
SSOクラスタ環境の設定
-
クラスタ制御スクリプトの作成
-
クラスタソフトの設定
次に,それぞれの内容について説明します。
(a) SSOクラスタ環境の設定
クラスタ環境設定コマンド(ssoclustersetup)を実行して,待機系のSSOクラスタ環境の設定を実施します。クラスタ環境設定コマンド(ssoclustersetup)については,「6. コマンド ssoclustersetup(Linux限定)」を参照してください。
クラスタ環境設定コマンドの引数には,次の内容を指定してください。
|
引数 |
指定する値 |
|---|---|
|
第一引数 |
-construction(構築指定) |
|
第二引数 |
-secondary(実行系指定) |
|
第三引数 |
共有ディスク上の共有データディレクトリ |
コマンドの指定例を次に示します。
ssoclustersetup -construction -secondary /shared/sso
エラーが発生した場合は,画面に出力されたメッセージを参照して問題を解決してください。問題が解決したら,コマンドを再実行してください。
(b) クラスタ制御スクリプトの作成
「(1)(f) クラスタ制御スクリプトの作成」を参照して,クラスタ制御スクリプトをコピーし,カスタマイズを実施します。スクリプトの内容,および保存先のパスは,実行系と同じ内容になるようにしてください。
(c) クラスタソフトの設定
「(1)(g) クラスタソフトの設定」を参照して,クラスタソフトの設定を実施します。
なお,待機系で実施するクラスタソフトの設定内容は,実行系と同じであることが前提となります。
以上の設定が完了すると,NNMiリソースグループが起動できるようになります。
次のコマンドを実行して,実行系でリソースグループ(Veritas Cluster Serverの場合にはクラスタソフト)を起動します。コマンドの詳細については,クラスタソフトのマニュアルを参照してください。
Veritas Cluster Serverの場合
-
クラスタソフトを起動します。
# hastart
-
NNMiのリソースグループが起動していない場合,次のコマンドを実行すると実行系でリソースグループを起動します。
# hagrp -online NNMiリソースグループ名 -sys 実行系ホスト名
HAモニタの場合
# monbegin NNMiリソースグループ名