2.3.8 ハイブリッドフェンシング
ハイブリッドフェンシングとは,系のリセットと共有ディスクのSCSIリザーブとを組み合わせた機能です。
系のリセットだけで系切り替えする場合は,系のリセットに失敗すると,系切り替え待ち状態になります。一方,ハイブリッドフェンシングで系切り替えする場合は,系のリセットに失敗しても,共有ディスクのSCSIリザーブをして,系切り替えを続行します。このため,ハイブリッドフェンシングは,ほかの系切り替えの方式に比べて,次のメリットがあります。
-
系障害時の自動的な系切り替えの信頼性が高く,システムの可用性を向上できる。
なお,系のリセットに成功した場合は,共有ディスクのSCSIリザーブをしません。
この機能を使用するかどうかは「1.4 系切り替えの方式」および「3.1 HAモニタで使用できる機能一覧」を参照して判断してください。
この機能を使用したときの処理の流れを次に示します。
- 〈この項の構成〉
(1) 必要な環境設定
HAモニタの環境設定で次のように指定してください。
-
HAモニタの環境設定のfence_resetオペランドおよびfence_scsiオペランドにuseを指定する。
-
サーバ対応の環境設定のscsi_deviceオペランドまたはdmmp_deviceオペランドにデバイスを指定する。
「2.3.6 共有ディスクのSCSIリザーブ」の「(4) 共有ディスクを使用しないサーバがある場合」の設定をしない場合,系のリセットに失敗すると,共有ディスクを使用しないサーバは系切り替え待ち状態になります。
(2) 共有ディスクのSCSIリザーブをする契機
HAモニタは,系間の同時リセットを防止するために,リセットを発行する契機を系ごとにずらしています。さらに,系間で同時に共有ディスクのSCSIリザーブをすることも防止するため,すべての系のリセット終了時間が経過してから,共有ディスクのSCSIリザーブをします。系のリセットの失敗は,次のように環境によって異なります。
-
Basic環境:物理リセットの失敗
-
仮想化環境(物理パーティションリセット機能は未使用):論理リセットの失敗
-
仮想化環境(物理パーティションリセット機能を使用):論理リセットの失敗,および物理リセットの失敗
(3) 共有ディスクのSCSIリザーブで系切り替えした場合の運用
共有ディスクのSCSIリザーブをして系切り替えすると,共有ディスクがリザーブされている状態で,運用が継続されます。共有ディスクのリザーブは,次の場合にHAモニタが解除します。
-
切り替え元のサーバを再待機したあと,系切り替え先のサーバが停止した場合
-
切り替え元のサーバを再待機したあと,系切り替え先が系障害になり,リセットに成功した場合
-
ハードウェアの電源断の通報を受けたあと,系切り替え先のサーバが停止した場合
-
待ち状態のサーバ起動コマンド(monactコマンド)を実行して,系切り替え待ち状態のサーバを実行サーバとして起動した場合
HAモニタが共有ディスクのリザーブを解除する前に,次の事象が発生した場合は,リザーブが解除されません。
-
実行サーバが停止した場合(メッセージKAMN728-Wが出力されます)
-
実行サーバが稼働したままOSをシャットダウンした場合
-
実行系の系障害が発生した場合
リザーブされたままの状態だと,次の実行サーバの起動時に起動ができません。ほかの系に実行サーバが存在しないことを確認し,リザーブを解除したあとで実行サーバを起動する必要があります。リザーブの確認,および解除する手順については,「7.5.6 共有ディスクのデバイス障害に対処する(実行サーバ起動時)(共有ディスクのSCSIリザーブをする場合)」および「7.5.8 共有ディスクのデバイス障害に対処する(実行サーバ終了時)(共有ディスクのSCSIリザーブをする場合)」を参照してください。
(4) 共有ディスクのSCSIリザーブのチェック(実行サーバが稼働する系の場合)
実行サーバが稼働する実行系では,他系がリザーブを確保していないかを定期的にチェックします。系切り替えによって,待機系が共有ディスクをリザーブした場合,実行系はこれを検知し,サーバを停止させます。
チェック内容の詳細は「2.3.6 共有ディスクのSCSIリザーブ」の「(3) リザーブのチェック」の「(a) 実行系からのリザーブ状況のチェック」を参照してください。
(5) 共有ディスクのパスチェック(待機サーバが稼働する系の場合)
HAモニタは,待機系から共有ディスクのステータスを取得して,ディスクパスの状況をチェックしています。リセット失敗時に共有ディスクのリザーブが確保できずに系切り替え待ち状態になることを防ぐため,共有ディスクのリザーブが確保できる状態かチェックします。リザーブが確保できない場合は,ユーザに通知して事前に対処できるようにします。
チェック内容の詳細は「2.3.6 共有ディスクのSCSIリザーブ」の「(3) リザーブのチェック」の「(b) 待機系からの共有ディスクのパスの状況のチェック」を参照してください。
(6) 系のリセットおよび共有ディスクのSCSIリザーブの両方に失敗した場合の動作
系のリセットおよび共有ディスクのSCSIリザーブの両方に失敗した場合は,サーバが系切り替え待ち状態になります。次の図に動作を示します。
(7) グループ化したサーバの場合の系切り替えの成否
グループ化したサーバの場合,系切り替えの成否はグループ内のサーバの構成(順序制御の有無,共有ディスクの有無),および共有ディスクのSCSIリザーブの成否によって変化します。各条件での系切り替えの成否について次に説明します。
(a) 順序制御なしの場合
- 共有ディスクがあるサーバのとき
-
次の図のように,各サーバのリザーブ確保の成否によって系切り替えします。
図2‒21 グループ化したサーバの場合の系切り替えの成否(順序制御なしの場合)(共有ディスクがあるサーバのとき) - 共有ディスクがないサーバのとき
-
次の図のように,系切り替え待ち状態になります。
図2‒22 グループ化したサーバの場合の系切り替えの成否(順序制御なしの場合)(共有ディスクがないサーバのとき)
(b) 順序制御ありの場合
- 子サーバに共有ディスクがあり,かつ親サーバがリザーブ確保に成功したとき
-
次の図のように,各サーバのリザーブ確保の成否によって系切り替えします。
図2‒23 グループ化したサーバの場合の系切り替えの成否(順序制御ありの場合)(子サーバに共有ディスクがあり,かつ親サーバがリザーブ確保に成功したとき) - 子サーバに共有ディスクがあり,かつ親サーバがリザーブ確保に失敗したとき
-
次の図のように,親サーバの結果が子サーバに影響し,親サーバと子サーバのどちらも系切り替え待ち状態になります。
図2‒24 グループ化したサーバの場合の系切り替えの成否(順序制御ありの場合)(子サーバに共有ディスクがあり,かつ親サーバがリザーブ確保に失敗したとき) - 子サーバに共有ディスクがなく,かつ親サーバがリザーブ確保に成功したとき
-
次の図のように,親サーバの結果が子サーバに影響し,親サーバと子サーバのどちらも系切り替えします。
図2‒25 グループ化したサーバの場合の系切り替えの成否(順序制御ありの場合)(子サーバに共有ディスクがなく,かつ親サーバがリザーブ確保に成功したとき) - 子サーバに共有ディスクがなく,かつ親サーバがリザーブ確保に失敗したとき
-
次の図のように,親サーバの結果が子サーバに影響し,親サーバと子サーバのどちらも系切り替え待ち状態になります。
図2‒26 グループ化したサーバの場合の系切り替えの成否(順序制御ありの場合)(子サーバに共有ディスクがなく,かつ親サーバがリザーブ確保に失敗したとき)
(8) 注意事項
共有ディスクのSCSIリザーブを解除する際に,sg_persistコマンドを使用することがあります。sg_persistコマンドがインストールされていない場合は,Linuxに同梱されているsg3_utilsパッケージ,およびsg3_utils-libsパッケージをインストールしてください。