スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
現用系,予備系とも同じHiRDBシステム定義を使用します。現用系のHiRDBシステム定義を作成した後に,そのHiRDBシステム定義を予備系にコピーしてください。HiRDBシステム定義ファイルの構成例を図26-35及び図26-36に示します。
図26-35 スタンバイ型系切り替え機能使用時のHiRDBシステム定義ファイルの構成例(HiRDB/シングルサーバの場合)
図26-36 スタンバイ型系切り替え機能使用時のHiRDBシステム定義ファイルの構成例(HiRDB/パラレルサーバの場合)
正規BESユニットのユニット制御情報定義ファイル及びバックエンドサーバ定義ファイルを代替BESユニットにコピーします。そのとき,ユニット制御情報定義ファイルの名称を次に示すように変更してください。
pdutsys.正規BESユニットのユニット識別子
この定義ファイルに指定したオペランドのうち,代替中に設定値が有効になるオペランドを次に示します。次に示すオペランド以外は代替BESユニットのユニット制御情報定義ファイルに設定したオペランドの値が有効になります。
スタンバイレス型系切り替え機能使用時のHiRDBシステム定義ファイルの構成例(相互代替構成の場合)を次の図に示します。
図26-37 スタンバイレス型系切り替え機能使用時のHiRDBシステム定義ファイルの構成例(相互代替構成の場合)
影響分散スタンバイレス型系切り替え使用時のシステム定義ファイルの運用方法を次の表に示します。
表26-13 影響分散スタンバイレス型系切り替え使用時のシステム定義ファイルの運用方法
定義種別 | 定義ファイルの運用方法 |
---|---|
システム共通定義 | システム内全ユニットにファイルをコピーします。 バックエンドサーバ定義のデフォルト値として設定するパラメタは,システム共通定義に記述してください。 |
ユニット制御情報定義 | 次のオペランド(システム共通定義に記述できないオペランド)だけを記述してください。
|
サーバ共通定義 | HAグループ内全ユニットにファイルをコピーします。 |
バックエンドサーバ定義 | HAグループ内全ユニットにファイルをコピーします。 |
ここでは,系切り替え機能に関するオペランドについて説明します。系切り替え機能に関するHiRDBシステム定義のオペランドを次の表に示します。
表26-14 系切り替え機能に関するHiRDBシステム定義のオペランド
オペランド名 | 説明及び注意事項 | |
---|---|---|
pd_ha | 系切り替え機能を使用する場合に指定します。 | |
pd_ha_ipaddr_inherit | IPアドレスを引き継ぐかどうかを指定します。マルチスタンバイ構成を適用する場合は,Yを指定してください。高速系切り替え機能を適用するユニットにはNを指定してください。スタンバイレス型系切り替え機能を適用するユニットはこのオペランドを省略してください。 Y:IPアドレスを引き継ぎます。 N:IPアドレスを引き継ぎません。 |
|
pd_ha_unit | 系切り替え機能を適用しないユニットがある場合にnouseを指定します。回復不要FESユニットにはnouseを指定してください。 | |
pd_ha_acttype | 系切り替え機能をモニタモードで運用するか,サーバモードで運用するかを指定します。Sun Cluster,HACMP,又はClusterPerfectを使用した系切り替え機能の場合はサーバモードを使用できません。モニタモードでの運用となります。 monitor:系切り替え機能をモニタモードで運用します。 server:系切り替え機能をサーバモードで運用します。 |
|
pd_ha_restart_failure | このオペランドはモニタモードの場合に指定できます。サーバモードの場合にこのオペランドを指定しても無効になります。HiRDBの再開始に失敗したときに実行するコマンドを指定します。 | |
pd_ha_server_process_standby | ユーザサーバホットスタンバイを使用するかどうかを指定します。 Y:ユーザサーバホットスタンバイを使用します。 N:ユーザサーバホットスタンバイを使用しません。 |
|
pd_ha_agent | 高速系切り替え機能,1:1スタンバイレス型系切り替え機能,又は影響分散スタンバイレス型系切り替え機能を使用する場合に指定します。 standbyunit:高速系切り替え機能を使用します。 server:1:1スタンバイレス型系切り替え機能を使用します。 activeunits:影響分散スタンバイレス型系切り替え機能を使用します。 |
|
pd_ha_transaction pd_ha_trn_queuing_wait_time pd_ha_trn_restart_retry_time |
|
|
pd_ha_switch_timeout | このオペランドはサーバモードの場合に指定できます。モニタモードの場合にこのオペランドを指定しても無効になります。 系切り替え時のHiRDB(HiRDB/パラレルサーバの場合はユニット)の内部停止処理がサーバ障害監視時間を超えた場合に,HiRDBの内部停止処理を待たないで系を切り替えるかどうかを指定します。ここでいうサーバ障害監視時間とは,HAモニタ又はHitachi HA Toolkit Extensionのpatrolオペランドに指定した時間のことです。 HAモニタのpatrolオペランドについては,マニュアル「高信頼化システム監視機能 HAモニタ」を参照してください。Hitachi HA Toolkit Extensionのpatrolオペランドについては,マニュアル「Hitachi HA Toolkit」を参照してください。 Y:系切り替え時のHiRDBの内部停止処理がサーバ障害監視時間を超えた場合,HiRDBの内部停止処理を待たないで系を切り替えます。このとき,HiRDBのスローダウンとして系を切り替えます。 N:系切り替え時のHiRDBの内部停止処理が終わるまで系を切り替えません。 |
|
pd_ha_prc_cleanup_check | サーバプロセスが終了するまで系の切り替え処理を待ち合わせるかどうかを指定します。詳細については,「26.5.2(2)共有ディスクのアクセス制御」を参照してください。 | |
pd_mode_conf | HiRDB(ユニット)の開始方法に関するオペランドです。指定値の目安を次に示します。 モニタモードの場合はMANUAL1を指定してください。 サーバモードの場合は次のように指定してください。
|
|
pd_hostname | 現用系の標準ホスト名を指定します。スタンバイレス型系切り替え機能の場合はユニットの標準ホスト名を指定します(系切り替え機能を使用しない場合と同じです)。 | |
pdunit | -x | 現用系のホスト名を指定します。マルチスタンバイ構成の場合は,IPアドレスを引き継ぐホスト名を指定してください。スタンバイレス型系切り替え機能の場合はユニットのホスト名を指定します(系切り替え機能を使用しない場合と同じです)。 |
-u | ユニット識別子を指定します。 | |
-d | HiRDB運用ディレクトリ名を指定します。マルチスタンバイ構成の場合は,現用系とすべての予備系で同じディレクトリ名を指定してください。1:1スタンバイレス型系切り替え機能の場合は,正規BESユニットと代替BESユニットで同じディレクトリ名を指定してください。影響分散スタンバイレス型系切り替え機能の場合は,HAグループ内の全ユニットで同じディレクトリ名を指定してください。 | |
-c | 予備系のホスト名を指定します。IPアドレスを引き継がない場合に指定します。スタンバイレス型系切り替え機能の場合はこのオプションを省略してください。 | |
-p | HiRDBのポート番号を指定します。1:1スタンバイレス型系切り替え機能の場合,正規BESユニットと代替BESユニットのポート番号※1は同じ番号を指定してください。影響分散スタンバイレス型系切り替え機能の場合は,HAグループ内の全ユニットで同じポート番号を指定してください。 | |
-s | スケジューラのポート番号を指定します。1:1スタンバイレス型系切り替え機能の場合,正規BESユニットと代替BESユニットのポート番号※2は同じ番号を指定してください。影響分散スタンバイレス型系切り替え機能の場合は,HAグループ内の全ユニットで同じポート番号を指定してください。 | |
-t | トランザクションサーバのポート番号を指定します。1:1スタンバイレス型系切り替え機能の場合,正規BESユニットと代替BESユニットのポート番号※3は同じ番号を指定してください。影響分散スタンバイレス型系切り替え機能の場合は,HAグループ内の全ユニットで同じポート番号を指定してください。 | |
pdstart | -c | 代替BES名を指定します。1:1スタンバイレス型系切り替え機能の場合に指定します。 |
-g | 影響分散スタンバイレス型系切り替え機能を使用する場合に,サーバの移動先となるユニットの集合であるHAグループの識別子を指定します。 | |
pdbuffer | -c | 代替中に代替部が使用するグローバルバッファを割り当てる場合にこのオプションを指定します。スタンバイレス型系切り替え機能の場合に指定します。1:1スタンバイレス型系切り替え機能の場合は,「26.5.7 グローバルバッファの定義(1:1スタンバイレス型系切り替え機能限定)」を参照してください。影響分散スタンバイレス型系切り替え機能の場合は,「26.5.8 グローバルバッファの定義(影響分散スタンバイレス型系切り替え機能限定)」を参照してください。 |
pdhagroup | -g | 影響分散スタンバイレス型系切り替え機能を使用する場合にサーバの切り替え先となるユニットの集合としてHAグループを定義します。システム内でHAグループを一意に識別するための識別子を指定します。 |
-u | HAグループを構成するユニットのユニット識別子を指定します。 | |
pd_ha_max_act_guest_servers | 影響分散スタンバイレス型系切り替え機能を使用する場合に,該当ユニット内で同時に実行系として稼働できるゲストBES数の最大値を指定します。 | |
pd_ha_max_server_process | 影響分散スタンバイレス型系切り替え機能を使用する場合に,該当ユニット内の最大起動ユーザサーバプロセス数を指定します。 | |
pd_ha_resource_act_wait_time | 影響分散スタンバイレス型系切り替え機能を使用する場合,ユニットを開始するときに,実行系サーバのリソースが活性化されるまでの最大待ち時間を指定します。 | |
pd_service_port | 同一サーバマシン内複数ユニット構成の場合(相互系切り替え構成を含みます)にこのオペランドを指定するときは注意が必要です。同一サーバマシン内複数ユニット構成の場合(相互系切り替え構成を含みます),このオペランドはユニット制御情報定義でユニットごとに別々のポート番号を指定してください。 次に示す指定をした場合は,どちらかのユニットへの系の切り替えに失敗します。
|
|
pd_ha_mgr_rerun | このオペランドにnotwaitを指定すると,システムマネジャユニットの系切り替え時(切り替え先の系での開始処理時)に,各ユニットからの開始処理完了の連絡待ちを行いません。これによって,停止中のユニットがある状態でもシステムマネジャユニットの系切り替えが実行できるようになります。 運用方法の詳細については,「26.22 停止中のユニットがあるためシステムマネジャユニットの系切り替えに失敗するときの対処方法」を参照してください。 |
|
pd_deter_restart_on_stop_fail | このオペランドはサーバモードの場合に指定します。オペランドにYを指定すると,実行系HiRDBの強制終了処理が異常終了した場合に起きる,意図しない系切り替えを抑止できます。運用方法の詳細については,「26.13.3(5) 強制終了処理の異常終了時に系切り替えを抑止する場合」を参照してください。 | |
pd_max_ard_process | 1:1スタンバイレス型系切り替え機能の場合,正規BESとそれに対応する代替BESに同じ値を指定してください。 |
影響分散スタンバイレス型系切り替え機能では,ほかの系切り替え機能とは異なり,切り替え先の定義方法が大きく異なります。
影響分散スタンバイレス型系切り替え機能では,切り替え単位がサーバのためサーバごとに切り替え先を指定する必要があります。サーバは複数の受け入れユニットを指定できます。複数の受け入れユニットはHAグループとして定義します。各サーバの切り替え先にはHAグループを指定します。
また,影響分散スタンバイレス型系切り替え機能では,ユニットごとに同時に稼働できるゲストBES数の最大値(pd_ha_max_act_guest_servers)を指定できます。
HAグループの構成例を図26-38及び図26-39に示します。
図26-38 HAグループの構成例(その1)
pdhagroup -g hag1 -u unt1,unt2,unt3,unt4 pdstart -t BES -s bes1A -u unt1 -g hag1 pdstart -t BES -s bes1B -u unt1 -g hag1 pdstart -t BES -s bes1C -u unt1 -g hag1 pdstart -t BES -s bes2A -u unt2 -g hag1 pdstart -t BES -s bes2B -u unt2 -g hag1 pdstart -t BES -s bes2C -u unt2 -g hag1 pdstart -t BES -s bes2D -u unt2 -g hag1 pdstart -t BES -s bes3A -u unt3 -g hag1 pdstart -t BES -s bes3B -u unt3 -g hag1 pdstart -t BES -s bes3C -u unt3 -g hag1 pdstart -t BES -s bes4A -u unt4 -g hag1 pdstart -t BES -s bes4B -u unt4 -g hag1 |
図26-39 HAグループの構成例(その2)
pdhagroup -g hag1 -u unt1,unt2 pdhagroup -g hag2 -u unt3,unt4 pdstart -t BES -s bes1A -u unt1 -g hag1 pdstart -t BES -s bes1B -u unt1 -g hag1 pdstart -t BES -s bes1C -u unt1 -g hag1 pdstart -t BES -s bes2A -u unt2 -g hag1 pdstart -t BES -s bes2B -u unt2 -g hag1 pdstart -t BES -s bes2C -u unt2 -g hag1 pdstart -t BES -s bes2D -u unt2 -g hag1 pdstart -t BES -s bes3A -u unt3 -g hag2 pdstart -t BES -s bes3B -u unt3 -g hag2 pdstart -t BES -s bes3C -u unt3 -g hag2 pdstart -t BES -s bes4A -u unt4 -g hag2 pdstart -t BES -s bes4B -u unt4 -g hag2 |
HiRDBシステム定義のpdhagroup の-gオプションにHAグループ名を指定し,-uオプションにHAグループを構成するユニットのユニット識別子を指定します。
pdhagroup -g hag1 -u unt1,unt2 …1. pdhagroup -g hag2 -u unt3,unt4 …2. |
HAグループには次の制限があります。
HAグループを構成するユニットは次の条件をすべて満たさなければなりません。
HiRDBのシステム定義でpdstartの-gオプションに受け入れユニットの属するHAグループを指定します。
影響分散スタンバイレス型系切り替えを適用したユニットに属するすべてのサーバに対して-gオプションを指定しなければなりません。
-gオプションを指定する場合の注意事項を次に示します。
ユニット制御情報定義のpd_ha_max_act_guest_serversオペランドに,ユニット内で同時に実行系として稼働できるゲストBES数の最大値を指定します。この指定によって,ゲストBES用のリソース所要量を削減できます。また,過剰な負荷の上昇を抑えられます。
pd_ha_max_act_guest_serversオペランドの上限値は,HAグループ内のサーバ数から自ユニット内サーバ数を引いた値です。この上限値以上の値を指定しても,pd_ha_max_act_guest_serversオペランドには上限値が設定されます。ホストBESの数とpd_ha_max_act_guest_serversオペランドの値の合計は34に制限されます。
ユニット内の受け入れ可能状態ゲストBESの数は制限しません。ただし,ユニット内で実行系として稼働しているゲストBES数がpd_ha_max_act_guest_serversオペランドに指定した値に達すると,すべての非稼働中のゲストBESについて受け入れ可能状態を解除します。
また,HAグループ内の障害BES数がHAグループ内の稼働中ユニットの空きゲスト用領域数の合計を超えると,障害によって一部のサーバの処理が停止します。
1:1スタンバイレス型系切り替えでの系切り替え後の代替BESユニットでは,代替BESが本来の処理をするとともに,正規BESの処理を代行します。このとき,サーバプロセスは代替BES本来の処理用と正規BESの処理用に割り当てられます。代替BES本来の処理をしているサーバプロセスと正規BESの処理を代行しているサーバプロセスの数は必要に応じて変化しますが,代替BESの最大起動プロセス数(pd_max_bes_processオペランドの値)が両者の合計プロセス数の上限となります。この結果,系切り替え発生後の代替BESユニットでの過剰な負荷上昇を抑止できますが,一方で,系切り替え発生後には同時に処理できるサービス要求数の上限が平均で半数に制限されますので注意が必要です。系切り替え発生後のユニットの負荷上昇,及び同時に処理できるサービス要求数の両方を考慮して代替BESのpd_max_bes_processオペランドを設定してください。
また,系切り替え発生前の状態で常駐プロセス数(pd_process_countオペランドの値)に余裕があり,サービス要求処理中でないサーバプロセスが常駐している状態では,系切り替え発生後にサービス要求処理中でない常駐プロセスを正規BESの処理を代行するために利用できます。このため,切り替え時の処理性能が向上します。
1:1スタンバイレス型系切り替えでの系切り替え発生後のサーバプロセスの割り当て(その1)を次の図に示します。
図26-40 1:1スタンバイレス型系切り替えでの系切り替え発生後のサーバプロセスの割り当て(その1)
系切り替え発生前は代替BES(bes1)のpd_max_bes_processオペランドの値まで同時に処理できます。また,代替BES(bes1)のpd_process_countオペランドの値までサーバプロセスを常駐します。
系切り替えが発生すると代替BES(bes1)の常駐プロセスを使って,正規BES(bes2)の処理を開始します。このため,正規BES(bes2)処理用のサーバプロセス起動が必要なく,切り替え後すぐに正規BES(bes2)の処理が開始します。また,系切り替え前に正規BES(bes2)処理用のサーバプロセスを待機起動する必要もありません。
また,常駐プロセスを使い切った場合は必要に応じてサーバプロセスを追加起動しますが,サーバプロセス数は代替BES(bes1)のpd_max_bes_processオペランドの値までに制限されます。
1:1スタンバイレス型系切り替えでの系切り替え発生後のサーバプロセスの割り当て(その2)を次の図に示します。
図26-41 1:1スタンバイレス型系切り替えでの系切り替え発生後のサーバプロセスの割り当て(その2)
系切り替え後,代替BES(bes1)が正規BES(bes2)の処理を代行中には,代替BESのpd_max_bes_processオペランドの範囲で,必要に応じて起動したサーバプロセスを代替BES(bes1)の処理,及び正規BES(bes2)処理用に振り分けます。
代替BES(bes1)への処理要求だけの場合には,代替BES(bes1)のpd_max_bes_processオペランドの値まで,同時に代替BES(bes1)の処理ができます。
また,正規BES(bes2)への処理要求だけの場合には,代替BES(bes1)のpd_max_bes_processオペランドの値まで,同時に正規BES(bes2)の処理ができます。
影響分散スタンバイレス型系切り替えでの系切り替え後の受け入れユニットでは,実行中ゲストサーバ数がpd_ha_max_act_guest_serversオペランドの値になるまでゲストサーバを受け入れできます。
受け入れユニットではホストBES,ゲストBESがそれぞれ独自の最大起動プロセス数(pd_max_bes_processオペランドの値)の範囲でサーバプロセスを起動しますが,そのほかにユニット内のサーバプロセス数合計値がpd_ha_max_server_processオペランドに制限されます。この結果,受け入れユニットの過剰な負荷上昇を抑止できます。ただし,系切り替え発生後に同時に処理できるサービス要求数の上限が制限されることがありますので注意が必要です。系切り替え発生後のユニットの負荷上昇,及び同時に処理できるサービス要求数の両方を考慮してpd_ha_max_server_processオペランドを設定してください。
また,系切り替え発生前の状態でホストBESの常駐プロセス数(pd_process_countオペランドの値)に余裕があり,サービス要求処理中でないプロセスが常駐している状態では,系切り替え発生後にサービス要求処理中でない常駐プロセスをゲストBESの処理に利用できるため,処理性能が向上します。一方で,常駐プロセス数を必要以上に大きくすると,非サービス要求処理中プロセスによってサーバプロセス数がpd_ha_max_server_processオペランドの値に達し,ほかのサーバで起動済みサーバプロセス数がpd_max_bes_processオペランドの値に満たない状態でも追加のサービス要求処理ができないことがあります。一般に,ユニット内の常駐プロセス数の合計と最大実行プロセス数の合計の比率はゲストサーバ受け入れ前後で同じにすることを推奨します。この目的で,ゲストサーバを受け入れた後のユニット内の常駐プロセス数の合計をpd_ha_process_countオペランドで制限します。実際の常駐プロセス数は,pd_ha_process_countオペランドをユニットで実行中サーバのpd_process_countオペランドで比例配分した数とpd_process_countオペランドの小さい方となります。
サーバプロセス数に関連するオペランドの意味を次に示します。
影響分散スタンバイレス型系切り替えでの系切り替え発生後のサーバプロセス割り当て(その1)を次の図に示します。
図26-42 影響分散スタンバイレス型系切り替えでの系切り替え発生後のサーバプロセス割り当て(その1)
系切り替え発生前はホストBES(bes1,bes2)はそれぞれのpd_max_bes_processオペランドの値まで同時に処理できます。また,それぞれのpd_process_countオペランドの値までサーバプロセスを常駐します。
系切り替えが発生するとホストBES(bes1,bes2)の常駐プロセスを流用してゲストBES(bes3)のサーバプロセスを用意します。このため,ゲストBES(bes3)用のサーバプロセスを起動する必要がなく,切り替え後すぐにゲストBES(bes3)の処理が開始できます。また,系切り替え発生前にゲストBES(bes3)用のサーバプロセスを待機起動する必要もありません。
各サーバは必要に応じてそれぞれのpd_max_bes_processオペランドの値までバックエンドサーバプロセスを起動しますが,ユニット内のサーバプロセスの総計はpd_ha_max_server_processオペランドの値に制限されます。
また,常駐プロセス数の総数がユニット内でpd_ha_process_countオペランドの値となるよう,各サーバの常駐プロセスが調整されます。調整後の各サーバの常駐プロセス数は各サーバのpd_process_countオペランドの比率を保つよう,pd_ha_process_countオペランドの値を比例配分します。
影響分散スタンバイレス型系切り替えでの系切り替え発生後のサーバプロセス割り当て(その2)を次の図に示します。
図26-43 影響分散スタンバイレス型系切り替えでの系切り替え発生後のサーバプロセス割り当て(その2)
系切り替え後,ゲストBES(bes3)受け入れ中は,ユニット内のバックエンドサーバプロセス数がpd_ha_max_server_processオペランドの範囲で,必要に応じてホストBES(bes1,bes2),及びゲストBES(bes3)のバックエンドサーバプロセスを起動します。
特定のホストBES(例えばbes1)への処理要求が特に多い場合は,該当ホストBES(bes1)のpd_max_bes_processオペランドの値まで同時に処理できます。ただし,その分,他サーバ(例えばbes3)の同時要求処理数が少なくなります。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.