スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

26.6.2 server定義文

<この項の構成>
(1) acttypeオペランド
(2) switchtypeオペランド(サーバモード限定)
(3) nameオペランド
(4) termcommandオペランド(モニタモード限定)
(5) aliasオペランド
(6) diskオペランド
(7) lan_updownオペランド
(8) groupオペランド
(9) initialオペランド
(10) standbypriオペランド
(11) server定義文の定義例

(1) acttypeオペランド

サーバモードの場合はこのオペランドにserverを,モニタモードの場合はこのオペランドにmonitorを指定してください。

(2) switchtypeオペランド(サーバモード限定)

サーバモードの場合にこのオペランドの指定を検討してください。モニタモードの場合はこのオペランドを指定できません。このオペランドにはサーバ障害を検出したときの処理を指定します。

switch:
HiRDB(HiRDB/パラレルサーバの場合はユニット)が異常終了すると系を切り替えて切り替え先の系でHiRDBを再開始します。
1:1スタンバイレス型系切り替え機能の場合,代替BESユニットに作成する代替部用のserver定義文にはswitchを指定することをお勧めします。switchを指定すると,代替中に代替BESユニットで障害が発生した場合,代替部から正規BESユニットに系が切り替わるため,再開始後の代替BESユニットの負荷を減らせます。
影響分散スタンバイレス型系切り替え機能の場合,ゲストBES用のserver定義文にはswitchを指定することをお勧めします。switchを指定すると,ゲストBESが稼働中のユニットで障害が発生した場合,ゲストBESがほかのユニットに切り替わるため,再開始後の負荷を分散できます。

restart:
障害が発生した系でHiRDB(HiRDB/パラレルサーバの場合はユニット)を再開始します。障害が発生した系でHiRDBを再開始できないときに,系を切り替えて切り替え先の系でHiRDBを再開始します(KFPS00715-Eメッセージが出力された時点で系を切り替えます)。
1:1スタンバイレス型系切り替え機能の場合,代替BESユニットに作成する代替部用のserver定義文にはrestartを指定しないことをお勧めします。restartを指定すると,代替中に代替BESユニットで障害が発生した場合,ユニットの再開始後も代替BESユニットで正規BESユニットの代替処理を継続するため,再開始後の代替BESユニットの負荷が減りません。
影響分散スタンバイレス型系切り替え機能の場合,ゲストBES用のserver定義文にはrestartを指定しないことをお勧めします。restartを指定指定すると,ゲストBESの稼働中のユニットで障害が発生した場合,ユニットの再開始後にゲストBESが処理を継続するため,再開始後の負荷を分散できません。

manual:
HiRDB(HiRDB/パラレルサーバの場合はユニット)を再開始できなくても自動的に系を切り替えません。
ポイント
1:1スタンバイレス型系切り替え機能で相互代替構成の場合,代替BESユニットと代替部のswitchtypeオペランドには同じ値を指定してください。
影響分散スタンバイレス型系切り替え機能の場合,HAグループ内の全ユニットのswitchtypeオペランドには同じ値を指定してください。

(3) nameオペランド

サーバモードの場合
  • スタンバイ型系切り替え機能の場合はHiRDB運用ディレクトリ名を絶対パス名で指定します。HiRDB/パラレルサーバの場合は該当するユニットのHiRDB運用ディレクトリ名を絶対パス名で指定します。
  • 1:1スタンバイレス型系切り替え機能の場合は,HiRDB識別子(pd_system_idオペランドの指定値)と正規BESユニットのユニット識別子(pd_unit_idオペランドの指定値)を「/」で組み合わせて指定します。HiRDB識別子がDB01で,正規BESユニットのユニット識別子がUNT1の場合は次のように指定します。
     DB01/UNT1
  • 影響分散スタンバイレス型系切り替えの場合は,HiRDB識別子とサーバ識別子を「/」で組み合わせて指定します。HiRDB識別子がDB01で,サーバ識別子がBES1の場合は次のように指定します。
     DB01/BES1

モニタモードの場合
HiRDB(HiRDB/パラレルサーバの場合はユニット)を開始するコマンド(シェル)を絶対パス名で指定します。HAモニタから引き継がれる環境変数がHiRDB開始コマンドの環境変数として適切でないと正しく動作しません。そのため,ユーザコマンド(シェル)で実行環境を変更した後に次に示すコマンドを発行してください。
  • $PDDIR/bin/pdstart(HiRDB/シングルサーバの場合)
  • $PDDIR/bin/pdstart -q(HiRDB/パラレルサーバの場合)
注※ 系切り替え機能使用時のHiRDB/パラレルサーバのユニットを開始するコマンドです。
HiRDB/シングルサーバの場合のユーザコマンド(シェル)の作成例を次に示します。
(例)
PDDIR=/HiRDB_S
PATH=/bin:/usr/bin:/usr/bin/ucb:/$PDDIR/bin
PDCONFPATH=$PDDIR/conf
SHLIB_PATH=$PDDIR/lib
export PATH PDDIR PDCONFPATH SHLIB_PATH
$PDDIR/bin/pdstart

