2.2.9 サーバの切り替え順序制御

グループ化された複数のサーバで,その親子関係をサーバ対応の環境設定で定義することによって,系切り替えの際,グループ内のサーバの停止順序,および切り替え先の系でのサーバの起動順序を制御できます。この機能は,AIX,HP-UX(PA-RISC),HP-UX(IPF),およびLinux(IPF)の場合に使用できます。

サーバの親子関係を持つ場合,ある任意のサーバの起動を開始するため,その前提として起動完了している必要があるサーバを親サーバといいます。親サーバのあとに起動するサーバを子サーバといいます。

停止順序は起動順序の逆となり,ある任意の親サーバについて,すべての子サーバの停止が完了してから,親サーバの停止処理を開始するように制御されます。サーバグループの親子関係と起動順序を,次の図に示します。

図2-11 サーバグループの親子関係と起動順序

[図データ]

この図では,グループの系切り替えの際,矢印の順序でサーバを起動したい場合,サーバ2の親サーバはサーバ1,サーバ3およびサーバ4の親サーバはサーバ2となります。

注意
サーバの切り替え順序を制御する場合は,次に注意してください。
  • ある任意の子サーバについて,その親サーバは一つだけです。複数の親サーバを定義できません。一方,ある任意の親サーバについては,複数の子サーバを定義できます。
  • リソースサーバを持つグループの場合,リソースサーバが最も上位の親サーバとなります。
  • グループ内に順序関係を持たないサーバも定義できます。
  • 順序制御の有効範囲は同一グループ内のサーバだけです。グループにわたる順序制御はできません。
  • 順序制御はサーバ障害,系障害,または計画系切り替えによる,グループ化されたサーバの連動系切り替え時にだけ制御されるものです。通常の,サーバの起動・停止操作では順序制御されません。この場合は,順序制御とは無関係に,起動・停止されます。
  • HAモニタのmonodrshwコマンドによって,グループ内の親サーバの関連を確認できます。
  • 系切り替え時に順序制御をする際,親サーバの系切り替え失敗時は,それ以降の子サーバも系切り替え失敗となり,対応する子サーバの待機サーバも強制停止されます。また,親サーバが切り替え先に存在しない場合は,無視して系切り替えを続行します。

次に,図2-11に示した構成でのサーバ切り替え順序制御について説明します。

<この項の構成>
(1) 計画系切り替え時の順序制御の流れ
(2) サーバ障害発生時の順序制御の流れ
(3) 系障害発生時の順序制御の流れ

(1) 計画系切り替え時の順序制御の流れ

HAモニタのmonswapコマンドによる計画系切り替え時の,サーバの停止順序および切り替え先の系でのサーバの起動順序の流れを次の図に示します。

図2-12 計画系切り替え時の順序制御の流れ

[図データ]

図の説明
  1. 実行系に実行サーバ1~4,待機系に待機サーバ1~4が起動完了していて,連動系切り替えができる状態です。
  2. HAモニタのmonswapコマンドによる計画系切り替えを開始します。
  3. 親子関係上,最も下位なサーバ3とサーバ4の停止処理を開始します。サーバ1とサーバ2は停止待ちになります。なお,HAモニタのmonshowコマンドによる状態表示では,サーバ1,サーバ2ともに「実行サーバ起動完了」状態です。
  4. サーバ3とサーバ4は,それぞれ並行して停止処理を実施します。停止処理は「サーバの停止」,「共有リソースの切り離し」の順に処理されます。共有リソースの切り離しが完了すると,待機系に系切り替えのための連絡をしますが,すべてのサーバの停止の完了を待つため,サーバ3およびサーバ4は系切り替え待ちの状態になります。なお,HAモニタのmonshowコマンドによる状態表示では,サーバ3,サーバ4ともに「実行サーバ起動中」表示です。
  5. サーバ3とサーバ4の両方の停止処理が完了すると,続けてその親サーバであるサーバ2の停止処理を開始します。
  6. サーバ2の停止処理が完了すると,その親サーバであるサーバ1の停止処理が開始されます。
  7. 最も上位の親サーバであるサーバ1の停止処理が完了すると,待機系への連絡の延長で,まず,サーバ1の系切り替えを開始します。
  8. サーバ1が系切り替えによって実行サーバとして起動完了すると,続けて,その子サーバであるサーバ2の系切り替えを開始します。
  9. サーバ2の系切り替えが完了すると,その子サーバであるサーバ3,およびサーバ4の系切り替えを並行して開始します。サーバ3およびサーバ4の系切り替えが完了すると,連動系切り替えが完了します。

(2) サーバ障害発生時の順序制御の流れ

サーバ障害発生時の,サーバの停止順序および切り替え先の系でのサーバの起動順序の流れを次の図に示します。

図2-13 サーバ障害発生時の順序制御の流れ

[図データ]

図の説明
  1. 実行系に実行サーバ1~4,待機系に待機サーバ1~4が起動完了していて,連動系切り替えができる状態です。
  2. 実行サーバ3に障害が発生すると,連動系切り替えを開始します。
  3. 親子関係上,最も下位のサーバ3とサーバ4の停止処理を開始します。サーバ1とサーバ2は停止待ちになります。なお,HAモニタのmonshowコマンドによる状態表示では,サーバ1,サーバ2ともに「実行サーバ起動完了」状態です。
  4. サーバ3とサーバ4は,それぞれ並行して停止処理を実施します。停止処理は「サーバの停止」,「共有リソースの切り離し」の順に処理されます。共有リソースの切り離しが完了すると,待機系に系切り替えのための連絡をしますが,すべてのサーバの停止完了を待つため,サーバ3およびサーバ4は系切り替え待ちの状態になります。なお,HAモニタのmonshowコマンドによる状態表示では,サーバ3,サーバ4ともに「実行サーバ起動中」状態です。
  5. サーバ3およびサーバ4両方の停止処理が完了すると,続けて,その親サーバであるサーバ2の停止処理を開始します。
  6. サーバ2の停止処理が完了すると,その親サーバであるサーバ1の停止処理を開始します。
  7. 最も上位の親サーバであるサーバ1の停止処理が完了すると,待機系へ連絡し,まず,サーバ1の系切り替えを開始します。
  8. サーバ1の系切り替えが完了すると,その子サーバであるサーバ2の系切り替えを開始します。
  9. サーバ2の系切り替えが完了すると,その子サーバであるサーバ3,およびサーバ4の系切り替えを並行して開始します。サーバ3およびサーバ4の系切り替えが完了すると,連動系切り替えが完了します。

(3) 系障害発生時の順序制御の流れ

系障害発生時の,サーバの停止順序および切り替え先の系でのサーバの起動順序の流れを次の図に示します。

図2-14 系障害発生時の順序制御の流れ

[図データ]

図の説明
  1. 実行系に実行サーバ1~4,待機系に待機サーバ1~4が起動完了していて,連動系切り替えができる状態です。
  2. 実行系に系障害が発生すると,実行系をリセットし,系切り替えを開始します。
  3. 親子関係上,最も上位の親サーバであるサーバ1の系切り替えを開始します。
  4. サーバ1の系切り替えが完了すると,その子サーバであるサーバ2の系切り替えを開始します。
  5. サーバ2の系切り替えが完了すると,その子サーバであるサーバ3,およびサーバ4の系切り替えを並行して開始します。サーバ3およびサーバ4の系切り替えが完了すると,連動系切り替えが完了となります。