5.13 Windowsクラスタの保護

PlateSpin Protectでは、Microsoft Windowsクラスタのビジネスサービスの保護をサポートしています。サポートされるクラスタリング技術は次のとおりです。

  • Windows Server 2012 R2: サーバベースのMicrosoftフェールオーバークラスタ(「ノードおよびディスクマジョリティのクォーラム」モデルおよび「マジョリティなし: ディスク専用クォーラム」モデル)

  • Windows Server 2008 R2: サーバベースのMicrosoftフェールオーバークラスタ(「ノードおよびディスクマジョリティのクォーラム」モデルおよび「マジョリティなし: ディスク専用クォーラム」モデル)

  • Windows Server 2003 R2: ServerベースのWindowsクラスタサーバ (「シングルクォーラムデバイスクラスタ」モデル)

ご使用のPlateSpin環境に対してWindowsクラスタの検出を有効または無効にできます。詳細については、セクション 5.13.2, Windowsクラスタ検出の有効化または無効化を参照してください。

メモ:Windowsのクラスタ管理ソフトウェアは、クラスタノード上で実行されているリソースに対して、フェールオーバーとフェールバックの制御を提供します。このマニュアルでは、このアクションのことを「クラスタノードのフェールオーバー」または「クラスタノードのフェールバック」と呼んでいます。

PlateSpin Serverは、クラスタを表す保護ワークロードに対して、フェールオーバーとフェールバックの制御を提供します。このマニュアルでは、このアクションのことを「PlateSpinのフェールオーバー」または「PlateSpinのフェールバック」と呼んでいます。

5.13.1 クラスタワークロードの保護

クラスタの保護は、アクティブノード上の変更の増分レプリケーションを、ノードが1つの仮想クラスタに流すことで実現します。この仮想クラスタは、ソースインフラのトラブルシューティングで使用できます。Windowsクラスタを保護対象に設定する前に、現在の環境が前提条件を満たしていること、およびクラスタワークロードの保護条件を理解していることを確認します。

前提条件

クラスタ保護のサポート範囲は、次の条件に従う必要があります。

  • アクティブノードのホスト名またはIPアドレス: ワークロードの追加操作を実行する場合、クラスタのアクティブノードのホスト名またはIPアドレスを指定する必要があります。Microsoftによるセキュリティ変更のため、仮想クラスタ名(つまり、共有クラスタIPアドレス)を使用してWindowsクラスタを検出することはできなくなりました。

  • アクティブノードの検出: PlateSpinグローバル環境設定DiscoverActiveNodeAsWindowsClusterがTrueに設定されていることを確認します。これはPlateSpin Server環境設定ページにあります。これがデフォルトの設定です。詳細については、セクション 5.13.2, Windowsクラスタ検出の有効化または無効化を参照してください。

  • リソース名の検索値: PlateSpin Protectが共有クラスタIPアドレスリソースの名前を、クラスタ上にある他のIPアドレスリソースの名前と容易に区別できる、使用する検索値を指定する必要があります。詳細については、セクション 5.13.3, リソース名の検索値を参照してください。

  • 解決可能なホスト名: PlateSpin Serverは、クラスタに属する各ノードのホスト名を解決できる必要があります。

    メモ:ホスト名はIPアドレスによって解決可能である必要があります。つまり、ホスト名の参照と逆引き参照の両方が必要です。

  • クォーラムリソース: クラスタのクォーラムリソースは、ノード上で、保護されるクラスタのリソースグループ(サービス)と一緒に用いられる必要があります。

  • PowerShell 2.0: クラスタの各ノードにWindows PowerShell 2.0エンジンがインストールされている必要があります。

ブロックベース転送

クラスタワークロードに対してブロックベース転送を使用する場合、ブロックベースのドライバコンポーネントはクラスタノードにインストールされていません。ブロックベース転送は、ドライバを使用しない同期をMD5ベースのレプリケーションで使用することで発生します。ブロックベースのドライバがインストールされていないので、ソースクラスタノードでの再起動は不要です。

メモ:ファイルベースの転送は、Microsoft Windowsクラスタを保護するためにサポートされていません。

最初の完全レプリケーション中のクラスタノードのフェールオーバー

クラスタワークロードでは、最初の完全レプリケーションが、クラスタノードのフェールオーバーが発生することなく正常に完了する必要があります。最初の完全レプリケーションが完了する前にクラスタノードのフェールオーバーが発生した場合、既存のワークロードを削除し、アクティブノードを使用しているクラスタを追加し直してから、もう一度実行する必要があります。

レプリケーション中のクラスタノードのフェールオーバー

フルまたは増分レプリケーション中のコピー処理が完了する前にクラスタノードフェールオーバーが生じた場合、コマンドは中止され、レプリケーションを再実行する必要があることを示すメッセージが表示されます。

レプリケーション間でのクラスタノードのフェールオーバー

