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

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

26.2.4 影響分散スタンバイレス型系切り替えのシステム構成例

<この項の構成>
(1) システム構成例
(2) HAグループを複数定義している構成
(3) 各サーバの切り替え先の決定方法

(1) システム構成例

影響分散スタンバイレス型系切り替えのシステム構成例を次の図に示します。正規ユニットでの障害発生時に,障害対象の現用系のバックエンドサーバへの処理を稼働中の複数のサーバマシンがバックエンドサーバ単位で分担して実行します。

図26-27 影響分散スタンバイレス型系切り替えのシステム構成例

[図データ]

〔説明〕
  1. ユニット1に障害が発生した場合は,ユニット2でBES1がゲストBESとして処理を実行し,ユニット3でBES2がゲストBESとして処理を実行します。
  2. ユニット1の障害中に更にユニット2で障害が発生した場合は,ユニット3でBES1,BES2,BES3,BES4がそれぞれゲストBESとして処理を実行します。

(2) HAグループを複数定義している構成

一つのHAグループに定義できるユニットの数は32ですが,HAグループを複数定義することで,32ユニットを超える大規模なシステムでも,影響分散スタンバイレス型系切り替え機能を使用できます。HAグループを複数定義している場合の影響分散スタンバイレス型系切り替えのシステム構成例を次の図に示します。

図26-28 HAグループを複数定義している場合の影響分散スタンバイレス型系切り替えのシステム構成例

[図データ]

〔説明〕
HAグループ1には,unt1〜unt32までの32ユニットが定義されています。unt1のサーバマシンで障害が発生した場合,BES1はHAグループ1中のユニットのゲストBESとして処理を実行します。HAグループ2及び3でも同様です。
三つのHAグループを定義することで,96ユニットのシステムで影響分散スタンバイレス型系切り替え機能を使用できます。

(3) 各サーバの切り替え先の決定方法

影響分散スタンバイレス型系切り替え機能の場合,次に示す点を考慮して各サーバの切り替え先を決定します。

影響分散スタンバイレス型系切り替えの場合,HiRDBは次に示す手順で切り替え先を決定します。

〈手順〉
  1. 全サーバの優先順位第1位の切り替え先ユニットを決定します。決定基準は次のとおりです。
    ・一つのユニットから各ユニットに切り替えるサーバの数を均等にします。
    ・切り替え先でグローバルバッファを共用するサーバの数をユニット間で均等にします。
  2. i=1からHAグループ内のユニット数−2まで,手順の3〜9を繰り返します。
  3. 優先順位i+1番目の切り替え先が決まっていないサーバを一つ選択します。
  4. 該当するサーバがある場合は手順の5に進み,該当するサーバがない場合はi=i+1として手順の3に戻ります。
  5. 選択したサーバの1番目からi番目までの切り替え先と該当サーバが属するユニットを障害ユニットと想定します。
  6. 障害ユニット以外のユニットを切り替え先候補ユニットとします。
  7. 障害ユニットに属するサーバから,定義済み切り替え先に切り替え先候補ユニットを含むサーバをすべて抽出し,最も優先順位が高い切り替え先ユニットに該当サーバのゲストBESが割り当てられていることにします。
  8. 障害ユニットに属するサーバから,定義済み切り替え先に切り替え先候補となるユニットを含まないサーバをすべて抽出し,それぞれi+1番目の切り替え先ユニットを決定します。決定基準は次のとおりです。
    ・ゲストBES数が最も少ないユニットを選択します。
    ・ゲストBES中に該当サーバとグローバルバッファを共用するサーバが少ないユニットを選択します。
  9. 手順の3に戻ります。
(a) 4ユニット構成の場合

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

