次の方法で共有


共有記憶域を使用したストレッチ クラスター レプリケーション

この評価例では、1 つのストレッチ クラスターでコンピューターとその記憶域を構成できます。2 つのノードは 1 つのストレージ セットを共有し、2 つのノードは別のストレージ セットを共有し、レプリケーションでは両方のストレージ セットをクラスター内にミラー化して直ちにフェールオーバーできるようにします。 これらのノードとそのストレージは、別の物理サイトに配置する必要がありますが、必須ではありません。 サンプルのシナリオに示すように、Hyper-V とファイル サーバー クラスターで別々の作成手順があります。

重要

異なるサイト内のサーバーは、ネットワーク経由で他のサーバーと通信できる必要がありますが、他のサイトの共有記憶域に物理的に接続することはできません。 このシナリオでは、記憶域スペース ダイレクトは使用されません。

このチュートリアルでは、例として次の環境を使用します。

  • SR-SRV01、SR-SRV02SR-SRV03SR-SRV04 という名前の 4 台のサーバー。

  • 4 つのサーバーは、 SR-SRVCLUS と呼ばれる単一のクラスターに形成されます。

  • 2 つの異なるデータ センターを表す論理 "サイト" のペア。 1 つは レドモンド と呼ばれ、もう 1 つは ベルビューと呼ばれます。

  • サーバー SR-SRV01SR-SRV02Redmond サイトに属しています。

  • サーバー SR-SRV03SR-SRV04、Bellevue サイトに属しています。

Redmond の 2 つのノードが、Bellevue サイト内の同じクラスターの 2 つのノードでレプリケートされていることを示す図。

注意

使用できるノード数の下限は 2 個 (各サイトに 1 つのノード) です。 ただし、2 台のサーバーのみでサイト内フェールオーバーを実行することはできません。 ノードは最大で 64 個まで使用することができます。

前提条件

  • ソフトウェア:

    • Windows Server 2016 Datacenter Edition 以降を実行している 2 から 64 台のサーバー。 Windows Server 2019 を実行している場合は、最大 2 TB のサイズの 1 つのボリュームのみをレプリケートする場合は、Standard Edition を使用できます。
    • Active Directory Domain Services の役割、フェールオーバー クラスタリング記憶域レプリカの機能をデバイスにインストールする必要があります。 詳細については、「役割、役割サービス、または機能 をインストールまたはアンインストールするを参照してください。
    • デバイスは Active Directory (AD) フォレストの一部である必要があります。
    • すべてのノード間で ICMP、SMB ポート 445、SMB ダイレクト ポート 5445、WS-MAN ポート 5985 の双方向トラフィックを許可するための適切なファイアウォールとルーターの規則。
  • ハードウェア:

    • サーバーあたり少なくとも 2 GB の RAM と 2 コア。 仮想マシン環境には、より多くの RAM とコアが必要になります。
    • SAS JBOD (記憶域スペースなど)、ファイバー チャネル SAN、共有 VHDX、または iSCSI ターゲットを使用する 2 セットの共有記憶域。
    • 記憶域は、HDD と SSD メディアの混在を含み、永続的な予約をサポートしている必要があります。 各ストレージ セットは、2 台のサーバーでのみ使用できる必要があります (非対称)。
      • 物理ストレージは容量が同じである必要があり、すべてのデータ ディスクとログ ディスクで同じセクター サイズを持つ必要があります。
      • データ ディスクとログ ディスクは GPT として初期化する必要があります。
      • ボリュームは NTFS または ReFS としてフォーマットする必要があります。
      • ログ ボリュームでは、フラッシュ ベースのストレージと、高いパフォーマンスの回復性の設定を使用する必要があります。 Microsoft では、ログ ストレージの方がデータ ストレージよりも高速であることをお勧めします。
      • 指定しない場合、ログ サイズは既定で 8 GB に設定されます。 ログボリュームは、ログの要件と組織のニーズに基づいて、少なくとも 10 GB 以上である必要があります。
    • 記憶域の各セットでは、2 つ以上 (1 つはレプリケートされたデータ用、1 つはログ用) の仮想ディスクの作成が許可される必要があります。
    • レプリケートされたストレージは、Windows オペレーティング システム フォルダーを含むドライブに配置できません。
  • ディスク構成:

    • JBOD 外付けケース

      • ペアになっているサーバー ノードの各セットに、サイトのストレージ エンクロージャのみ (非対称ストレージ) が表示され、SAS 接続が正しく構成されていることを確認します。

      • PowerShell またはサーバー マネージャーを使用したスタンドアロン サーバーへの記憶域スペースの展開に関する手順 1 から 3 に従って、記憶域スペースを使用して記憶域をプロビジョニングします。

    • iSCSI ストレージ

      • ペアのサーバー ノードの各セットに、非対称ストレージなど、サイトのストレージ エンクロージャのみが表示されるようにします。 iSCSI を使用する場合は、複数の単一ネットワーク アダプターを使用する必要があります。

      • ベンダーのドキュメントを参照して記憶域をプロビジョニングします。 Windows ベースの iSCSI ターゲットを使用している場合は、 iSCSI ターゲット サーバーの概要を参照してください。

    • FC SAN ストレージの場合:

      • ペアになったサーバー ノードの各セットに、サイトのストレージ エンクロージャのみ (非対称ストレージ) が表示され、ホストが適切にゾーン化されていることを確認します。

      • ベンダーのドキュメントを参照して記憶域をプロビジョニングします。

  • ネットワーク:

    • 同期レプリケーション用の各サーバー上の少なくとも 1 つの 1 GbE 接続。
    • IO 書き込みワークロードを格納するのに十分な帯域幅を持つサーバー間のネットワークと、同期レプリケーションのラウンド トリップ待機時間の平均は約 5 ミリ秒です。 非同期レプリケーションには待機時間に関する推奨事項はありません。

