18.4.4 HAモニタの環境設定
プライマリノードおよびセカンダリノードのサーバマシンにインストールしたHAモニタの環境設定をしてください。HAモニタの環境設定方法については,マニュアルHAモニタ Linux(R)(x86)編のシステムの構築を参照してください。
ここでは,HAモニタの環境設定をする際に留意することについて説明します。
- メモ
-
HAモニタなしのマルチノード構成の場合,HAモニタの環境設定は必要ありません。
- 〈この項の構成〉
(1) 環境変数の設定
HADB管理者の環境変数に,次の環境変数を設定してください。
-
PATH
HAモニタのコマンドを実行するために,次のパスを追加してください。
/opt/hitachi/HAmon/bin
(2) sysdefファイルの指定
HAモニタのsysdefファイルに指定するオペランドのうち,次のオペランドについては,指定値が決まっています。
-
address
ノードのリセット優先度を指定します。指定値が小さいほど,そのノードのリセット優先度が高くなります。各ノードで異なる値を次のように指定してください。
-
プライマリノードは,リセット優先度をいちばん高くしたいため,プライマリノードの指定値をいちばん小さくしてください。
-
セカンダリノードは,セカンダリノードごとに異なる値を指定してください。リセット優先度が高いセカンダリノードほど指定値を小さくしてください。プライマリノードの切り替えの際に優先順位が高いセカンダリノードほど,リセット優先度が高いセカンダリノードにしてください。
-
-
monbegin_restart
nouseを指定します。
-
multistandby
マルチノード機能は,HAモニタのマルチスタンバイ機能を使用するため,useを指定します。
-
usrcommand
HADB用の設定を記述したユーザコマンドの絶対パスを指定します。
ユーザコマンドはひな形を基に作成してください。作成方法については,「(4) コマンド用環境変数定義およびコマンドの作成」の「(b) ユーザコマンドの作成」,およびマニュアルHAモニタ Linux(R)(x86)編のユーザコマンドの作成を参照してください。
-
termcmd_at_abort
nouseを指定します。
-
fence_reset
系のリセットを使用する場合は,このオペランドを省略するか,またはデフォルト値のuseを指定してください。
共有ディスクのSCSIリザーブを使用する場合は,nouseを指定してください。
-
fence_scsi
系のリセットを使用する場合は,このオペランドを省略するか,またはデフォルト値のnouseを指定してください。
共有ディスクのSCSIリザーブを使用する場合は,useを指定してください。
-
fence_lan
このオペランドを省略するか,またはデフォルト値のnouseを指定してください。
上記のオペランドの詳細については,マニュアルHAモニタ Linux(R)(x86)編のHAモニタの環境設定(sysdef)を参照してください。
(3) serversファイルの指定
HAモニタのserversファイルに指定するオペランドのうち,次のオペランドについては,指定値が決まっています。
-
name
サーバディレクトリの絶対パスを指定します。
ただし,nameオペランドに指定するパス名として,空白を含む文字列は指定できません。そのため,マルチノード機能を使用する場合,パス名に空白を含まないディレクトリをサーバディレクトリとすることを推奨します。
-
acttype
マルチノード機能は,HAモニタのモニタモードで動作するため,monitorを指定します。
-
termcommand
HADB用の設定を記述したサーバの停止コマンドの絶対パスを指定します。
サーバの停止コマンドはひな形を基に作成してください。作成方法については,「(4) コマンド用環境変数定義およびコマンドの作成」の「(d) サーバの停止コマンドの作成」,およびマニュアルHAモニタ Linux(R)(x86)編のサーバの停止コマンドの作成を参照してください。
-
initial
プライマリノードの場合はonlineを,セカンダリノードの場合はstandbyを指定します。
-
disk
システムディレクトリのファイルシステム,および同義語辞書ファイルを格納するファイルシステムを含むVGの絶対パスを指定します。「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」の場合は,/dev/vg_hadbおよび/dev/vg_hadb02を指定します。
同義語検索を行わない場合は,同義語辞書ファイルを格納するファイルシステムを含むVGの絶対パスを指定する必要はありません。
-
fs_name
システムディレクトリのファイルシステム,および同義語辞書ファイルを格納するファイルシステムに対応する論理ボリュームの絶対パスを指定します。「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」の場合は,/dev/vg_hadb/hadb_sysおよび/dev/vg_hadb02/hadb_syndictを指定します。
同義語検索を行わない場合は,同義語辞書ファイルを格納するファイルシステムに対応する論理ボリュームの絶対パスを指定する必要はありません。
-
fs_mount_dir
システムディレクトリのパス($DBDIR/ADBSYS),および同義語辞書ファイルを格納するファイルシステムをマウントするディレクトリのパスを指定します。
同義語辞書ファイルを格納するファイルシステムをマウントするディレクトリのパスは,プライマリノードおよびセカンダリノードで同じパスを指定してください。
同義語検索を行わない場合は,同義語辞書ファイルを格納するファイルシステムをマウントするディレクトリのパスを指定する必要はありません。
-
fs_mount_opt
システムディレクトリのファイルシステム,および同義語辞書ファイルを格納するファイルシステムをマウントするためのマウントオプションを指定します。
同義語検索を行わない場合は,同義語辞書ファイルを格納するファイルシステムをマウントするためのマウントオプションを指定する必要はありません。
-
lan_updown
LANの状態設定ファイルを使用するため,useを指定します。
LANの状態設定ファイルには,エイリアスIPアドレスの設定をしてください。詳細については,マニュアルHAモニタ Linux(R)(x86)編のLANの状態設定ファイルの設定を参照してください。
-
patrolcommand
HADB用の設定を記述したサーバの監視コマンドの絶対パスを指定します。
サーバの監視コマンドはひな形を基に作成してください。作成方法については,「(4) コマンド用環境変数定義およびコマンドの作成」の「(e) サーバの監視コマンドの作成」,およびマニュアルHAモニタ Linux(R)(x86)編のサーバの監視コマンドの作成を参照してください。
-
servexec_retry
0を指定します。
-
waitserv_exec
yesを指定します。
-
ip_neck
useを指定します。
-
uoc_neck
nouseを指定します。
-
vg_neck
useを指定します。
同義語検索を行う場合は,同義語辞書ファイルを格納するファイルシステムについてもuseを指定してください。
-
fs_neck
useを指定します。
同義語検索を行う場合は,同義語辞書ファイルを格納するファイルシステムについてもuseを指定してください。
-
actcommand
HADB用の設定を記述したサーバの起動コマンドの絶対パスを指定します。
サーバの起動コマンドはひな形を基に作成してください。作成方法については,「(4) コマンド用環境変数定義およびコマンドの作成」の「(c) サーバの起動コマンドの作成」,およびマニュアルHAモニタ Linux(R)(x86)編のサーバの起動コマンドの作成を参照してください。
-
standbypri
プライマリノードの切り替えが発生した際,新たにプライマリノードにするノードの優先順位を指定します。指定値が小さいほど,優先順位が高くなります。優先順位が高いノードほど指定値を小さくしてください。
各セカンダリノードで異なる値を指定してください。
セカンダリノードのHAモニタ(initialオペランドにstandbyを指定した場合)で,このオペランドを指定します。
-
scsi_device
このオペランドには,SCSIリザーブの対象となるデバイス名を絶対パスで指定します。
なお,系のリセットを使用する場合は,このオペランドを指定する必要はありません。
共有ディスクのSCSIリザーブを使用する場合で,かつ共有ディスクが次のどれかの条件を満たすときに,このオペランドを指定してください。
-
シングルパス構成の場合
-
VMware ESXiでの仮想化環境の場合(DMMPを使用する場合を除く)
-
マルチパスソフトウェア(HDLM)による冗長化構成の場合
このオペランドを指定する場合は,次のファイルシステムとディスクのデバイス名※を絶対パスで指定します。
-
ノード切り替え対象のファイルシステム
「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のFS001,FS002が該当します。
-
DBエリアファイル用のディスク(作業表用DBエリアのディスクを除く)
「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のLU001~LU005が該当します。
なお,同義語検索を使用しない場合は,同義語辞書ファイルを格納するファイルシステムのデバイス名を指定する必要はありません。
- 注※
-
シングルパス構成,およびVMware ESXiでの仮想化環境(DMMPを使用する場合を除く)の場合,このオペランドには,「18.2.4 ストレージ構成」の「シングルパス構成の場合のデバイス名の例」に記載されているwwn-から始まるパスではなく,マニュアルHAモニタ Linux(R)(x86)編の共有ディスクのSCSIリザーブに必要なオペランドの指定値の求め方の例のようにscsi-から始まるパスを指定してください。
- 重要
-
次のファイルシステムとディスクのデバイス名は,このオペランドに指定しないでください。
-
ノードローカルのファイルシステム
「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のLOC001~LOC003が該当します。
-
作業表用DBエリアのディスク
「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のWRK001~WRK003が該当します。
-
このオペランドを指定する場合は,マニュアルHAモニタ Linux(R)(x86)編の共有ディスクのSCSIリザーブに必要なオペランドの指定値の求め方を参照してください。
-
-
dmmp_device
このオペランドには,SCSIリザーブの対象となるデバイスをDMMPの論理デバイスの絶対パスで指定します。
なお,系のリセットを使用する場合は,このオペランドを指定する必要はありません。
共有ディスクのSCSIリザーブを使用する場合で,かつ共有ディスクがマルチパスソフトウェア(DMMP)による冗長化構成のときに,このオペランドを指定してください。
このオペランドを指定する場合は,次のファイルシステムとディスクのデバイス名を絶対パスで指定します。
-
ノード切り替え対象のファイルシステム
「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のFS001,FS002が該当します。
-
DBエリアファイル用のディスクのうち,すべてのノードから参照可能であるディスク
「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のLU001~LU005が該当します。
なお,同義語検索を使用しない場合は,同義語辞書ファイルを格納するファイルシステムのデバイス名を指定する必要はありません。
- 重要
-
次のファイルシステムとディスクのデバイス名は,このオペランドに指定しないでください。
-
ノードローカルのファイルシステム
「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のLOC001~LOC003が該当します。
-
作業表用DBエリアのディスク
「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のWRK001~WRK003が該当します。
-
このオペランドを指定する場合は,マニュアルHAモニタ Linux(R)(x86)編の共有ディスクのSCSIリザーブに必要なオペランドの指定値の求め方を参照してください。
-
serversファイルに指定する上記のオペランドの詳細については,マニュアルHAモニタ Linux(R)(x86)編のサーバ対応の環境設定(servers)を参照してください。
(4) コマンド用環境変数定義およびコマンドの作成
HAモニタとの連携のために,コマンド用環境変数定義と次のコマンドを作成してください。
-
ユーザコマンド
-
サーバの起動コマンド
-
サーバの停止コマンド
-
サーバの監視コマンド
$ADBDIR/sample/scripts下に,コマンド用環境変数定義,および上記のコマンドのひな形があります。ひな形を基にコマンドを作成してください。
(a) コマンド用環境変数定義の作成
$ADBDIR/sample/scripts/multinode.envがひな形です。このひな形をコピーして,次の値を修正してください。
-
環境変数ADBMGR
HADB管理者(OSユーザ)のユーザ名を指定してください。
-
環境変数ADBALIAS
HAモニタのserversファイルのaliasオペランドの指定値を指定してください。
-
環境変数ADBDIR
サーバディレクトリの絶対パスを指定してください。
(b) ユーザコマンドの作成
$ADBDIR/sample/scripts/multinode_user.shがひな形です。このひな形をコピーして,次の個所を修正してください。
-
source文
source文の引数に,コマンド用環境変数定義を指定したファイルの絶対パスを指定してください。
(c) サーバの起動コマンドの作成
$ADBDIR/sample/scripts/multinode_act.shがひな形です。このひな形をコピーして,次の個所を修正してください。
-
source文
source文の引数に,コマンド用環境変数定義を指定したファイルの絶対パスを指定してください。
(d) サーバの停止コマンドの作成
系のリセットを使用するか,または共有ディスクのSCSIリザーブを使用するかによって,サーバの停止コマンドのひな形が異なります。系のリセットを使用する場合は,$ADBDIR/sample/scripts/multinode_term.shがひな形です。共有ディスクのSCSIリザーブを使用する場合は,$ADBDIR/sample/scripts/multinode_term_scsi.shがひな形です。
どちらか該当するひな形をコピーして,次の個所を修正してください。
-
source文
source文の引数に,コマンド用環境変数定義を指定したファイルの絶対パスを指定してください。
(e) サーバの監視コマンドの作成
$ADBDIR/sample/scripts/multinode_patrol.shがひな形です。このひな形をコピーして,次の個所を修正してください。
-
source文
source文の引数に,コマンド用環境変数定義を指定したファイルの絶対パスを指定してください。
(5) 各ファイルの指定例(系のリセットを使用する場合)
次のファイルの指定例を示します。系のリセットを使用する場合の指定例です。
-
sysdefファイル
-
serversファイル
-
コマンド用環境変数定義ファイル(この例では/HADB/scripts/multinode.env)
-
ユーザコマンドファイル(この例では/HADB/scripts/multinode_user.sh)
-
サーバの起動コマンドファイル(この例では/HADB/scripts/multinode_act.sh)
-
サーバの停止コマンドファイル(この例では/HADB/scripts/multinode_term.sh)
-
サーバの監視コマンドファイル(この例では/HADB/scripts/multinode_patrol.sh)
ここで説明する指定例は,「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のシステム構成を前提としています。
(a) sysdefファイルの指定例
- ■プライマリノードhadb01のsysdefファイルの指定例
-
environment name hadb01, address 1, ...1 patrol 30, ...2 lan path11, ...3 lanport HAmon1; ...4 function pathpatrol 240, connect_retry 5:200, monbegin_restart nouse, multistandby use, usrcommand /HADB/scripts/multinode_user.sh, ...5 termcmd_at_abort nouse;
[説明]
-
このノードのリセット優先度を指定します。このノードは,プライマリノードのため,リセット優先度をいちばん高くする必要があるので1を指定します。
-
patrolオペランドには,30以下の値を指定してください。
-
HAモニタの監視パスとして使用するLANのホスト名を指定します。IPアドレス172.16.0.11に対応するホスト名path11を指定します。
-
HAモニタの監視パスとして使用するLANのサービス名を指定します。ポート番号7777に対応するサービス名HAmon1を指定します。
-
マルチノード機能で使用するユーザコマンドの絶対パスを指定します。
-
- ■セカンダリノードhadb02のsysdefファイルの指定例
-
environment name hadb02, address 2, ...1 patrol 30, ...2 lan path21, ...3 lanport HAmon1; ...4 function pathpatrol 240, connect_retry 5:200, monbegin_restart nouse, multistandby use, usrcommand /HADB/scripts/multinode_user.sh, ...5 termcmd_at_abort nouse;
[説明]
-
このノードのリセット優先度を指定します。このノードは,プライマリノードの次にリセット優先度を高くしたいため,2を指定します。
-
patrolオペランドには,30以下の値を指定してください。
-
HAモニタの監視パスとして使用するLANのホスト名を指定します。IPアドレス172.16.0.12に対応するホスト名path21を指定します。
-
HAモニタの監視パスとして使用するLANのサービス名を指定します。ポート番号7777に対応するサービス名HAmon1を指定します。
-
マルチノード機能で使用するユーザコマンドの絶対パスを指定します。
-
- ■セカンダリノードhadb03のsysdefファイルの指定例
-
environment name hadb03, address 3, ...1 patrol 30, ...2 lan path31, ...3 lanport HAmon1; ...4 function pathpatrol 240, connect_retry 5:200, monbegin_restart nouse, multistandby use, usrcommand /HADB/scripts/multinode_user.sh, ...5 term_at_abort nouse;
[説明]
-
このノードのリセット優先度を指定します。このノードは,セカンダリノードhadb02の次にリセット優先度を高くしたいため,3を指定します。
-
patrolオペランドには,30以下の値を指定してください。
-
HAモニタの監視パスとして使用するLANのホスト名を指定します。IPアドレス172.16.0.13に対応するホスト名path31を指定します。
-
HAモニタの監視パスとして使用するLANのサービス名を指定します。ポート番号7777に対応するサービス名HAmon1を指定します。
-
マルチノード機能で使用するユーザコマンドの絶対パスを指定します。
-
(b) serversファイルの指定例
ここで説明している例は,ファイルシステムにext4を使用していることを前提としています。ext4以外のファイルシステムを使用する場合は,OSのmountコマンドのオプションがここで説明している例とは異なります。
- ■プライマリノードhadb01のserversファイルの指定例
-
server name /HADB/server, ...1 alias HADB, acttype monitor, disk /dev/vg_hadb: ...2 /dev/vg_hadb02, lan_updown use, fs_name /dev/vg_hadb/hadb_sys: ...3 /dev/vg_hadb02/hadb_syndict, fs_mount_dir /HADB/db/ADBSYS: ...4 /mnt/syndict, fs_mount_opt "-t ext4 -o defaults,noatime,_netdev": ...5 "-t ext4 -o defaults,noatime,_netdev", actcommand "/HADB/scripts/multinode_act.sh", ...6 termcommand "/HADB/scripts/multinode_term.sh", ...7 patrolcommand "/HADB/scripts/multinode_patrol.sh", ...8 servexec_retry 0, waitserv_exec yes, ip_neck use, uoc_neck nouse, vg_neck use:use, ...9 fs_neck use:use, ...10 initial online; ...11
[説明]
-
サーバディレクトリの絶対パスを指定します。
-
次のディレクトリを作成するファイルシステムがあるVGの絶対パスを指定します。
-
システムディレクトリ
-
同義語辞書ファイルの格納ディレクトリ(同義語検索を行う場合に作成するディレクトリです)
-
-
2.で示したディレクトリを作成するファイルシステムを構築したLVの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするマウントポイントの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするためのmountコマンドのオプションを指定します。
-
マルチノード機能で使用するサーバの起動コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの停止コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの監視コマンドの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムがあるVGに対しては,useを指定します。
-
2.で示したディレクトリを作成するファイルシステムに対しては,useを指定します。
-
プライマリノードとするため,onlineを指定します。
-
- ■セカンダリノードhadb02のserversファイルの指定例
-
server name /HADB/server, ...1 alias HADB, acttype monitor, disk /dev/vg_hadb: ...2 /dev/vg_hadb02, lan_updown use, fs_name /dev/vg_hadb/hadb_sys: ...3 /dev/vg_hadb02/hadb_syndict, fs_mount_dir /HADB/db/ADBSYS: ...4 /mnt/syndict, fs_mount_opt "-t ext4 -o defaults,noatime,_netdev": ...5 "-t ext4 -o defaults,noatime,_netdev", actcommand "/HADB/scripts/multinode_act.sh", ...6 termcommand "/HADB/scripts/multinode_term.sh", ...7 patrolcommand "/HADB/scripts/multinode_patrol.sh", ...8 servexec_retry 0, waitserv_exec yes, ip_neck use, uoc_neck nouse, vg_neck use:use, ...9 fs_neck use:use, ...10 initial standby, ...11 standbypri 1; ...12
[説明]
-
サーバディレクトリの絶対パスを指定します。
-
次のディレクトリを作成するファイルシステムがあるVGの絶対パスを指定します。
-
システムディレクトリ
-
同義語辞書ファイルの格納ディレクトリ(同義語検索を行う場合に作成するディレクトリです)
-
-
2.で示したディレクトリを作成するファイルシステムを構築したLVの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするマウントポイントの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするためのmountコマンドのオプションを指定します。
-
マルチノード機能で使用するサーバの起動コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの停止コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの監視コマンドの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムがあるVGに対しては,useを指定します。
-
2.で示したディレクトリを作成するファイルシステムに対しては,useを指定します。
-
セカンダリノードとするため,standbyを指定します。
-
プライマリノードの切り替えが発生した際,新たにプライマリノードにするノードの優先順位を指定します。このノードの優先順位をいちばん高くしたいため,1を指定します。
-
- ■セカンダリノードhadb03のserversファイルの指定例
-
server name /HADB/server, ...1 alias HADB, acttype monitor, disk /dev/vg_hadb: ...2 /dev/vg_hadb02, lan_updown use, fs_name /dev/vg_hadb/hadb_sys: ...3 /dev/vg_hadb02/hadb_syndict, fs_mount_dir /HADB/db/ADBSYS: ...4 /mnt/syndict, fs_mount_opt "-t ext4 -o defaults,noatime,_netdev": ...5 "-t ext4 -o defaults,noatime,_netdev", actcommand "/HADB/scripts/multinode_act.sh", ...6 termcommand "/HADB/scripts/multinode_term.sh", ...7 patrolcommand "/HADB/scripts/multinode_patrol.sh", ...8 servexec_retry 0, waitserv_exec yes, ip_neck use, uoc_neck nouse, vg_neck use:use, ...9 fs_neck use:use, ...10 initial standby, ...11 standbypri 2; ...12
[説明]
-
サーバディレクトリの絶対パスを指定します。
-
次のディレクトリを作成するファイルシステムがあるVGの絶対パスを指定します。
-
システムディレクトリ
-
同義語辞書ファイルの格納ディレクトリ(同義語検索を行う場合に作成するディレクトリです)
-
-
2.で示したディレクトリを作成するファイルシステムを構築したLVの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするマウントポイントの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするためのmountコマンドのオプションを指定します。
-
マルチノード機能で使用するサーバの起動コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの停止コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの監視コマンドの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムがあるVGに対しては,useを指定します。
-
2.で示したディレクトリを作成するファイルシステムに対しては,useを指定します。
-
セカンダリノードとするため,standbyを指定します。
-
プライマリノードの切り替えが発生した際,新たにプライマリノードにするノードの優先順位を指定します。このノードの優先順位は,ノードhadb02の次にしたいため,2を指定します。
-
(c) コマンド用環境変数定義ファイルの指定例
この例では,コマンド用環境変数定義を/HADB/scripts/multinode.envに格納しています。指定内容は,プライマリノードおよびセカンダリノードで同じにしてください。
- ■コマンド用環境変数定義ファイルの指定例
-
#!/bin/sh # The environment variables for HADB export ADBMGR=adbmanager ...1 export ADBALIAS=HADB ...2 export ADBDIR=/HADB/server ...3
[説明]
-
HADB管理者(OSユーザ)のユーザ名adbmanagerを指定します。
-
HAモニタのserversファイルのaliasオペランドの指定値であるHADBを指定します。
-
サーバディレクトリの絶対パスを指定します。
-
(d) ユーザコマンドファイルの指定例
この例では,ユーザコマンドを/HADB/scripts/multinode_user.shに格納しています。指定内容は,プライマリノードおよびセカンダリノードで同じにしてください。
- ■ユーザコマンドファイルの指定例
-
#!/bin/sh # Sample of the usrcommand for HADB # Setting environment variables for HADB source /HADB/scripts/multinode.env ...1 ############################################################################### # Main ############################################################################### KIND_ONLINE="online" KIND_STANDBY="standby" SERV_START="-s" SERV_END="-e" SERV_PLANEND="-p" SERV_ABORT="-a" SERV_ABORT_NS="-o" SERV_FAULT="-f" SERV_HOSTDOWN="-h" SERV_PLANSWAP="-w" STATUS_START="start" STATUS_END="end" STATUS_SBYEND="sbyend" patrol_sby_exe() { $ADBDIR/bin/patrol_sby_exe ...2 } patrol_sby_term() { $ADBDIR/bin/patrol_sby_term ...3 } stop_sby() { $ADBDIR/bin/stop_sby ...4 } # Processing of the server if [ "$2" = "$ADBALIAS" ] then if [ "$4" = "$KIND_ONLINE" ] then case "$5" in "$SERV_START" ) ;; "$SERV_END" ) ;; "$SERV_PLANEND" ) ;; "$SERV_ABORT" ) ;; "$SERV_ABORT_NS" ) ;; "$SERV_PLANSWAP" ) ;; esac else case "$5" in "$SERV_START" ) [ "$6" = "$STATUS_START" ] && patrol_sby_exe & ;; "$SERV_END" ) [ "$6" = "$STATUS_START" -o "$6" = "$STATUS_SBYEND" ] && stop_sby ;; "$SERV_PLANEND" ) [ "$6" = "$STATUS_START" ] && patrol_sby_term ;; "$SERV_ABORT" ) [ "$6" = "$STATUS_START" ] && patrol_sby_term [ "$6" = "$STATUS_SBYEND" ] && stop_sby ;; "$SERV_FAULT" ) [ "$6" = "$STATUS_START" ] && stop_sby ;; "$SERV_HOSTDOWN" ) [ "$6" = "$STATUS_START" ] && patrol_sby_term ;; "$SERV_PLANSWAP" ) [ "$6" = "$STATUS_START" ] && patrol_sby_term ;; esac fi fi exit 0
[説明]
-
source文には,コマンド用環境変数定義ファイルの絶対パス/HADB/scripts/multinode.envを指定します。
-
セカンダリノードの監視を開始するためのコマンドを指定します。
-
セカンダリノードの監視を終了するためのコマンドを指定します。
-
セカンダリノードを停止するためのコマンドを指定します。
-
(e) サーバの起動コマンドファイルの指定例
この例では,サーバの起動コマンドを/HADB/scripts/multinode_act.shに格納しています。指定内容は,プライマリノードおよびセカンダリノードで同じにしてください。
- ■サーバの起動コマンドファイルの指定例
-
#!/bin/sh # Sample of the actcommand for HADB SU=/bin/su # Setting environment variables for HADB source /HADB/scripts/multinode.env ...1 # Execute adbchgnodetype command $SU - $ADBMGR -c "$ADBDIR/bin/adbchgnodetype --primary -n $ADBALIAS" CHGNODERES=$? if [ "$CHGNODERES" = "0" -o "$CHGNODERES" = "4" ] then exit 0 else exit $CHGNODERES fi
[説明]
-
source文には,コマンド用環境変数定義ファイルの絶対パス/HADB/scripts/multinode.envを指定します。
-
(f) サーバの停止コマンドファイルの指定例
この例では,サーバの停止コマンドを/HADB/scripts/multinode_term.shに格納しています。指定内容は,プライマリノードおよびセカンダリノードで同じにしてください。
- ■サーバの停止コマンドファイルの指定例
-
#!/bin/sh # Sample of the termcommand for HADB STS_ACTIVE="ACTIVE" STS_STOP="STOP" STS_STARTING="STARTING" STS_STOPPING="STOPPING" STS_ABORT="ABORT" STS_QUIESCE="QUIESCE" STS_OFFLINE="OFFLINE" STS_CHGMODE="CHGMODE" STS_STOPWAIT="STOPWAIT" STS_COREDUMP="COREDUMP" STS_FORCE="FORCE" STS_MAINTNCE="MAINTNCE" AWK=/bin/awk ECHO=/bin/echo GREP=/bin/grep SU=/bin/su # Setting environment variables for HADB source /HADB/scripts/multinode.env ...1 # Execute adbstop command while : do GET_STS=`$SU - $ADBMGR -c "$ADBDIR/bin/adbls -d srv 2>/dev/null" | $GREP -v SVID | $AWK '{ if ($1 ~ /[0-9]+/) { print $2 } else { print $1 } }'` case "$1" in "-e" ) # Normal stop operations of primary node. # (when the monend command is executed.) if [ "$GET_STS" = "$STS_ACTIVE" -o \ "$GET_STS" = "$STS_STOPPING" -o "$GET_STS" = "$STS_QUIESCE" -o \ "$GET_STS" = "$STS_OFFLINE" -o "$GET_STS" = "$STS_CHGMODE" -o \ "$GET_STS" = "$STS_STOPWAIT" -o "$GET_STS" = "$STS_MAINTNCE" ] then $SU - $ADBMGR -c "$ADBDIR/bin/adbstop --cancel" STOPRES=$? if [ "$STOPRES" = "0" -o "$STOPRES" = "4" ] then break fi elif [ "$GET_STS" = "$STS_STARTING" ] then break else break fi ;; "-w" ) # Plan stop operations of primary node. # (when the monswap command is executed.) if [ "$GET_STS" = "$STS_ACTIVE" -o "$GET_STS" = "$STS_STARTING" -o \ "$GET_STS" = "$STS_STOPPING" -o "$GET_STS" = "$STS_QUIESCE" -o \ "$GET_STS" = "$STS_OFFLINE" -o "$GET_STS" = "$STS_CHGMODE" -o \ "$GET_STS" = "$STS_STOPWAIT" -o "$GET_STS" = "$STS_MAINTNCE" ] then $SU - $ADBMGR -c "$ADBDIR/bin/adbstop --cancel --node" STOPRES=$? if [ "$STOPRES" = "0" -o "$STOPRES" = "4" ] then break fi else break fi ;; "-c" ) break ;; esac done # stop HADB if [ "$GET_STS" = "$STS_STARTING" ] then ADB_ID=`$SU - $ADBMGR -c "ps x" | $GREP adbsrvd | $GREP -v $GREP | awk '{print $1}'` $SU - $ADBMGR -c "kill $ADB_ID" exit 0 fi # Wait for end of HADB while [ "$GET_STS" = "$STS_ACTIVE" -o "$GET_STS" = "$STS_STARTING" -o \ "$GET_STS" = "$STS_STOPPING" -o "$GET_STS" = "$STS_QUIESCE" -o \ "$GET_STS" = "$STS_OFFLINE" -o "$GET_STS" = "$STS_CHGMODE" -o \ "$GET_STS" = "$STS_STOPWAIT" -o "$GET_STS" = "$STS_COREDUMP" -o \ "$GET_STS" = "$STS_MAINTNCE" ] do GET_STS=`$SU - $ADBMGR -c "$ADBDIR/bin/adbls -d srv 2>/dev/null" | $GREP -v SVID | $AWK '{ if ($1 ~ /[0-9]+/) { print $2 } else { print $1 } }'` sleep 1 done exit 0
[説明]
-
source文には,コマンド用環境変数定義ファイルの絶対パス/HADB/scripts/multinode.envを指定します。
-
(g) サーバの監視コマンドファイルの指定例
この例では,サーバの監視コマンドを/HADB/scripts/multinode_patrol.shに格納しています。指定内容は,プライマリノードおよびセカンダリノードで同じにしてください。
- ■サーバの監視コマンドファイルの指定例
-
#!/bin/sh # Sample of the patrolcommand for HADB AWK=/bin/awk GREP=/bin/grep PS=/bin/ps PGREP=/usr/bin/pgrep PKILL=/usr/bin/pkill SU=/bin/su # Setting environment variables for HADB source /HADB/scripts/multinode.env ...1 # Execute adbmonitor command for primary node $SU - $ADBMGR -c "$ADBDIR/bin/adbmonitor -n" & ## Get su command process id PID=$! # Trap SIGTERM and terminate adbmonitor trap "$PKILL -P $PID" 15 ## Wait process terminated CPID="" CHKPID=`$PS aux | $AWK -v PID=$PID '{ if ($2 == PID) { print $2 } }'` while [ "$CHKPID" != "" ] do ## Get adbmonitor process id if [ "$CPID" = "" ] then CPID=`$PGREP -P $PID` fi ## Wait if [ "$CPID" != "" ] then CHKCPID=`$PS aux | $AWK -v CPID=$CPID '{ if ($2 == CPID) { print $2 } }'` while [ "$CHKCPID" != "" ] do sleep 1 CHKCPID=`$PS aux | $AWK -v CPID=$CPID '{ if ($2 == CPID) { print $2 } }'` done fi sleep 1 CHKPID=`$PS aux | $AWK -v PID=$PID '{ if ($2 == PID) { print $2 } }'` done exit 0
[説明]
-
source文には,コマンド用環境変数定義ファイルの絶対パス/HADB/scripts/multinode.envを指定します。
-
(6) 各ファイルの指定例(共有ディスクのSCSIリザーブを使用する場合)
次のファイルの指定例を示します。共有ディスクのSCSIリザーブを使用する場合の指定例です。
-
sysdefファイル
-
serversファイル
-
コマンド用環境変数定義ファイル(この例では/HADB/scripts/multinode.env)
-
ユーザコマンドファイル(この例では/HADB/scripts/multinode_user.sh)
-
サーバの起動コマンドファイル(この例では/HADB/scripts/multinode_act.sh)
-
サーバの停止コマンドファイル(この例では/HADB/scripts/multinode_term_scsi.sh)
-
サーバの監視コマンドファイル(この例では/HADB/scripts/multinode_patrol.sh)
ここで説明する指定例は,「図18‒1 HAモニタありのマルチノード構成のシステム構成例(オンプレミス環境の場合)」のシステム構成を前提としています。
(a) sysdefファイルの指定例
- ■プライマリノードhadb01のsysdefファイルの指定例
-
environment name hadb01, address 1, ...1 patrol 30, ...2 lan path11, ...3 lanport HAmon1; ...4 function pathpatrol 240, connect_retry 5:200, monbegin_restart nouse, multistandby use, usrcommand /HADB/scripts/multinode_user.sh, ...5 termcmd_at_abort nouse, fence_reset nouse, ...6 fence_scsi use, ...7 fence_lan nouse;
[説明]
-
このノードのリセット優先度を指定します。このノードは,プライマリノードのため,リセット優先度をいちばん高くする必要があるので1を指定します。
-
patrolオペランドには,30以下の値を指定してください。
-
HAモニタの監視パスとして使用するLANのホスト名を指定します。IPアドレス172.16.0.11に対応するホスト名path11を指定します。
-
HAモニタの監視パスとして使用するLANのサービス名を指定します。ポート番号7777に対応するサービス名HAmon1を指定します。
-
マルチノード機能で使用するユーザコマンドの絶対パスを指定します。
-
系のリセットを使用しないため,nouseを指定します。
-
共有ディスクのSCSIリザーブを使用するため,useを指定します。
-
- ■セカンダリノードhadb02のsysdefファイルの指定例
-
environment name hadb02, address 2, ...1 patrol 30, ...2 lan path21, ...3 lanport HAmon1; ...4 function pathpatrol 240, connect_retry 5:200, monbegin_restart nouse, multistandby use, usrcommand /HADB/scripts/multinode_user.sh, ...5 termcmd_at_abort nouse, fence_reset nouse, ...6 fence_scsi use, ...7 fence_lan nouse;
[説明]
-
このノードのリセット優先度を指定します。このノードは,プライマリノードの次にリセット優先度を高くしたいため,2を指定します。
-
patrolオペランドには,30以下の値を指定してください。
-
HAモニタの監視パスとして使用するLANのホスト名を指定します。IPアドレス172.16.0.12に対応するホスト名path21を指定します。
-
HAモニタの監視パスとして使用するLANのサービス名を指定します。ポート番号7777に対応するサービス名HAmon1を指定します。
-
マルチノード機能で使用するユーザコマンドの絶対パスを指定します。
-
系のリセットを使用しないため,nouseを指定します。
-
共有ディスクのSCSIリザーブを使用するため,useを指定します。
-
- ■セカンダリノードhadb03のsysdefファイルの指定例
-
environment name hadb03, address 3, ...1 patrol 30, ...2 lan path31, ...3 lanport HAmon1; ...4 function pathpatrol 240, connect_retry 5:200, monbegin_restart nouse, multistandby use, usrcommand /HADB/scripts/multinode_user.sh, ...5 termcmd_at_abort nouse, fence_reset nouse, ...6 fence_scsi use, ...7 fence_lan nouse;
[説明]
-
このノードのリセット優先度を指定します。このノードは,セカンダリノードhadb02の次にリセット優先度を高くしたいため,3を指定します。
-
patrolオペランドには,30以下の値を指定してください。
-
HAモニタの監視パスとして使用するLANのホスト名を指定します。IPアドレス172.16.0.13に対応するホスト名path31を指定します。
-
HAモニタの監視パスとして使用するLANのサービス名を指定します。ポート番号7777に対応するサービス名HAmon1を指定します。
-
マルチノード機能で使用するユーザコマンドの絶対パスを指定します。
-
系のリセットを使用しないため,nouseを指定します。
-
共有ディスクのSCSIリザーブを使用するため,useを指定します。
-
(b) serversファイルの指定例(シングルパス構成の場合)
シングルパス構成の場合のserversファイルの指定例を説明します。
ここで説明している例は,ファイルシステムにext4を使用していることを前提としています。ext4以外のファイルシステムを使用する場合は,OSのmountコマンドのオプションがここで説明している例とは異なります。
- ■プライマリノードhadb01のserversファイルの指定例
-
server name /HADB/server, ...1 alias HADB, acttype monitor, disk /dev/vg_hadb: ...2 /dev/vg_hadb02, lan_updown use, fs_name /dev/vg_hadb/hadb_sys: ...3 /dev/vg_hadb02/hadb_syndict, fs_mount_dir /HADB/db/ADBSYS: ...4 /mnt/syndict, fs_mount_opt "-t ext4 -o defaults,noatime,_netdev": ...5 "-t ext4 -o defaults,noatime,_netdev", actcommand "/HADB/scripts/multinode_act.sh", ...6 termcommand "/HADB/scripts/multinode_term_scsi.sh", ...7 patrolcommand "/HADB/scripts/multinode_patrol.sh", ...8 servexec_retry 0, waitserv_exec yes, ip_neck use, uoc_neck nouse, vg_neck use:use, ...9 fs_neck use:use, ...10 scsi_device /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b53e0a: ...11 /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b6c44d: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b828e9: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b7d9fd: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b87793: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b8c6d3: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b9160f, initial online; ...12
[説明]
-
サーバディレクトリの絶対パスを指定します。
-
次のディレクトリを作成するファイルシステムがあるVGの絶対パスを指定します。
-
システムディレクトリ
-
同義語辞書ファイルの格納ディレクトリ(同義語検索を行う場合に作成するディレクトリです)
-
-
2.で示したディレクトリを作成するファイルシステムを構築したLVの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするマウントポイントの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするためのmountコマンドのオプションを指定します。
-
マルチノード機能で使用するサーバの起動コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの停止コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの監視コマンドの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムがあるVGに対しては,useを指定します。
-
2.で示したディレクトリを作成するファイルシステムに対しては,useを指定します。
-
次のファイルシステムおよびファイルがあるディスクの絶対パスを指定します。
-
システムディレクトリを作成するファイルシステム
-
同義語辞書ファイルの格納ディレクトリを作成するファイルシステム
-
DBエリアファイル(作業表用DBエリアファイルを除く)
プライマリノードおよびセカンダリノードで,絶対パスの指定順序を同じにしてください。
-
-
プライマリノードとするため,onlineを指定します。
-
- ■セカンダリノードhadb02のserversファイルの指定例
-
server name /HADB/server, ...1 alias HADB, acttype monitor, disk /dev/vg_hadb: ...2 /dev/vg_hadb02, lan_updown use, fs_name /dev/vg_hadb/hadb_sys: ...3 /dev/vg_hadb02/hadb_syndict, fs_mount_dir /HADB/db/ADBSYS: ...4 /mnt/syndict, fs_mount_opt "-t ext4 -o defaults,noatime,_netdev": ...5 "-t ext4 -o defaults,noatime,_netdev", actcommand "/HADB/scripts/multinode_act.sh", ...6 termcommand "/HADB/scripts/multinode_term_scsi.sh", ...7 patrolcommand "/HADB/scripts/multinode_patrol.sh", ...8 servexec_retry 0, waitserv_exec yes, ip_neck use, uoc_neck nouse, vg_neck use:use, ...9 fs_neck use:use, ...10 scsi_device /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b53e0a: ...11 /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b6c44d: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b828e9: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b7d9fd: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b87793: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b8c6d3: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b9160f, initial standby, ...12 standbypri 1; ...13
[説明]
-
サーバディレクトリの絶対パスを指定します。
-
次のディレクトリを作成するファイルシステムがあるVGの絶対パスを指定します。
-
システムディレクトリ
-
同義語辞書ファイルの格納ディレクトリ(同義語検索を行う場合に作成するディレクトリです)
-
-
2.で示したディレクトリを作成するファイルシステムを構築したLVの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするマウントポイントの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするためのmountコマンドのオプションを指定します。
-
マルチノード機能で使用するサーバの起動コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの停止コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの監視コマンドの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムがあるVGに対しては,useを指定します。
-
2.で示したディレクトリを作成するファイルシステムに対しては,useを指定します。
-
次のファイルシステムおよびファイルがあるディスクの絶対パスを指定します。
-
システムディレクトリを作成するファイルシステム
-
同義語辞書ファイルの格納ディレクトリを作成するファイルシステム
-
DBエリアファイル(作業表用DBエリアファイルを除く)
プライマリノードおよびセカンダリノードで,絶対パスの指定順序を同じにしてください。
-
-
セカンダリノードとするため,standbyを指定します。
-
プライマリノードの切り替えが発生した際,新たにプライマリノードにするノードの優先順位を指定します。このノードの優先順位をいちばん高くしたいため,1を指定します。
-
- ■セカンダリノードhadb03のserversファイルの指定例
-
server name /HADB/server, ...1 alias HADB, acttype monitor, disk /dev/vg_hadb: ...2 /dev/vg_hadb02, lan_updown use, fs_name /dev/vg_hadb/hadb_sys: ...3 /dev/vg_hadb02/hadb_syndict, fs_mount_dir /HADB/db/ADBSYS: ...4 /mnt/syndict, fs_mount_opt "-t ext4 -o defaults,noatime,_netdev": ...5 "-t ext4 -o defaults,noatime,_netdev", actcommand "/HADB/scripts/multinode_act.sh", ...6 termcommand "/HADB/scripts/multinode_term_scsi.sh", ...7 patrolcommand "/HADB/scripts/multinode_patrol.sh", ...8 servexec_retry 0, waitserv_exec yes, ip_neck use, uoc_neck nouse, vg_neck use:use, ...9 fs_neck use:use, ...10 scsi_device /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b53e0a: ...11 /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b6c44d: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b828e9: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b7d9fd: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b87793: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b8c6d3: /dev/disk/by-id/scsi-3600605b0041db9c016ea34c3b1b9160f, initial standby, ...12 standbypri 2; ...13
[説明]
-
サーバディレクトリの絶対パスを指定します。
-
次のディレクトリを作成するファイルシステムがあるVGの絶対パスを指定します。
-
システムディレクトリ
-
同義語辞書ファイルの格納ディレクトリ(同義語検索を行う場合に作成するディレクトリです)
-
-
2.で示したディレクトリを作成するファイルシステムを構築したLVの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするマウントポイントの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするためのmountコマンドのオプションを指定します。
-
マルチノード機能で使用するサーバの起動コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの停止コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの監視コマンドの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムがあるVGに対しては,useを指定します。
-
2.で示したディレクトリを作成するファイルシステムに対しては,useを指定します。
-
次のファイルシステムおよびファイルがあるディスクの絶対パスを指定します。
-
システムディレクトリを作成するファイルシステム
-
同義語辞書ファイルの格納ディレクトリを作成するファイルシステム
-
DBエリアファイル(作業表用DBエリアファイルを除く)
プライマリノードおよびセカンダリノードで,絶対パスの指定順序を同じにしてください。
-
-
セカンダリノードとするため,standbyを指定します。
-
プライマリノードの切り替えが発生した際,新たにプライマリノードにするノードの優先順位を指定します。このノードの優先順位は,ノードhadb02の次にしたいため,2を指定します。
-
(c) serversファイルの指定例(マルチパスソフトウェアによる冗長化構成の場合)
マルチパスソフトウェアによる冗長化構成の場合のserversファイルの指定例を説明します。
ここで説明している例は,ファイルシステムにext4を使用していることを前提としています。ext4以外のファイルシステムを使用する場合は,OSのmountコマンドのオプションがここで説明している例とは異なります。
- ■プライマリノードhadb01のserversファイルの指定例
-
server name /HADB/server, ...1 alias HADB, acttype monitor, disk /dev/vg_hadb: ...2 /dev/vg_hadb02, lan_updown use, fs_name /dev/vg_hadb/hadb_sys: ...3 /dev/vg_hadb02/hadb_syndict, fs_mount_dir /HADB/db/ADBSYS: ...4 /mnt/syndict, fs_mount_opt "-t ext4 -o defaults,noatime,_netdev": ...5 "-t ext4 -o defaults,noatime,_netdev", actcommand "/HADB/scripts/multinode_act.sh", ...6 termcommand "/HADB/scripts/multinode_term_scsi.sh", ...7 patrolcommand "/HADB/scripts/multinode_patrol.sh", ...8 servexec_retry 0, waitserv_exec yes, ip_neck use, uoc_neck nouse, vg_neck use:use, ...9 fs_neck use:use, ...10 dmmp_device /dev/mapper/mpath1: ...11 /dev/mapper/mpath2: /dev/mapper/mpath11: /dev/mapper/mpath12: /dev/mapper/mpath13: /dev/mapper/mpath14: /dev/mapper/mpath15, initial online; ...12
[説明]
-
サーバディレクトリの絶対パスを指定します。
-
次のディレクトリを作成するファイルシステムがあるVGの絶対パスを指定します。
-
システムディレクトリ
-
同義語辞書ファイルの格納ディレクトリ(同義語検索を行う場合に作成するディレクトリです)
-
-
2.で示したディレクトリを作成するファイルシステムを構築したLVの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするマウントポイントの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするためのmountコマンドのオプションを指定します。
-
マルチノード機能で使用するサーバの起動コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの停止コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの監視コマンドの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムがあるVGに対しては,useを指定します。
-
2.で示したディレクトリを作成するファイルシステムに対しては,useを指定します。
-
次のファイルシステムおよびファイルがあるディスクの絶対パスを指定します。
-
システムディレクトリを作成するファイルシステム
-
同義語辞書ファイルの格納ディレクトリを作成するファイルシステム
-
DBエリアファイル(作業表用DBエリアファイルを除く)
プライマリノードおよびセカンダリノードで,絶対パスの指定順序を同じにしてください。
-
-
プライマリノードとするため,onlineを指定します。
-
- ■セカンダリノードhadb02のserversファイルの指定例
-
server name /HADB/server, ...1 alias HADB, acttype monitor, disk /dev/vg_hadb: ...2 /dev/vg_hadb02, lan_updown use, fs_name /dev/vg_hadb/hadb_sys: ...3 /dev/vg_hadb02/hadb_syndict, fs_mount_dir /HADB/db/ADBSYS: ...4 /mnt/syndict, fs_mount_opt "-t ext4 -o defaults,noatime,_netdev": ...5 "-t ext4 -o defaults,noatime,_netdev", actcommand "/HADB/scripts/multinode_act.sh", ...6 termcommand "/HADB/scripts/multinode_term_scsi.sh", ...7 patrolcommand "/HADB/scripts/multinode_patrol.sh", ...8 servexec_retry 0, waitserv_exec yes, ip_neck use, uoc_neck nouse, vg_neck use:use, ...9 fs_neck use:use, ...10 dmmp_device /dev/mapper/mpath1: ...11 /dev/mapper/mpath2: /dev/mapper/mpath11: /dev/mapper/mpath12: /dev/mapper/mpath13: /dev/mapper/mpath14: /dev/mapper/mpath15, initial standby, ...12 standbypri 1; ...13
[説明]
-
サーバディレクトリの絶対パスを指定します。
-
次のディレクトリを作成するファイルシステムがあるVGの絶対パスを指定します。
-
システムディレクトリ
-
同義語辞書ファイルの格納ディレクトリ(同義語検索を行う場合に作成するディレクトリです)
-
-
2.で示したディレクトリを作成するファイルシステムを構築したLVの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするマウントポイントの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするためのmountコマンドのオプションを指定します。
-
マルチノード機能で使用するサーバの起動コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの停止コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの監視コマンドの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムがあるVGに対しては,useを指定します。
-
2.で示したディレクトリを作成するファイルシステムに対しては,useを指定します。
-
次のファイルシステムおよびファイルがあるディスクの絶対パスを指定します。
-
システムディレクトリを作成するファイルシステム
-
同義語辞書ファイルの格納ディレクトリを作成するファイルシステム
-
DBエリアファイル(作業表用DBエリアファイルを除く)
プライマリノードおよびセカンダリノードで,絶対パスの指定順序を同じにしてください。
-
-
セカンダリノードとするため,standbyを指定します。
-
プライマリノードの切り替えが発生した際,新たにプライマリノードにするノードの優先順位を指定します。このノードの優先順位をいちばん高くしたいため,1を指定します。
-
- ■セカンダリノードhadb03のserversファイルの指定例
-
server name /HADB/server, ...1 alias HADB, acttype monitor, disk /dev/vg_hadb: ...2 /dev/vg_hadb02, lan_updown use, fs_name /dev/vg_hadb/hadb_sys: ...3 /dev/vg_hadb02/hadb_syndict, fs_mount_dir /HADB/db/ADBSYS: ...4 /mnt/syndict, fs_mount_opt "-t ext4 -o defaults,noatime,_netdev": ...5 "-t ext4 -o defaults,noatime,_netdev", actcommand "/HADB/scripts/multinode_act.sh", ...6 termcommand "/HADB/scripts/multinode_term_scsi.sh", ...7 patrolcommand "/HADB/scripts/multinode_patrol.sh", ...8 servexec_retry 0, waitserv_exec yes, ip_neck use, uoc_neck nouse, vg_neck use:use, ...9 fs_neck use:use, ...10 dmmp_device /dev/mapper/mpath1: ...11 /dev/mapper/mpath2: /dev/mapper/mpath11: /dev/mapper/mpath12: /dev/mapper/mpath13: /dev/mapper/mpath14: /dev/mapper/mpath15, initial standby, ...12 standbypri 2; ...13
[説明]
-
サーバディレクトリの絶対パスを指定します。
-
次のディレクトリを作成するファイルシステムがあるVGの絶対パスを指定します。
-
システムディレクトリ
-
同義語辞書ファイルの格納ディレクトリ(同義語検索を行う場合に作成するディレクトリです)
-
-
2.で示したディレクトリを作成するファイルシステムを構築したLVの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするマウントポイントの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムをマウントするためのmountコマンドのオプションを指定します。
-
マルチノード機能で使用するサーバの起動コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの停止コマンドの絶対パスを指定します。
-
マルチノード機能で使用するサーバの監視コマンドの絶対パスを指定します。
-
2.で示したディレクトリを作成するファイルシステムがあるVGに対しては,useを指定します。
-
2.で示したディレクトリを作成するファイルシステムに対しては,useを指定します。
-
次のファイルシステムおよびファイルがあるディスクの絶対パスを指定します。
-
システムディレクトリを作成するファイルシステム
-
同義語辞書ファイルの格納ディレクトリを作成するファイルシステム
-
DBエリアファイル(作業表用DBエリアファイルを除く)
プライマリノードおよびセカンダリノードで,絶対パスの指定順序を同じにしてください。
-
-
セカンダリノードとするため,standbyを指定します。
-
プライマリノードの切り替えが発生した際,新たにプライマリノードにするノードの優先順位を指定します。このノードの優先順位は,ノードhadb02の次にしたいため,2を指定します。
-
(d) コマンド用環境変数定義ファイルの指定例
コマンド用環境変数定義ファイルの指定例については,「(5) 各ファイルの指定例(系のリセットを使用する場合)」の「(c) コマンド用環境変数定義ファイルの指定例」を参照してください。
(e) ユーザコマンドファイルの指定例
ユーザコマンドファイルの指定例については,「(5) 各ファイルの指定例(系のリセットを使用する場合)」の「(d) ユーザコマンドファイルの指定例」を参照してください。
(f) サーバの起動コマンドファイルの指定例
サーバの起動コマンドファイルの指定例については,「(5) 各ファイルの指定例(系のリセットを使用する場合)」の「(e) サーバの起動コマンドファイルの指定例」を参照してください。
(g) サーバの停止コマンドファイルの指定例
この例では,サーバの停止コマンドを/HADB/scripts/multinode_term_scsi.shに格納しています。指定内容は,プライマリノードおよびセカンダリノードで同じにしてください。
- ■サーバの停止コマンドファイルの指定例
-
#!/bin/sh # Sample of the termcommand for HADB STS_ACTIVE="ACTIVE" STS_STOP="STOP" STS_STARTING="STARTING" STS_STOPPING="STOPPING" STS_ABORT="ABORT" STS_QUIESCE="QUIESCE" STS_OFFLINE="OFFLINE" STS_CHGMODE="CHGMODE" STS_STOPWAIT="STOPWAIT" STS_COREDUMP="COREDUMP" STS_FORCE="FORCE" STS_MAINTNCE="MAINTNCE" AWK=/bin/awk ECHO=/bin/echo GREP=/bin/grep SU=/bin/su # Setting environment variables for HADB source /HADB/scripts/multinode.env ...1 # Execute adbstop command while : do GET_STS=`$SU - $ADBMGR -c "$ADBDIR/bin/adbls -d srv 2>/dev/null" | $GREP -v SVID | $AWK '{ if ($1 ~ /[0-9]+/) { print $2 } else { print $1 } }'` case "$1" in "-e" ) # Normal stop operations of primary node. # (when the monend command is executed.) if [ "$GET_STS" = "$STS_ACTIVE" -o \ "$GET_STS" = "$STS_STOPPING" -o "$GET_STS" = "$STS_QUIESCE" -o \ "$GET_STS" = "$STS_OFFLINE" -o "$GET_STS" = "$STS_CHGMODE" -o \ "$GET_STS" = "$STS_STOPWAIT" -o "$GET_STS" = "$STS_MAINTNCE" ] then $SU - $ADBMGR -c "$ADBDIR/bin/adbstop --cancel" STOPRES=$? if [ "$STOPRES" = "0" -o "$STOPRES" = "4" ] then break fi elif [ "$GET_STS" = "$STS_STARTING" ] then break else break fi ;; "-w" ) # Plan stop operations of primary node. # (When the monswap command is executed or a monitoring path failure occurs.) if [ "$GET_STS" = "$STS_ACTIVE" -o "$GET_STS" = "$STS_STARTING" -o \ "$GET_STS" = "$STS_STOPPING" -o "$GET_STS" = "$STS_QUIESCE" -o \ "$GET_STS" = "$STS_OFFLINE" -o "$GET_STS" = "$STS_CHGMODE" -o \ "$GET_STS" = "$STS_STOPWAIT" -o "$GET_STS" = "$STS_MAINTNCE" ] then $SU - $ADBMGR -c "$ECHO y|$ADBDIR/bin/adbstop --force" STOPRES=$? if [ "$STOPRES" = "0" -o "$STOPRES" = "4" ] then break fi else break fi ;; "-c" ) break ;; esac done # stop HADB if [ "$GET_STS" = "$STS_STARTING" ] then ADB_ID=`$SU - $ADBMGR -c "ps x" | $GREP adbsrvd | $GREP -v $GREP | awk '{print $1}'` $SU - $ADBMGR -c "kill $ADB_ID" exit 0 fi # Wait for end of HADB while [ "$GET_STS" = "$STS_ACTIVE" -o "$GET_STS" = "$STS_STARTING" -o \ "$GET_STS" = "$STS_STOPPING" -o "$GET_STS" = "$STS_QUIESCE" -o \ "$GET_STS" = "$STS_OFFLINE" -o "$GET_STS" = "$STS_CHGMODE" -o \ "$GET_STS" = "$STS_STOPWAIT" -o "$GET_STS" = "$STS_COREDUMP" -o \ "$GET_STS" = "$STS_MAINTNCE" ] do GET_STS=`$SU - $ADBMGR -c "$ADBDIR/bin/adbls -d srv 2>/dev/null" | $GREP -v SVID | $AWK '{ if ($1 ~ /[0-9]+/) { print $2 } else { print $1 } }'` sleep 1 done exit 0
[説明]
-
source文には,コマンド用環境変数定義ファイルの絶対パス/HADB/scripts/multinode.envを指定します。
-
(h) サーバの監視コマンドファイルの指定例
サーバの監視コマンドファイルの指定例については,「(5) 各ファイルの指定例(系のリセットを使用する場合)」の「(g) サーバの監視コマンドファイルの指定例」を参照してください。
(7) HAモニタの起動設定
OSの起動時に,自動的にHAモニタが起動するように設定してください。設定方法については,マニュアルHAモニタ Linux(R)(x86)編のシステムの起動からサーバの起動までを自動化するを参照してください。