[図データ]

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

  1. 優先順位第1位の切り替え先ユニットの決定
    BES3Bの優先順位第1位の切り替え先を決定する例を示します。グローバルバッファを共用するサーバ(BES1B,BES2B)及びBES3Aと切り替え先が同じにならないように切り替え先を決定します。具体的には,BES1Bの切り替え先(unt3),BES2Bの切り替え先(unt4),BES3Aの切り替え先(unt4)以外となるため,unt1を選択します。
    サーバ ホストBES 優先順位第1位 優先順位第2位 優先順位第3位
    BES1A unt1 unt2 割り当て中 割り当て中
    BES1B unt3 割り当て中 割り当て中
    BES1C unt4 割り当て中 割り当て中
    BES2A unt2 unt3 割り当て中 割り当て中
    BES2B unt4 割り当て中 割り当て中
    BES2C unt1 割り当て中 割り当て中
    BES3A unt3 unt4 割り当て中 割り当て中
    BES3B unt1 割り当て中 割り当て中
    BES3C 割り当て中 割り当て中 割り当て中
    BES4A unt4 割り当て中 割り当て中 割り当て中
    BES4B 割り当て中 割り当て中 割り当て中
    BES4C 割り当て中 割り当て中 割り当て中
  2. 優先順位2番目以降の切り替え先ユニットの決定
    BES2Bの優先順位第2位の切り替え先を決定する例を示します。
    まず,BES2Bの定義済み切り替え先unt4とBES2Cの属するunt2を障害ユニットと想定し(手順5),unt1とunt3を切り替え先候補ユニットとします(手順6)。次に,障害ユニット(unt2,unt4)に属するサーバから,切り替え先候補ユニットを切り替え先に定義済みのサーバ(BES2A,BES2C,BES4A,BES4C)を抽出し,次のとおりゲストサーバが割り当てられていることにします(手順7)。
    BES2A:unt3,BES2C:unt1,BES4A:unt1,BES4C:unt3
    次に,定義済み切り替え先に切り替え先候補ユニットを含まないサーバ(BES2B,BES4B)を抽出し,優先順位2番目の切り替え先ユニットを決定します。このとき,unt1,unt3のゲストBES数は等しく,BES2BとBES4Bがグローバルバッファを共用するため,BES2Bの切り替え先をunt1,BES4Bの切り替え先をunt3とします。
    サーバ ホストBES 優先順位第1位 優先順位第2位 優先順位第3位
    BES1A unt1
    切り替え先候補ユニット
    unt2 unt4 割り当て中
    BES1B unt3 unt2 割り当て中
    BES1C unt4 unt2 割り当て中
    BES2A unt2
    障害ユニット
    unt3 unt1 割り当て中
    BES2B unt4 unt1 割り当て中
    BES2C unt1 割り当て中 割り当て中
    BES3A unt3
    切り替え先候補ユニット
    unt4 割り当て中 割り当て中
    BES3B unt1 割り当て中 割り当て中
    BES3C unt2 割り当て中 割り当て中
    BES4A unt4
    障害ユニット
    unt1 割り当て中 割り当て中
    BES4B unt2 割り当て中 割り当て中
    BES4C unt3 割り当て中 割り当て中

4ユニット構成での切り替え先の定義例を次の表に示します。

表26-11 4ユニット構成時の切り替え先の定義例

サーバ ホストBES 優先順位第1位 優先順位第2位 優先順位第3位
BES1A unt1 unt2 unt4 unt3
BES1B unt3 unt2 unt4
BES1C unt4 unt2 unt3
BES2A unt2 unt3 unt1 unt4
BES2B unt4 unt1 unt3
BES2C unt1 unt3 unt4
BES3A unt3 unt4 unt2 unt1
BES3B unt1 unt4 unt2
BES3C unt2 unt4 unt1
BES4A unt4 unt1 unt3 unt2
BES4B unt2 unt3 unt1
BES4C unt3 unt1 unt2
(b) 5ユニット構成の場合

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

[図データ]

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

5ユニット構成での切り替え先の定義例を次の表に示します。

表26-12 5ユニット構成時の切り替え先の定義例

サーバ ホストBES 優先順位第1位 優先順位第2位 優先順位第3位 優先順位第4位
BES1A unt1 unt2 unt5 unt3 unt4
BES1B unt3 unt4 unt2 unt5
BES1C unt4 unt3 unt5 unt2
BES1D unt5 unt2 unt4 unt3
BES2A unt2 unt3 unt1 unt4 unt5
BES2B unt4 unt5 unt1 unt3
BES2C unt5 unt4 unt3 unt1
BES2D unt1 unt3 unt5 unt4
BES3A unt3 unt4 unt2 unt1 unt5
BES3B unt5 unt1 unt2 unt4
BES3C unt1 unt5 unt4 unt2
BES3D unt2 unt4 unt5 unt1
BES4A unt4 unt5 unt3 unt1 unt2
BES4B unt1 unt2 unt3 unt5
BES4C unt2 unt1 unt5 unt3
BES4D unt3 unt5 unt2 unt1
BES5A unt5 unt1 unt4 unt2 unt3
BES5B unt2 unt3 unt1 unt4
BES5C unt3 unt2 unt4 unt1
BES5D unt4 unt1 unt3 unt2