注意

データ ディスクでは、ミラー化またはパリティ スペース、RAID 1 または 10、RAID 5、RAID 50 のいずれかを使用できます。

ログ ボリュームは、絶対に他のワークロードに使用しないでください。

重要

記憶域デバイスを 1 台のサーバーに接続してレプリケーションに使用することはできますが、Windows フェールオーバー クラスタリングは SCSI 永続予約に引き続き依存します。 そのため、記憶域は引き続き SAN テクノロジなどの共有 Storage の種類である必要があります。 ハイパーバイザーによって提示されるローカルディスクまたはディスクに互換性がない可能性があります。 Azure では、VM を 1 つだけアタッチする場合でも、ディスクは共有をサポートする Premium SSD サイズである必要があります。

これらの要件の多くは、 Test-SRTopology コマンドレットを使用して決定できます。 記憶域レプリカまたは記憶域レプリカ管理ツール機能を 1 つ以上のサーバーにインストールすると、このツールにアクセスできるようになります。 このツールを使用するように記憶域レプリカを構成する必要はなく、コマンドレットをインストールする必要があります。

環境をプロビジョニングする

すべてのサーバーの組み込み管理者グループのメンバーであるドメイン ユーザーとして常にサインインします。 管理者特権で PowerShell またはコマンド プロンプトを常に実行します。

  1. デスクトップ エクスペリエンス搭載サーバーまたは Server Core インストール オプションを使用して、すべてのサーバー ノードに Windows Server をインストールします。

  2. サーバーの BIOS/UEFI 設定が、C 状態の無効化、QPI 速度の設定、NUMA の有効化、最高のメモリ頻度の設定など、高パフォーマンスに設定されていることを確認します。 Windows Server での電源管理が高パフォーマンスに設定されていることを確認します。 必要に応じて再起動します。

  3. ネットワーク情報を追加し、ノードをドメインに参加させてから再起動します。

    注意

    このガイドでは、ストレッチ クラスターで使用するサーバーのペアリングが 2 つあると想定しています。 WAN または LAN ネットワークはサーバーを分離し、サーバーは物理サイトまたは論理サイトに属します。

  4. 共有 JBOD ストレージ エンクロージャ、共有 VHDX、iSCSI ターゲット、または FC SAN の最初のセットを Redmond サイトのサーバーに接続します。

  5. 2 番目のストレージ セットを Bellevue サイトのサーバーに接続します。

  6. 最新のベンダー ストレージおよびエンクロージャ ファームウェア、必要なすべてのドライバー、HBA ドライバー、BIOS/UEFI ファームウェアを 4 つのノードすべてにインストールします。 必要に応じてノードを再起動します。

    注意

    共有記憶域およびネットワーク ハードウェアの構成については、ハードウェア ベンダーのドキュメントを参照してください。

