2.3.6 ハイブリッドフェンシング
ハイブリッドフェンシングとは,系のリセットと共有ディスクのSCSIリザーブとを組み合わせた機能です。
系のリセットだけで系切り替えする場合は,系のリセットに失敗すると,系切り替え待ち状態になります。一方,ハイブリッドフェンシングで系切り替えする場合は,系のリセットに失敗しても,共有ディスクのSCSIリザーブをして,系切り替えを続行します。このため,ハイブリッドフェンシングは,ほかの系切り替えの方式に比べて,次のメリットがあります。
-
系障害時の自動的な系切り替えの信頼性が高く,システムの可用性を向上できる。
なお,系のリセットに成功した場合は,共有ディスクのSCSIリザーブをしません。
この機能を使用するかどうかは「1.4 系切り替えの方式」および「3.1 HAモニタで使用できる機能一覧」を参照して判断してください。
この機能を使用したときの処理の流れを次に示します。
- 〈この項の構成〉
(1) 必要な環境設定
HAモニタの環境設定で次のように指定してください。
-
HAモニタの環境設定のfence_scsiオペランドにuseを指定する。
-
サーバ対応の環境設定のscsi_deviceオペランドにデバイスを指定する。
- 共有ディスクを使用しないサーバがある場合
-
リザーブをするには共有ディスクが必須ですが,共有ディスクを使用するサーバと使用しないサーバを組み合わせたシステム構成でも,リザーブをすることができます。
ただし,共有ディスクを使用しないと,監視パス障害などによる系切り替えの発生に実行サーバが気づけないことがあります。このため,共有ディスクを使用しないサーバがある場合は,次の表に示すどちらかの設定をしてください。
表2‒1 共有ディスクを使用しないサーバがある場合の設定 設定
メリット
デメリット
共有ディスクを使用しないサーバでも,リザーブ用の共有ディスクを用意し,サーバ対応の環境設定のscsi_deviceオペランドに定義する。
ほかのサーバと親子関係にならないため,順序制御による影響を受けない。
リザーブ用の共有ディスクが必要になるため,業務で使用しない新たな共有リソースが必要になる。
共有ディスクを使用するサーバと使用しないサーバを同一のグループにグループ化し,必ず一緒に稼働させる。
次のような例が考えられる。
-
リソースサーバに共有ディスクを集約し,各サーバをリソースサーバの子サーバとして定義する。
-
共有ディスクを使用しないサーバは,共有ディスクを使用するサーバを親サーバに指定し,サーバ起動時は親サーバから子サーバの順番に起動し,サーバ停止時は子サーバから親サーバの順に停止するように運用する。
リザーブ用の共有ディスクが不要である。
ほかのサーバと親子関係になるため,順序制御による次の影響を受ける。
-
系切り替え時,親サーバが起動してから子サーバが起動するため,切り替え時間が増加する。
-
サーバ起動時,親サーバの起動が失敗すると,子サーバも起動に失敗する。
-
(2) 共有ディスクのSCSIリザーブをする契機
HAモニタは,系間の同時リセットを防止するために,リセットを発行する契機を系ごとにずらしています。さらに,系間で同時に共有ディスクのSCSIリザーブをすることも防止するため,すべての系のリセット終了時間が経過してから,共有ディスクのSCSIリザーブをします。
(3) 共有ディスクのSCSIリザーブで系切り替えした場合の運用
共有ディスクのSCSIリザーブをして系切り替えすると,共有ディスクがリザーブされている状態で,運用が継続されます。共有ディスクのリザーブは,次の場合にHAモニタが解除します。
-
切り替え元のサーバを再待機したあと,系切り替え先のサーバが停止した場合
-
切り替え元のサーバを再待機したあと,系切り替え先が系障害になり,リセットに成功した場合
-
ハードウェアの電源断の通報を受けたあと,系切り替え先のサーバが停止した場合
-
待ち状態のサーバ起動コマンド(monactコマンド)を実行して,系切り替え待ち状態のサーバを実行サーバとして起動した場合
-
制御グループを使用しているサーバで,系切り替え元のOSが再起動した場合
HAモニタが共有ディスクのリザーブを解除する前に,次の事象が発生した場合は,リザーブが解除されません。
-
実行サーバが停止した場合(メッセージKAMN728-Wが出力されます)
-
実行サーバが稼働したままOSをシャットダウンした場合
-
実行系の系障害が発生した場合
リザーブされたままの状態だと,次の実行サーバの起動時に起動ができません。ほかの系に実行サーバが存在しないことを確認し,リザーブを解除したあとで実行サーバを起動する必要があります。リザーブの確認,および解除する手順については,「7.5.6 共有ディスクのデバイス障害に対処する(実行サーバ起動時)(ハイブリッドフェンシングを使用する場合)」および「7.5.7 共有ディスクのデバイス障害に対処する(実行サーバ起動時以外)(ハイブリッドフェンシングを使用する場合)」を参照してください。
(4) 共有ディスクのSCSIリザーブのチェック(実行サーバが稼働する系の場合)
実行サーバが稼働する実行系では,他系がリザーブを確保していないかを定期的にチェックします。系切り替えによって,待機系が共有ディスクをリザーブした場合,実行系はこれを検知し,サーバを停止させます。
HAモニタは,サーバが使用するすべての共有ディスクに対してリザーブの状況を実行系から定期的にチェックしています。監視パス障害などによる待機系への系切り替えなどで他系が強制的にリザーブを確保していないかを確認します。
チェック間隔は,HAモニタの環境設定のscsi_checkオペランドで指定します。デフォルトでは5秒です。
(5) 共有ディスクのパスチェック(待機サーバが稼働する系の場合)
HAモニタは,待機系から共有ディスクのステータスを取得して,ディスクパスの状況をチェックしています。リセット失敗時に共有ディスクのリザーブが確保できずに系切り替え待ち状態になることを防ぐため,共有ディスクのリザーブが確保できる状態かチェックします。リザーブが確保できない場合は,ユーザに通知して事前に対処できるようにします。
異常がないかを事前にチェックしてユーザに通知することで,系切り替えの失敗を防止できます。系切り替え時に,共有ディスクの一部,またはすべてのリザーブが確保できない場合は,系切り替えに失敗します。
チェック間隔は,HAモニタの環境設定のscsi_pathcheckオペランドで指定します。デフォルトでは1分です。
ディスクパスの異常を検知した場合は,メッセージKAMN725-W,およびメッセージKAMN726-Eを出力します。
また,ディスクパスの回復を検知した場合は,KAMN727-Iを出力します。
(6) 系のリセットおよび共有ディスクのSCSIリザーブの両方に失敗した場合の動作
系のリセットおよび共有ディスクのSCSIリザーブの両方に失敗した場合は,サーバが系切り替え待ち状態になります。次の図に動作を示します。
(7) グループ化したサーバの場合の系切り替えの成否
グループ化したサーバの場合,系切り替えの成否はグループ内のサーバの構成(順序制御の有無,共有ディスクの有無),および共有ディスクのSCSIリザーブの成否によって変化します。各条件での系切り替えの成否について次に説明します。
(a) 順序制御なしの場合
- 共有ディスクがあるサーバのとき
-
次の図のように,各サーバのリザーブ確保の成否によって系切り替えします。
図2‒15 グループ化したサーバの場合の系切り替えの成否(順序制御なしの場合)(共有ディスクがあるサーバのとき) - 共有ディスクがないサーバのとき
-
次の図のように,系切り替え待ち状態になります。
図2‒16 グループ化したサーバの場合の系切り替えの成否(順序制御なしの場合)(共有ディスクがないサーバのとき)
(b) 順序制御ありの場合
- 子サーバに共有ディスクがあり,かつ親サーバがリザーブ確保に成功したとき
-
次の図のように,各サーバのリザーブ確保の成否によって系切り替えします。
図2‒17 グループ化したサーバの場合の系切り替えの成否(順序制御ありの場合)(子サーバに共有ディスクがあり,かつ親サーバがリザーブ確保に成功したとき) - 子サーバに共有ディスクがあり,かつ親サーバがリザーブ確保に失敗したとき
-
次の図のように,親サーバの結果が子サーバに影響し,親サーバと子サーバのどちらも系切り替え待ち状態になります。
図2‒18 グループ化したサーバの場合の系切り替えの成否(順序制御ありの場合)(子サーバに共有ディスクがあり,かつ親サーバがリザーブ確保に失敗したとき) - 子サーバに共有ディスクがなく,かつ親サーバがリザーブ確保に成功したとき
-
次の図のように,親サーバの結果が子サーバに影響し,親サーバと子サーバのどちらも系切り替えします。
図2‒19 グループ化したサーバの場合の系切り替えの成否(順序制御ありの場合)(子サーバに共有ディスクがなく,かつ親サーバがリザーブ確保に成功したとき) - 子サーバに共有ディスクがなく,かつ親サーバがリザーブ確保に失敗したとき
-
次の図のように,親サーバの結果が子サーバに影響し,親サーバと子サーバのどちらも系切り替え待ち状態になります。
図2‒20 グループ化したサーバの場合の系切り替えの成否(順序制御ありの場合)(子サーバに共有ディスクがなく,かつ親サーバがリザーブ確保に失敗したとき)