Windows Server 2008 R2 でのフェールオーバークラスター(WSFC) 実践めも その2

日記「Windows Server 2008 R2 でのフェールオーバークラスター(WSFC) 実践めも - oknknicの日記」でクラスタを構築したので、その上で動作するアプリケーションを構成してみる。

管理ツール>フェールオーバークラスターマネージャー のヘルプの「フェールオーバークラスター」の項がわかり易い。
このヘルプの内容を元に、概要&動作確認メモする。

なお、アプリケーションの構成は「高可用性ウィザード」を用いて行うことになる。
ドメイン指定でログインし、「フェールオーバー クラスター マネージャー」>「クラスターの管理」>「サービスまたはアプリケーションの構成」)

前提

クラスタ上でサービス、アプリを動かすには、以下の2つの場合がある。

  • クラスター対応のサービス、アプリを対象とする
  • クラスター対応ではないサービス、アプリを対象とする

クラスター対応のサービス、アプリを対象とする場合

ヘルプの、「チェックリスト:クラスター化されたファイルサーバーの作成」の項に沿って、ファイルサーバーの高可用化を試してみる。

1. 各クラスタノードで、「ファイルサービス」の役割を有効化する
2. いずれかのクラスタノードで、クラスタ記憶域にドライブ文字を割り当てる(フェールオーバークラスターマネージャー>記憶域>使用可能記憶域)
3. いずれかのクラスタノードで、高可用性ウィザードを開き、「ファイルサーバー」を選択して進める
 (※IPアドレスは、クラスタ対象のサービス、アプリ単位での設定が必要(重複不可))
 (※記憶域ボリュームの選択では、少なくとも1つのディスクにはドライブ文字が割り当てられている必要がある)
 (※記憶域は、アプリケーション毎に異なるボリュームを設定する必要がある)

クラスター対応ではないサービス、アプリを対象とする場合

ヘルプの、
「高可用性を実現するためのサービスまたはアプリケーションの構成」>「フェールオーバー クラスターに構成できる汎用のサービスおよびアプリケーションについて」
の項の概要を抜粋。

フェールオーバー クラスターでは、汎用アプリケーション、汎用スクリプト、および汎用サービスの各オプションを使用して、"クラスター対応" ではない (クラスターで実行するように設計されていない) サービスおよびアプリケーションが高可用性を備えるように構成できます。

整理すると、

  • 汎用アプリケーション
    • 実行環境:クラスタソフトウェアがアプリを起動
    • 確認方法:OSに、そのアプリが動作しているかを定期的に問い合わせ
    • ポイント:「アプリが動作中に見えるか否か」でしか判定できない。
  • 汎用スクリプト
  • 汎用サービス
    • 実行環境:クラスタソフトウェアがサービスを起動
    • 確認方法:OSの機能であるサービスコントローラーに、そのサービスが実行中であるかを定期的に問い合わせ
    • ポイント:「サービスが実行中か否か」でしか判定できない

ただし、フェールオーバークラスタ環境で動作するアプリ、サービスは、以下の基本要件を満たす場合のみ適切に動作する。

  • ステートフルであること。(そうでないなら、負荷分散の方が適している)
  • ネットワークが中断した場合、再接続を試行できること。
  • 使用するディスクを識別できること。(フェールオーバー後に正しいディスクを検出するため)
  • IPベースのプロトコルを使用していること。(?)

作業的には、
 いずれかのクラスタノードで、高可用性ウィザードを開き、「汎用○○」を選択して進める
となる。

補足:空サービスでの動作検証(2012/07/18追記)

フェールオーバの動作検証のみであれば、空サービスで十分である。
1. 作成(フェールオーバークラスターマネージャー>操作>その他のアクション>空のサービスまたはアプリケーションの作成)
2. 設定(右クリック>リソースの追加>クライアントアクセスポイント)