レプリケーションプロセスが中断されるのを防ぐため、各ノードには類似するプロファイルが必要です。保護されたクラスタで実行する複数回の増分レプリケーションの間でクラスタノードのフェールオーバーが発生した場合および新しいアクティブノードのプロファイルが障害元アクティブノードのプロファイルに類似している場合は、保護契約が次回の増分レプリケーションで予定どおり継続されます。それ以外の場合は、次回の増分レプリケーションコマンドが失敗します。

クラスタノードのプロファイルは、次のすべての条件を満たす場合、類似しているとみなされます。

  • ノードのローカルボリューム(システムボリュームおよびシステム予約済みボリューム)のシリアル番号は各クラスタノードで同一である必要があります。

    メモ:カスタマイズされたボリュームマネージャユーティリティを使用して、ローカルボリュームのシリアル番号をクラスタの各ノードで一致するように変更します。詳細については、クラスタノードにおけるローカルストレージのシリアル番号の同期を参照してください。

    クラスタの各ノードのローカルボリュームでシリアル番号が異なる場合、クラスタノードでのフェールオーバーの実行後にレプリケーションを実行できません。たとえば、クラスタノードでのフェールオーバーの実行時には、アクティブノードであるノード1に障害が発生し、クラスタソフトウェアによってノード2がアクティブノードに設定されます。2つのノードのローカルドライブでシリアル番号が異なる場合、ワークロードの次回のレプリケーションコマンドが失敗します。

  • 各ノードが同じ数のボリュームを持っている必要があります。

  • 各ボリュームが各ノードでまったく同じサイズである必要があります。

  • 各ノードがまったく同数のネットワーク接続を持っている必要があります。

保護のセットアップ

Windowsクラスタの保護を設定するには、通常のワークロード保護ワークフローに従います。クラスタのアクティブノードのホスト名またはIPアドレスを指定するようにしてください。詳細については、ワークロードの保護と回復の基本ワークフローを参照してください。

5.13.2 Windowsクラスタ検出の有効化または無効化

PlateSpin Serverは、各クラスタのアクティブノードに基づいて、PlateSpin環境内のWindows Serverフェールオーバークラスタを検出してインベントリできます。また、すべてのアクティブクラスタノードと非アクティブクラスタノードをスタンドアロンマシンとして扱うこともできます。

すべてのWindowsクラスタに対してクラスタ検出を有効にするには、パラメータDiscoverActiveNodeAsWindowsClusterがTrueに設定されていることを確認します。これがデフォルトの設定です。クラスタ検出、インベントリ、およびワークロード保護では、クラスタのアクティブノードのホスト名またはIPアドレスを使用します。そのクラスタ名や管理共有は使用しません。クラスタの非アクティブノードに対して別個のワークロードは設定しません。クラスタワークロード保護の他の要件については、前提条件を参照してください。

すべてのWindowsクラスタに対してクラスタ検出を無効にするには、パラメータDiscoverActiveNodeAsWindowsClusterをFalseに設定します。この設定により、PlateSpin Serverは、Windowsフェールオーバークラスタのすべてのノードをスタンドアロンマシンとして検出できるようになります。つまり、クラスタのアクティブノードと非アクティブノードを、クラスタ非対応の通常のWindowsワークロードとしてインベントリします。

クラスタ検出を有効または無効にするには:

  1. PlateSpin Server環境設定ページに移動します。これは次の場所にあります。

    https://<platespin-server-ip-address>/PlatespinConfiguration

  2. DiscoverActiveNodeAsWindowsClusterを検索して、編集をクリックします。

  3. Value (値)フィールドで、クラスタ検出を有効にする場合はTrueを選択し、クラスタ検出を無効にする場合はFalseを選択します。

  4. 保存をクリックします。

5.13.3 リソース名の検索値

Windowsフェールオーバークラスタ内のアクティブノードを容易に識別するため、PlateSpin Protectは、共有クラスタIPアドレスリソースの名前を、クラスタ上にある他のIPアドレスリソースの名前と区別する必要があります。共有クラスタIPアドレスリソースは、クラスタのアクティブノードに存在します。

PlateSpin Server環境設定ページのグローバルパラメータMicrosoftClusterIPAddressNamesに、Windowsクラスタワークロードの検出で使用する検索値のリストが含まれています。Windowsクラスタワークロードを追加する場合、クラスタの現在アクティブになっているノードのIPアドレスを指定する必要があります。PlateSpin Protectは、そのノード上でクラスタのIPアドレスリソースの名前を検索し、リストにある値の指定した文字で「始まる」名前を見つけます。そのため、各検索値には、特定のクラスタ上にある共有クラスタIPアドレスリソースを区別するのに十分な数の文字が含まれている必要があります。ただし、他のWindowsクラスタでの検出に適用できるよう十分に短くすることができます。

たとえば、検索値Clust IP AddressまたはClust IPは、10.10.10.201に対応するリソース名Clust IP Addressと、10.10.10.101に対応するリソース名Clust IP Addressに一致します。

共有クラスタIPアドレスリソースのデフォルト名は、英語の場合はCluster IP Addressで、クラスタノードが別の言語で設定されている場合は同等の語句です。MicrosoftClusterIPAddressNamesリストのデフォルトの検索値には、英語のリソース名Cluster IP Addressと、サポートされる言語それぞれのリソース名が含まれています。