(4) termcommandオペランド(モニタモード限定)

モニタモードの場合にこのオペランドの指定を検討してください。サーバモードの場合はこのオペランドを指定できません。このオペランドには,次に示す場合にHiRDB(HiRDB/パラレルサーバの場合はユニット)を終了するコマンド(シェル)を絶対パス名で指定します

注※
強制終了になります。通常の終了運用はpdstopでHiRDBを終了した後にmonendコマンドを実行します。

HAモニタから引き継がれる環境変数がHiRDBの終了コマンドの環境変数として適切でないと正しく動作しません。そのため,ユーザコマンド(シェル)で実行環境を変更した後に次に示すコマンドを発行してください。

HiRDB/シングルサーバの場合のユーザコマンド(シェル)の作成例を次に示します。

(例)
PDDIR=/HiRDB_S
PATH=/bin:/usr/bin:/usr/ucb:/$PDDIR/bin
PDCONFPATH=$PDDIR/conf
SHLIB_PATH=$PDDIR/lib
export PATH PDDIR PDCONFPATH SHLIB_PATH
$PDDIR/bin/pdstop
参考
  • このオペランドを指定してHiRDBの停止処理中にHAモニタのmonswapコマンドを入力すると,pdstopコマンドがエラー(停止中にpdstopが入力された)になります。このとき,エラーメッセージを出力しますが異常ではありません。
  • 再開始に失敗した場合に実行するコマンド(pd_ha_restart_failureオペランドで指定)を定義したときにも,同様にpdstopコマンドがエラーになります。

(5) aliasオペランド

HAモニタを適用したシステムで一意となる識別名を指定します。現用系と予備系とで同じ識別名にする必要があります。

スタンバイ型系切り替え機能の場合は,HiRDBのユニット識別子を推奨します。1:1スタンバイレス型系切り替え機能の場合は,正規BESユニットのユニット識別子を推奨します。影響分散スタンバイレス型系切り替えの場合は,系切り替え対象サーバのサーバ識別子を推奨します。

(6) diskオペランド

HiRDBファイルシステム領域を作成したDISK領域(ボリュームグループ及びパーティション)の名称を指定します。詳細については,マニュアル「高信頼化システム監視機能 HAモニタ」を参照してください。

(7) lan_updownオペランド

IPアドレスを引き継ぐ場合
aliasオペランドの値.upファイル,又はサーバ識別名.downファイルに引き継ぎ対象のIPアドレスを指定して,ネットワークをup/downさせてください。この場合,lan_updownオペランドにuseを指定してください。

IPアドレスを引き継がない場合
実行系及び待機系HiRDB(又はユニット)の開始前に,pdunitオペランドの-x及び-cオプションに指定したIPアドレスを起動しておいてください。HAモニタ用のaliasオペランドの値.upファイルや,aliasオペランドの値.downファイルには,pdunitオペランドの-x又は-cオプションに指定したIPアドレスを指定しないでください。クライアント接続用IPアドレスを引き継ぐ場合は,クライアント接続用IPアドレスを指定してください。なお,クライアント接続用IPアドレスなどの引き継ぐIPアドレスがない場合は,HAモニタのserver定義文のlan_updownオペランドにnouseを指定するか,又はaliasオペランドの値.upファイルとaliasオペランドの値.downファイルを削除してください。

スタンバイレス型系切り替え機能の場合
1:1スタンバイレス型系切り替え機能の場合,正規BESユニット及び代替BESユニットの開始前に,pdunitオペランドの-x及び-cオプションに指定したIPアドレスを起動しておいてください。影響分散スタンバイレス型系切り替え機能の場合,HAグループ名ユニットの開始前に,pdunitオペランドの-x及び-cオプションに指定したIPアドレスを起動しておいてください。
HAモニタ用のaliasオペランドの値.upファイルや,aliasオペランドの値.downファイルには,pdunitオペランドの-x又は-cオプションに指定したIPアドレスを指定しないでください。クライアント接続用IPアドレスを引き継ぐ場合は,クライアント接続用IPアドレスを指定してください。なお,クライアント接続用IPアドレスなどの引き継ぐIPアドレスがない場合は,HAモニタのserver定義文のlan_updownオペランドにnouseを指定するか,又はaliasオペランドの値.upファイルとaliasオペランドの値.downファイルを削除してください。

(8) groupオペランド

連動系切り替えをする場合にこのオペランドを指定します。系切り替え対象のサーバがHiRDBだけの場合はこのオペランドを指定する必要はありません。このオペランドにはサーバグループ名称を指定します。指定の目安を次に示します。

