フェールバックの動作について

こんにちは。Windows プラットフォーム サポートの加藤です。
本日は、フェールオーバー クラスターの機能のひとつであるフェールバックについてご紹介させていただきます。

■フェールバックとは
フェールバックとは、障害が発生したノードが再び利用できる状態になった時点で、フェールオーバーにより移動したサービスまたはアプリケーションが既定のノードへ自動的に移動する設定です。
既定値では無効となっていますが、[フェールバックを許可する] を有効にすることで設定いただくことができます。

以下、フェールバックの動作について Node 1 , Node 2 の 2 台のノードでクラスターを構成する環境を例にご紹介させていただきます。

(1) 通常稼働状態

通常時の構成は、下記の図のように仮想マシンを 2 台ずつそれぞれのノードがホストする構成です。
仮想マシン 1 (VM 1 :以下仮想マシンは VM と記載)、VM 2 は優先所有者を Node 1 として [フェールバックを許可する] を設定しています。

Node 1 : VM 1、VM 2
Node 2 : VM 3、VM 4

(2) 障害の発生 (クラスター サービスの停止)

Node 1 で何らかの障害が発生し、Node 1 のクラスター サービス (または OS ) が停止したとします。
 

(3) フェールオーバー

Node 1 でクラスター サービスが停止したことにより、Node 1 でホストしていたサービスやアプリケーション (今回は VM 1、VM 2) は Node 1 上で提供することが不可能となるため、Node 2 にフェールオーバーします。

 

(4) フェールバック

Node 1 を対象としてフェールバックの設定を許可しているサービスやアプリケーション (今回は VM 1、VM 2) は Node 1 のクラスター サービスが再び利用できる (起動) 状態になった時点で自動的に Node 1 へ移動します。
優先所有者ノードに設定したノードへサービスやアプリケーション  (今回は VM 1、VM 2) が自動的に移動する動きがフェールバックです。

 

上述の例でご紹介させていただきました通り、クラスター環境が障害から復旧する際には手動で設定変更をいただかずに既定値の状態に戻すことができ、またフェールバックを設定いただくことで、クラスターを構成するノードの正常稼動時にどのリソースをどのノードでホストするか明示的に指定することが可能です。
そのため、下記のような運用を想定されている環境では非常に有用な設定です。

・障害発生時を除き、クラスターの保有するリソースを常に一定のノードで運用したい
・障害から環境が復旧した際には、負荷分散や管理の観点から元々稼働していたノードにリソースを自動的に移動させたい
・クラスター上の仮想マシンの OS の停止時間を最小限に抑え、それに伴う通信断を発生させたくない(ライブマイグレーション)

  [補足] フェールオーバー時の負荷分散について
  --------------------------------------------------------------
なお、フェールオーバーにつきましては、3 台以上のノードでクラスターを構成いただいている環境で、1 台に障害が発生しクラスター グループや使用可能記憶域、クラスターの役割やリソースがフェールオーバーした場合、フェールバック等を設定していない場合でも稼働しているノードの負荷状況を考慮し、リソースが分散しフェールオーバーすることが確認できています。
  --------------------------------------------------------------

■フェールバックの設定
下記ではフェールバックの設定についてご紹介させていただきます。

フェールバックの設定
--------------------------------------------------------------
フェールバックを設定いただく際には下記の 2 点をフェールオーバー クラスター マネージャーより設定いただく必要があります。
・[全般] タブの [優先する所有者]
・[フェールオーバー] タブの[フェールバック設定]: フェールバックを許可する (今すぐ)

上記の設定項目の展開手順
--------------------------------------------------------------
1. フェールオーバー クラスター マネージャーを起動し、<クラスター名> - [役割] - 中央ペインでフェールバックを設定したい役割を右クリックして [プロパティ] でプロパティ ウィンドウを起動します。

2. [全般] タブの [優先する所有者] をチェックします(いずれか 1 台のノードを指定してください)

3. [フェールオーバー] タブの[フェールバック設定] で "フェールバックを許可する(今すぐ)" をチェックしてください (既定ではフェールバックを禁止するがチェックされています)

 

このブログが皆様のお役に立てれば幸いです。

<参考情報>
[タイトル] クラスター化されたサービスまたはアプリケーションの設定の変更
https://technet.microsoft.com/ja-jp/library/cc755151.aspx

[タイトル]フェールオーバーとフェールバック
https://msdn.microsoft.com/ja-jp/library/cc757139(v=ws.10).aspx