4.4.4 サーバ起動時の障害と運用
(1) サーバ障害時の実行サーバの起動失敗
サーバ(HiRDB)の要因で実行サーバを起動できなかった場合,サーバからHA Toolkit Exに実行サーバの起動失敗が通知されます。HA Toolkit Exは通知を受け取った時点で実行サーバを起動失敗と判断します。このとき,クラスタソフトの設定によって,系切り替えを実施します。
サーバのメッセージによって,起動に失敗した原因を調査してください。
(2) 実行サーバのタイムアウト検知
HA Toolkit Exでは,実行サーバが一定の時間内に起動完了するかを監視できます。
定義内容の不正,サーバ起動コマンドの不正,リソース不足などの理由で,一定の時間内にサーバが起動しなかった場合,HA Toolkit Exはサーバの起動失敗と判断します。
実行サーバの起動タイムアウト検知時の動作および対処は,OSによって異なります。OSごとのタイムアウト検知時の動作および対処を次に示します。
- HP-UXの場合
-
HA Toolkit Exがタイムアウト検知をした場合,起動監視時間ごとに警告メッセージ(KAME475-W)が出力されます。
KAME475-Wが出力された場合,出力されたメッセージに従って対処してください。対処をしても警告メッセージが出力される場合は,単にサーバの起動に時間が掛かっていると考えられます。単にサーバの起動に時間が掛かっているときは,警告メッセージを無視してください。または,HA Toolkit Exの定義ファイル(servers)で,サーバ起動監視時間(actpatrolオペランド)の変更を検討してください。
- Windowsの場合
-
HA Toolkit Exの定義ファイル(servers)でactpatrolオペランドに指定したサーバ起動監視時間に達すると,サーバの起動失敗と判断します。MSCSまたはCLUSTERPROが系切り替えをします。
また,MSCSまたはCLUSTERPROでも,サーバが一定の時間内に起動完了するかを監視できます。MSCSまたはCLUSTERPROが起動タイムアウトを検知した時点でサーバの起動失敗と判断し,系切り替えをします。
(3) 待機サーバが未起動の系での,実行サーバの起動失敗
HiRDBの影響分散スタンバイレス型系切り替えでは,一つの系に掛かる負担を分散するために,HiRDBが一つの系で起動できる実行サーバの数を決めます。このため,実行サーバが設定した数だけ起動した時点で,同じ系にある待機サーバは実行サーバに切り替われない状態,つまり未起動状態になります。
クラスタソフトによって系切り替えが実行されるか,またはクラスタソフトからの操作によってサービスグループをオンライン化したときに,HA Toolkit Exが待機サーバの未起動を検知すると,サービスプロセスを起動失敗にします。クラスタソフトに,ほかの系に系切り替えさせます。これによって,タイムアウト検知を待ったり,障害が発生した実行サーバの再起動を待ったりする必要がなくなり,実行サーバの起動に時間が掛かりません。
HiRDBの影響分散スタンバイレス型系切り替えでは,HA Toolkit Exの定義ファイル(servers)のswitch_nosbyオペランドにactfailを指定して,待機サーバが起動していない系では実行サーバが起動に失敗する設定にしてください。
- 注意事項
-
HA Toolkit Exの定義ファイル(servers)でswitch_nosbyオペランドにactfailを指定しないと,HA Toolkit Exは実行サーバを起動失敗にしません。この場合,OSによって次の処理をします。
-
HP-UXの場合
HA Toolkit Exは実行サーバの再起動を待ち続けます。待機サーバがあるほかの系に系切り替えができません。
-
Windowsの場合
クラスタソフトのタイムアウト検知まで待ってから,待機サーバがあるほかの系に系切り替えをします。このため,迅速な系切り替えができません。
-
HA Toolkit Exが待機サーバの未起動を判断し,サービスプロセスを起動失敗させるのは,次の場合です。
-
障害時,待機サーバが起動していない系で,系切り替え処理を開始した場合
-
通常時,待機サーバが起動していない系で,実行サーバを起動するためにサービスグループがオンライン化された場合
待機サーバが未起動の系でのサービスプロセスの起動失敗による,待機サーバが未起動の系での系切り替えの概要を,次に示します。
|
前述の図では,HiRDBで一つの系で起動できる実行サーバの数を二つに設定しています。そのため,実行サーバがすでに二つ起動している系3では,待機サーバが未起動状態になっています。待機サーバが起動していない系では実行サーバを起動できないので,系1で障害が発生して実行サーバ二つの系切り替えをする場合でも,系3に切り替えることはできません。そこでクラスタソフトは,系3で実行サーバの起動に失敗したと判断し,実行サーバの起動数が設定よりも少ない系2に切り替えます。