次の手順では、サーバーが追加され、必要な役割と機能で構成されます。

  1. サーバー マネージャーで、[管理] を選択し、[サーバーの追加] を選択します。

  2. [ サーバーの追加 ] ウィンドウで、次の方法でサーバーを選択します。

    1. AD (サーバーはドメインに参加している必要があります)

    2. DNS (コンピューター名または IP)

    3. インポート (テキスト ファイルから)

  3. サーバーを選択したら、[→] ボタンを使用してサーバーをインポートし、[ OK] を選択します

  4. SR-SRV04 またはリモート管理コンピューターで、管理者特権の PowerShell ウィンドウで次のコマンドを実行します。

    $Servers = 'SR-SRV01','SR-SRV02','SR-SRV03','SR-SRV04'
    
    $Servers | foreach { Install-WindowsFeature -ComputerName $_ -Name Storage-Replica,Failover-Clustering,FS-FileServer -IncludeManagementTools -Restart }
    

Hyper-V フェールオーバー クラスターまたはファイル サーバー クラスターを構成する

サーバー ノードを設定した後、次の手順は、Hyper-V フェールオーバー クラスターまたはファイル サーバー クラスターを作成することです。 ノードが異なるサブネットに存在する場合は、"OR" 依存関係を使用して追加サイトの IP アドレスを作成する必要があります。 詳細については、「 マルチサブネット クラスターの IP アドレスと依存関係の構成 - パート III」を参照してください。

2 ノード ストレッチ クラスターを作成する場合は、作業を続行する前にすべての記憶域を追加する必要があります。 これは、Windows Server 2016 での仕様上の動作です。 次のコマンドを実行して、使用可能なストレージを追加します。

Get-ClusterAvailableDisk -All | Add-ClusterDisk

指定したソース ボリュームで書き込み IO 負荷のないテスト サーバーを使用する場合は、有用なレポートが生成されない Test-SRTopology ワークロードを追加することを検討してください。 実際の数値と推奨されるログ サイズを確認するには、運用環境に似たワークロードを使用してテストする必要があります。

または、テスト中にいくつかのファイルをソース ボリュームにコピーするか、 diskspd をダウンロードして実行して書き込み IO を生成します。 たとえば、 D: ボリュームで 10 分間の書き込み IO ワークロードをサンプリングするには、次のコマンドを実行します。

diskspd -c1g -d600 -W5 -C5 -b4k -t2 -o2 -r -w5 -i100 D:\Test.dat

Windows Server 2016 でフェールオーバー クラスター マネージャーを使用してサイト認識を構成するオプションはありません。

注意

サイトの停止が発生した場合に、クォーラムを提供するために、ファイル共有監視またはクラウド監視を構成します。 Windows Server では、クラウド (Azure) ベースの監視オプションも追加されました。 ファイル共有またはディスク監視の代わりに、このクォーラム オプションを選択できます。

クォーラム構成の詳細については、「Windows Server 2012 フェールオーバー クラスターでクォーラムを構成および管理する」の「監視の構成」を参照してください。 クラスター クォーラム コマンドレットの詳細については、 FailoverClusters モジュール セットを参照してください。

ヒント

Windows Server 2012 の Hyper-V クラスターのネットワークに関する推奨事項を確認して、クラスター ネットワークが最適に構成されていることを確認します。 DNS サイトのフェールオーバーを高速化するために、クラスター ネットワークと AD を構成します。 Hyper-V を利用したソフトウェア定義ネットワーク、拡張された VLAN、ネットワーク抽象化デバイス、低くした DNS TTL、およびその他の一般的な手法を使用することができます。