共有クラスタIPアドレスリソースのリソース名はユーザが設定可能であるため、必要に応じてリストに他の検索値を追加する必要があります。リソース名を変更した場合、関連する検索値をMicrosoftClusterIPAddressNamesリストに追加する必要があります。たとえば、リソース名Win2012-CLUS10-IP-ADDRESSを指定した場合、その値をリストに追加する必要があります。複数のクラスタで同じ命名規則を使用している場合、Win2012-CLUSというエントリは、その一連の文字で始まる任意のリソース名に一致します。

MicrosoftClusterIPAddressNamesリストに検索値を追加するには:

  1. PlateSpin Server環境設定ページに移動します。これは次の場所にあります。

    https://<platespin-server-ip-address>/PlatespinConfiguration

  2. MicrosoftClusterIPAddressNamesを検索して、編集をクリックします。

  3. Value (値)フィールドで、検索値を1つ以上リストに追加します。

  4. 保存をクリックします。

5.13.4 クォーラムアービトレーションのタイムアウト

PlateSpin Server環境設定ページのグローバルパラメータFailoverQuorumArbitrationTimeoutを使用して、PlateSpin環境のWindows Serverフェールオーバークラスタに対してQuorumArbitrationTimeMaxレジストリキーを設定できます。デフォルトのタイムアウトは60秒で、Microsoftによるこの設定のデフォルト値と一致しています。Microsoft Developer NetworkのWebサイトで「QuorumArbitrationTimeMax」を参照してください。フェールオーバーおよびフェールバック時のクォーラムアービトレーション時には、指定したタイムアウト間隔が遵守されます。

すべてのWindowsフェールオーバークラスタに対してクォーラムアービトレーションのタイムアウトを設定するには:

  1. PlateSpin Server環境設定ページに移動します。これは次の場所にあります。

    https://<platespin-server-ip-address>/PlatespinConfiguration

  2. FailoverQuorumArbitrationTimeoutを検索して、編集をクリックします。

  3. Value (値)フィールドで、クォーラムアービトレーションに対して許可する最大秒数を指定します。

  4. 保存をクリックします。

5.13.5 ローカルボリュームのシリアル番号の設定

ボリュームマネージャユーティリティを使用して、ローカルボリュームのシリアル番号をクラスタの各ノードで一致するように変更できます。詳細については、クラスタノードにおけるローカルストレージのシリアル番号の同期を参照してください。

5.13.6 PlateSpinのフェールオーバー

PlateSpinのフェールオーバー操作が完了して、1つのノードからなる仮想クラスタがオンラインになると、アクティブノードが1つのマルチノードクラスタが表示されます(アクティブノード以外のノードは使用できない状態になっています)。

WindowsクラスタでPlateSpinのフェールオーバーを実行するには(またはWindowsクラスタ上でPlateSpinのフェールオーバーをテストするには)、そのクラスタがドメインコントローラに接続できなければなりません。フェールオーバーのテスト機能を使用するには、該当のクラスタとともにドメインコントローラを保護する必要があります。このテストでは、まずドメインコントローラを起動し、続いて(分離したネットワーク上で)Windowsクラスタのワークロードを起動します。

5.13.7 PlateSpinのフェールバック

PlateSpinのフェールバック操作では、Windowsクラスタのワークロードのフルレプリケーションが必要になります。

PlateSpinのフェールバックを物理ターゲットへのフルレプリケーションとして設定した場合は、次の方法のいずれかを使用できます。

  • 1つのノードからなるPlateSpin仮想クラスタ上のすべてのディスクを、フェールバックターゲット上の単一のローカルディスクにマップする。

  • 別のディスク(ディスク2)を物理フェールバックマシンに追加する。フェールオーバーのシステムボリュームをディスク 1に復元し、フェールオーバーの追加ディスク(以前の共有ディスク)をディスク 2に復元するようにPlateSpinのフェールバック操作を設定できます。これによって、システムディスクを元のソースと同じサイズのストレージに復元することができます。

PlateSpinのフェールバックが完了したら、追加ノードを新しく復元されたクラスタに再度参加させる前に、共有ストレージを再接続してクラスタ環境を再構築する必要があります。

メモ:クラスタがReady To Reprotect (再保護の準備完了)の段階である場合は、まずフェールバックターゲットを再構築して復元し、ターゲットがクラスタとして検出されるようにします。再構築プロセスの一部として、PlateSpinクラスタドライバを手動でアンインストールする必要があります。

PlateSpinでフェールオーバーおよびフェールバックが生じた後にクラスタ環境を再構築する方法の詳細については、次のリソースを参照してください。

  • Windows Server 2012 R2フェールオーバークラスタ(物理再構築または仮想再構築へのフェールバック): ナレッジベースの記事7016770を参照してください。

  • Windows Server 2008 R2フェールオーバークラスタ(物理再構築または仮想再構築へのフェールバック): ナレッジベースの記事7015576を参照してください。