5.5 Windowsクラスタの移行

Microsoft Windowsクラスタのビジネスサービスをマイグレートできます。サポートされるクラスタリング技術は次のとおりです。

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

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

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

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

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

5.5.1 クラスタマイグレーションの計画

クラスタのマイグレーションは、1ノードからなる仮想クラスタにストリーミングされるアクティブノード上の変更内容の増分レプリケーションによって実現されます。Windowsクラスタをマイグレーション対象として設定する前に、ご使用の環境で前提条件が満たされていること、およびクラスタワークロードをマイグレートするための条件を理解していることを確認してください。

前提条件

クラスタマイグレーションのサポート範囲は、次の条件に従う必要があります。

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

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

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

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

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

  • クォーラムリソース: クラスタのクォーラムリソースは、マイグレートされるクラスタのリソースグループ(サービス)と同じノードにある必要があります。

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

  • 共有ディスク: すべての共有ノードはアクティブノードに属します。

  • ドメインコントローラ: マイグレートされた単一クラスタ仮想マシンは、元のドメインコントローラと同じパラメータを使用したドメインコントローラにアクセスできる必要があります。この要件を満たすために、元のドメインコントローラをオンラインのままにしておくか、クラスタと同時にマイグレートすることを検討してください。

ブロックベース転送

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

メモ:Microsoft Windowsクラスタをマイグレートする場合は、BBTドライバを使用したブロックベースの転送とファイルベースの転送はサポートされません。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5.5.3 リソース名の検索値の追加

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

PlateSpin Server環境設定ページのグローバルパラメータMicrosoftClusterIPAddressNamesに、Windowsクラスタワークロードの検出で使用する検索値のリストが含まれています。Windowsクラスタワークロードを追加する場合、クラスタの現在アクティブになっているノードのIPアドレスを指定する必要があります。PlateSpin Migrateは、そのノード上にあるクラスタの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.5.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.5.5 ローカルボリュームのシリアル番号の設定

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

5.5.6 PlateSpinのカットオーバー

PlateSpinのカットオーバー操作が完了して、クラスタがオンラインになると、1つのアクティブノードが含まれたマルチノードクラスタが表示されます(他のすべてのノードは使用不能になっています)。

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

5.5.7 PlateSpinクラスタのマイグレーション

PlateSpinクラスタのマイグレーション操作では、Windowsクラスタワークロードのフルレプリケーションが必要になります。PlateSpinクラスタのマイグレーションが完了すると、新たに復元されたクラスタに追加ノードを再結合する前に、共有ストレージをリアタッチしてクラスタ環境を再構築する必要があります。

PlateSpinマイグレーション後のクラスタ環境の再構築については、ナレッジベースの記事7016770を参照してください。

5.5.8 Webインタフェースを使用したWindowsクラスタのマイグレーション

PlateSpin Migrate Webインタフェースを使用して、アクティブノードのIPアドレスを指定することによってアクティブノードを追加し、アクティブノードのマイグレーションを設定してから、マイグレーションを実行します。

5.5.9 Migrate Clientを使用したWindowsクラスタのマイグレーション

[移動]ジョブを使用して、クラスタの必須サービスを移行できます。これにより、このクラスタは仮想マシンで機能する単一ノードのクラスタになります。

Windowsクラスタを移行するワークフローは、次のようにスタンドアロンサーバを移行するワークフローに似ています。

  1. アクティブノードのIPアドレスを指定して、アクティブノードを検出します。

  2. [サーバ]ビューで、ドラッグアンドドロップを使用してマイグレーションジョブを開始し、ジョブのパラメータを設定します。

  3. (条件付き: マイグレーションが成功した場合)マイグレーションジョブが正常に完了した場合、アクティブノードでServer Sync操作を実行します。

    メモ:Server Sync操作を実行する前にクラスタ内のアクティブノードがフェールオーバーした場合は、「新しい」アクティブノードを使用して完全なマイグレーションを実行してから、この新しいノードでServer Syncを実行します。

  4. (条件付き: マイグレーション前にフェールオーバーが発生した場合)ファイル転送が完了する前にクラスタのフェールオーバーが発生すると、マイグレーションジョブが中断されます。これが発生した場合は、ソースを更新し、マイグレーションジョブを再試行します。

メモ:ソースのマイグレーション後の終了状態に[シャットダウン]を選択すると、クラスタのすべてのソースノードがシャットダウンされます。