(9) initialオペランド

スタンバイ型系切り替え機能の場合は,現用系にはonlineを予備系にはstandbyを指定します。

1:1スタンバイレス型系切り替え機能の場合は,正規BESユニットにはonlineを代替BESユニットにはstandbyを指定します。

影響分散スタンバイレス型系切り替え機能の場合は,ホストBESにはonlineをゲストBESにはstandbyを指定します。

(10) standbypriオペランド

このオペランドはHAモニタのバージョンが01-08以降の場合に指定できます。

HAモニタのマルチスタンバイ機能を使用して,マルチスタンバイ構成で運用する場合(sysdef定義文のmultistandbyオペランドにuseを指定する場合),このオペランドで待機系の優先度を指定します。

影響分散スタンバイレス型系切り替え機能を使用する場合は,ゲストBESに優先度を指定します。例えば,切り替え先の優先度が1番のゲストBESの場合は1を,優先度が2番のゲストBESの場合は2を指定します。

(11) server定義文の定義例

影響分散スタンバイレス型系切り替え機能を次に示すような3ユニット構成で行います。

[図データ]

この場合,次に示すグループごとにグローバルバッファを共用します。

この場合の各ユニットの優先順位を次に示します。

サーバ online 優先順位第1位 優先順位第2位
BES1A unt1 [1] unt2 [2] unt3 [3]
BES1B unt1 [4] unt3 [5] unt2 [6]
BES2A unt2 [7] unt3 [8] unt1 [9]
BES2B unt2 [10] unt1 [11] unt3 [12]
BES3A unt3 [13] unt2 [14] unt1 [15]
BES3B unt3 [16] unt1 [17] unt2 [18]

この場合のserver定義文の指定例を次に示します。

●サーバマシン1のserver定義文

server  name     PDB1/bes1A,
        alias    bes1A,
        patrol   10,
        disk     /dev/vg01,
        initial  online;       ....[1]
server  name     PDB1/bes1B,
        alias    bes1B,
        patrol   10,
        disk     /dev/vg02,
        initial  online;       ....[4]
server  name     PDB1/bes2A,
        alias    bes2A,
        patrol   10,
        disk     /dev/vg03,
        initial  standby,
        standbypri 2;           ...[9]
server  name     PDB1/bes2B,
        alias    bes2B,
        patrol   10,
        disk     /dev/vg04,
        initial  standby,
        standbypri 1;           ...[11]
server  name     PDB1/bes3A,
        alias    bes3A,
        patrol   10,
        disk     /dev/vg05,
        initial   standby,
        standbypri 2;           ...[15]
server  name     PDB1/bes3B,
        alias    bes3B,
        patrol   10,
        disk     /dev/vg06,
        initial  standby,
        standbypri 1;           ...[17]

●サーバマシン2のserver定義文

server  name     PDB1/bes1A,
        alias    bes1A,
        patrol   10,
        disk     /dev/vg01,
        initial  standby,
        standbypri 1;          ....[2]
server  name     PDB1/bes1B,
        alias    bes1B,
        patrol   10,
        disk     /dev/vg02,
        initial  standby,
        standbypri 2;           ...[6]
server  name     PDB1/bes2A,
        alias    bes2A,
        patrol   10,
        disk     /dev/vg03,
        initial  online;        ...[7]
server  name     PDB1/bes2B,
        alias    bes2B,
        patrol   10,
        disk     /dev/vg04,
        initial  online;        ...[10]
server  name     PDB1/bes3A,  
        alias    bes3A,
        patrol   10,
        disk     /dev/vg05,
        initial  standby,
        standbypri 1;           ...[14]
server  name     PDB1/bes3B,
        alias    bes3B,
        patrol   10,
        disk     /dev/vg06,
        initial  standby,
        standbypri 2;           ...[18]

●サーバマシン3のserver定義文

server  name     PDB1/bes1A,
        alias    bes1A,
        patrol   10,
        disk     /dev/vg01,
        initial  standby,
        standbypri 2;           ...[3]
server  name     PDB1/bes1B,
        alias    bes1B,
        patrol   10,
        disk     /dev/vg02,
        initial  standby,
        standbypri 1;           ...[5]
server  name     PDB1/bes2A,
        alias    bes2A,
        patrol   10,
        disk     /dev/vg03,
        initial  standby,
        standbypri 1;           ...[8]
server  name     PDB1/bes2B,
        alias    bes2B,
        patrol   10,
        disk     /dev/vg04,
        initial  standby,
        standbypri 2;           ...[12]
server  name     PDB1/bes3A,
        alias    bes3A,
        patrol   10,
        disk     /dev/vg05,
        initial  online;           ...[13]
server  name     PDB1/bes3B,
        alias    bes3B,
        patrol   10,
        disk     /dev/vg06,
        initial  online;           ...[16]