また、ノード障害時にゲストが長時間一時停止しないように、VM の回復性を構成することもできます。 代わりに、10 秒以内に新しいレプリケーション ソース ストレージにフェールオーバーします。 このアクションを実行するには、 (Get-Cluster).ResiliencyDefaultPeriod=10 コマンドを実行します。

  1. Server Managerで、[ツール] 選択し、[フェールオーバー クラスター マネージャー] 選択します。

  2. 右側のウィンドウの [ アクション] で、[ 構成の検証 ] を選択して続行できることを確認します。

    注意

    非対称ストレージを使用するため、クラスターの検証でストレージ エラーが発生することが予想されます。

  3. Hyper-V クラスターのデプロイ ガイドを使用して、15 文字以下の Hyper-V コンピューティング クラスターを作成 しますRedmond サイト内の手順 7 から 10 に従ってテスト仮想マシンを作成し、最初のテスト サイトでストレージを共有する 2 つのノード内でクラスターが正常に動作していることを確認します。

  4. Redmond サイトの 1 つのディスクをクラスター CSV に追加します。 [ストレージ] セクションの [ディスク] ノードでソース ディスクを右クリックし、[クラスター共有ボリュームに追加] を選択します。

  5. Test-SRTopology コマンドレットは、記憶域レプリカの要件が満たされているかどうかを判断するために使用されます。 たとえば、提案されたストレッチ クラスター ノードのうち、それぞれ D:E: ボリュームが 30 分間ある 2 つのストレッチ クラスター ノードを検証するには、次の手順を実行します。

    1. すべての利用可能な記憶域を SR-SRV01 に移動します。

    2. フェールオーバー クラスター マネージャーで、クラスターを展開し、[ロール] を右クリックし、[空のロールの作成] を選択します。

    3. 新しいロールという名前の空のロールにオンライン ストレージを追加します。

    4. すべての利用可能な記憶域を SR-SRV03 に移動します。

    5. ロールをもう一度右クリックし、[空の ロール作成] を選択します。

    6. 新しいロール (2)SR-SRV03 に移動します。

    7. オンライン記憶域をこの空の役割に追加し、「新しい役割 (2)」という名前を付けます。

    8. 次のコマンドを実行して、クラスターを評価します。

      $params = @{
         SourceComputerName       = 'SR-SRV01'
         SourceVolumeName         = 'D:'
         SourceLogVolumeName      = 'E:'
         DestinationComputerName  = 'SR-SRV03'
         DestinationVolumeName    = 'D:'
         DestinationLogVolumeName = 'E:'
         DurationInMinutes        = 30
         ResultPath               = 'C:\Temp'
      }
      MD C:\Temp | Test-SRTopology @params
      
  6. TestSrTopologyReport-<date>.html レポートを調べて、記憶域レプリカの要件を満たしていることを確認し、初期同期時間の予測とログの推奨事項をメモします。

    Hyper-V フェールオーバー クラスターの記憶域レプリカ レプリケーション レポートのスクリーンショット。

  7. ディスクを 使用可能な記憶域 に戻し、一時的な空のロールを削除します。

  8. テスト仮想マシンを削除します。 提案されたソース ノードにさらに評価に必要なすべての実際のテスト仮想マシンを追加します。

  9. ストレッチ クラスター サイト認識を構成して、サーバー SR-SRV01SR-SRV02Redmond サイトにあり、サーバー SR-SRV03SR-SRV04Bellevue サイトに存在するようにします。 Redmond が、ソース ストレージと VM の所有権を持つプライマリ ノードであることを確認します。

    New-ClusterFaultDomain -Name Redmond -Type Site -Description "Primary" -Location "Redmond Datacenter"
    
    New-ClusterFaultDomain -Name Bellevue -Type Site -Description "Secondary" -Location "Bellevue Datacenter"
    
    Set-ClusterFaultDomain -Name SR-SRV01 -Parent Redmond
    Set-ClusterFaultDomain -Name SR-SRV02 -Parent Redmond
    Set-ClusterFaultDomain -Name SR-SRV03 -Parent Bellevue
    Set-ClusterFaultDomain -Name SR-SRV04 -Parent Bellevue
    
    (Get-Cluster).PreferredSite="Redmond"
    

ストレッチ クラスターのレプリケーションを管理する

すべての手順は、クラスター ノードで直接、または RSAT を含むリモート管理コンピューターから実行できます。 フェールオーバー クラスター マネージャーを使用して、レプリケーションの現在のソースと送信先とその状態を確認することもできます。 ストレッチ クラスター レプリケーションの管理は、GUI または PowerShell を使用して実行できます。

ストレッチ クラスター内のレプリケーションのソースと宛先を変更するには、次の方法を使用します。

  1. 同じサイト内のノード間でソース レプリケーションを移動するには、ソース CSV を右クリックし、[ ストレージの移動] を選択し、[ ノードの選択] を選択して、同じサイト内のノードを選択します。 ディスクに割り当てられた役割に対して CSV 以外の記憶域を使用している場合は、役割を移動する必要があります。

  2. ソース レプリケーションをあるサイトから別のサイトに移動するには、ソース CSV を右クリックし、[ ストレージの移動]、[ ノードの選択] の順に選択し、別のサイトのノードを選択します。 優先されるサイトを構成した場合は、使用可能な最善のノードを使用してレプリケーション元ストレージを優先サイト内のノードに常に移動することができます。 ディスクに割り当てられた役割に対して CSV 以外の記憶域を使用している場合は、役割を移動する必要があります。

  3. あるサイトから別のサイトへのレプリケーションの方向を計画的なフェールオーバーを実行するには、 サーバー マネージャー または SConfig を使用して、1 つのサイトの両方のノードをシャットダウンします。

  4. 計画外のフェイルオーバーを実行するには、一方のサイトにある両方のノードの電力を遮断し、レプリケーションの方向を別のサイトに変更します。

    注意

    Windows Server 2016 では、ノードがオンラインに戻った後、フェールオーバー クラスター マネージャーまたは Move-ClusterGroup を使用して、移行先のディスクを手動で他のサイトに戻す必要がある場合があります。

    記憶域レプリカは、宛先ボリュームをマウント解除します。 これは仕様です。

  5. ログ サイズを変更するには、ソース と宛先の両方のログ ディスクを右クリックし、[ レプリケーション ログ ] タブを選択し、両方のディスクのサイズを一致するように変更します。

  6. 別のレプリケーションされるディスクのペアを既存のレプリケーション グループに追加するには、使用可能な記憶域内に少なくとも 1 つの余分なディスクがあることを確認する必要があります。 その後で、ソース ディスクを右クリックし、[Add replication partnership] (レプリケーション パートナーシップの追加) を選択します。

    注意

    使用可能記憶域でこの追加の "ダミー" ディスクが必要なのは回帰のためであり、意図しているものではありません。

既存のレプリケーションを削除するには、次の手順を実行します。

  • ソース CSV ディスクを右クリックし、[ レプリケーション] を選択し、[削除] を選択 します。 警告メッセージを受け入れます。

    必要に応じて、将来のテスト用に CSV から記憶域を削除し、使用可能な記憶域に戻します。

    注意

    ディスク管理またはサーバーマネージャーを使用して、記憶域の状態に戻った後、ボリュームにドライブ文字を再割り当てする必要がある場合があります。

レプリケーションのパフォーマンスを測定するには、ソース ノードとターゲット ノードの両方で パフォーマンス モニター (perfmon.exe) ツールを使用します。 パフォーマンス モニターの詳細については、「パフォーマンス モニターの 使用 とカウンターの 追加」ダイアログ ボックスを参照してください。

宛先ノードで次を実行します。

  1. Storage Replica Statistics オブジェクトと、データ ボリューム用のすべてのパフォーマンス カウンターを追加します。

  2. 結果を確認します。

移行元ノードで次を実行します。

  1. Storage Replica Statistics および Storage Replica Partition I/O Statistics オブジェクトと、データ ボリューム用のすべてのパフォーマンス カウンターを追加します (後者は現在のレプリケーション元サーバー上のデータにのみ使用できます)。

  2. 結果を確認します。

こちらも参照ください