Azure のリージョンを超えたクラスター間の記憶域レプリケーション
適用対象: Azure Stack HCI、Windows Server 2022、Windows Server 2019、Windows Server 2016
Azure のリージョン間アプリケーションStorageクラスターをクラスターに構成できます。 次の例では、2 ノード クラスターを使用していますが、クラスターからクラスターへの記憶域レプリカは 2 ノード クラスターに制限されません。 次の図は、相互に通信Storage、同じドメイン内に、リージョンをまたがっている Space Direct クラスターの 2 ノードの図です。
プロセスの完全な手順については、以下のビデオをご覧ください。
重要
参照されるすべての例は、上記の図に固有です。
次のAzure portalは、2 つの 異なる リージョンにリソース グループを作成します。
たとえば、上に示すように、米国西部 2 の SR-AZ2AZ と米国中西部の SR-AZCROSS です。
各クラスター のリソース グループごとに 1 つ、2 つの可用性セットを作成します。
- (SR-AZ2AZ) の可用性セット (az2azAS1)
- (SR-AZCROSS) の可用性セット (azcross-AS)
2 つの仮想ネットワークを作成する
2つのネットワーク セキュリティ グループを作成します
- 最初のリソース グループ (SR-AZ2AZ) にネットワーク セキュリティ グループ (az2az-NSG) を作成します。
- 2 番目のリソース グループ (SR-AZCROSS) にネットワーク セキュリティ グループ (azcross-NSG) を作成します。
両方のネットワーク セキュリティ グループに RDP:3389 の受信セキュリティ規則を 1 つ追加します。 セットアップが完了したら、この規則を削除することを選択できます。
前作成したリソース グループにWindows サーバー仮想マシンを作成します。
Domain Controller (az2azDC). ドメイン コントローラーの 3 つ目の可用性セットを作成するか、2 つの可用性セットの 1 つでドメイン コントローラーを追加することができます。 2 つのクラスター用に作成された可用性セットにこれを追加する場合は、VM 作成時に Standard のパブリック IP アドレスを割り当てます。
- Active Directory Domain Services をインストールします。
- ドメインを作成する (contoso.com)
- 管理者特権を持つユーザーを作成する (contosoadmin)
可用性セット (az2azAS1) の仮想ネットワーク (az2az-Vnet) とネットワーク セキュリティ グループ (az2az-NSG) を使用して、リソース グループ (SR-AZ2AZ) に 2 つの仮想マシン (az2az1、az2az2) を作成します。 作成中に各仮想マシンに標準のパブリック IP アドレスを割り当てる。
- 各マシンに少なくとも 2 つのマネージド ディスクを追加する
- フェールオーバー クラスタリングと Storage レプリカ機能をインストールする
可用性セット (azcross-AS) の仮想ネットワーク (azcross-VNET) とネットワーク セキュリティ グループ (azcross-NSG) を使用して、リソース グループ (SR-AZCROSS) に 2 つの仮想マシン (azcross1、azcross2) を作成します。 作成中に各仮想マシンに標準のパブリック IP アドレスを割り当てる
- 各マシンに少なくとも 2 つのマネージド ディスクを追加する
- フェールオーバー クラスタリングと Storage レプリカ機能をインストールする
Connectノードをドメインに追加し、以前に作成したユーザーに管理者特権を提供します。
仮想ネットワークの DNS サーバーをドメインコントローラーのプライベート IP アドレスに変更します。
この例では、ドメイン コントローラー az2azDC に プライベート IP アドレス (10.3.0.8) があります。 このVirtual Network (az2az-Vnet と azcross-VNET) で、DNS Server 10.3.0.8 を変更します。
この例では、すべてのノードを "contoso.com" に接続し、"contosoadmin" に管理者特権を付与します。
すべてのノードから contosoadmin としてログインします。
クラスターを作成します (SRAZC1、SCROSS)。
例の PowerShell コマンドを次に示します
New-Cluster -Name SRAZC1 -Node az2az1,az2az2 –StaticAddress 10.3.0.100
New-Cluster -Name SRAZCross -Node azcross1,azcross2 –StaticAddress 10.0.0.10
記憶域スペースを直接有効にします。
Enable-clusterS2D
注意
クラスターごとに、仮想ディスクとボリュームを作成します。 1つはデータ用で、もう1つはログ用です。
クラスターごとに内部 Standard SKU Load Balancer を作成します (abrbr1、 azlbazcross)。
クラスター IP アドレスをロードバランサーの静的プライベート IP アドレスとして指定します。
- azlbr1 = > フロントエンド IP: 10.3.0.100 (仮想ネットワーク (az2az-Vnet) サブネットから未使用の Ip アドレスを取得する)
- 各ロードバランサーのバックエンドプールを作成します。 関連付けられているクラスターノードを追加します。
- 正常性プローブの作成: ポート59999
- 負荷分散規則を作成: フローティング IP を有効にした HA ポートを許可します。
クラスター IP アドレスをロードバランサーの静的プライベート IP アドレスとして指定します。
- azlbr1 = > フロントエンド IP: 10.0.0.10 (仮想ネットワーク (azcross-VNET) サブネットから未使用の Ip アドレスを取得する)
- 各ロードバランサーのバックエンドプールを作成します。 関連付けられているクラスターノードを追加します。
- 正常性プローブの作成: ポート59999
- 負荷分散規則の作成: 有効な Floating IP を使用して HA ポートを許可します。
Vnet 間接続 用の仮想ネットワーク ゲートウェイを作成します。
最初のリソース グループ (SR-AZ2AZ) に最初の仮想ネットワーク ゲートウェイ (az2az-VNetGateway) を作成します
ゲートウェイの種類 = VPN、VPN の種類 = ルートベース
2 番目のリソース グループ (SR-AZCROSS) に 2 つ目の仮想ネットワーク ゲートウェイ (azcross-VNetGateway) を作成します
ゲートウェイの種類 = VPN、VPN の種類 = ルートベース
最初の仮想ネットワーク ゲートウェイから 2 つ目の仮想ネットワーク ゲートウェイへの Vnet 間接続を作成します。 共有キーを指定する
最初の仮想ネットワーク ゲートウェイから 2 つ目の仮想ネットワーク ゲートウェイへの Vnet 間接続を作成します。 上記の手順で指定したのと同じ共有キーを指定します。
各クラスターノードで、ポート 59999 (正常性プローブ) を開きます。
CA で、次のコマンドを実行します:
netsh advfirewall firewall add rule name=PROBEPORT dir=in protocol=tcp action=allow localport=59999 remoteip=any profile=any
ポート59999で正常性プローブメッセージをリッスンし、現在このリソースを所有しているノードから応答するようにクラスターに指示します。
クラスターの1つのノードからクラスターごとに1回実行します。
この例では、構成値に応じて "ILBIP" を変更してください。 任意の 1 つのノード az2az1/az2az2 から次のコマンドを実行します
$ClusterNetworkName = "Cluster Network 1" # Cluster network name (Use Get-ClusterNetwork on Windows Server 2012 or higher to find the name. And use Get-ClusterResource to find the IPResourceName). $IPResourceName = "Cluster IP Address" # IP Address cluster resource name. $ILBIP = "10.3.0.100" # IP Address in Internal Load Balancer (ILB) - The static IP address for the load balancer configured in the Azure portal. [int]$ProbePort = 59999 Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"ProbeFailureThreshold"=5;"EnableDhcp"=0}
任意の 1 つのノード az2az1/az2az2 から次のコマンドを実行します
$ClusterNetworkName = "Cluster Network 1" # Cluster network name (Use Get-ClusterNetwork on Windows Server 2012 or higher to find the name. And use Get-ClusterResource to find the IPResourceName). $IPResourceName = "Cluster IP Address" # IP Address cluster resource name. $ILBIP = "10.0.0.10" # IP Address in Internal Load Balancer (ILB) - The static IP address for the load balancer configured in the Azure portal. [int]$ProbePort = 59999 Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"ProbeFailureThreshold"=5;"EnableDhcp"=0}
両方のクラスターが相互に接続/通信できることを確認します。
フェールオーバークラスターマネージャーで "クラスターに Connect" 機能を使用してもう一方のクラスターに接続するか、他のクラスターが現在のクラスターのノードのいずれかから応答するかを確認してください。
この例では、次のコマンドを使用しています:
Get-Cluster -Name SRAZC1 (ran from azcross1)
Get-Cluster -Name SRAZCross (ran from az2az1)
両方のクラスターのクラウド監視を作成します。 Azure に 2 つのストレージ アカウント (az2azcw,azcrosssa) を作成します。各リソース グループ内のクラスターごとに 1 つ (SR-AZ2AZ、SR-AZCROSS)。
- "アクセスキー" からストレージアカウントの名前とキーをコピーします
- "フェールオーバークラスターマネージャー" からクラウド監視を作成し、上記のアカウント名とキーを使用して作成します。
次 の手順に進む前 にクラスター検証テストを実行する
Windows PowerShell を起動し、Test-SRTopology コマンドレットを使用して、記憶域レプリカのすべての要件を満たしているかどうかを判別します。 このコマンドレットは、簡単なテストのために要件のみモードで使用することも、実行時間の長いパフォーマンス評価モードで使用することもできます。
クラスター間の記憶域のレプリケーション あるクラスターから別のクラスターへのアクセスを双方向に許可します:
例:
Grant-SRAccess -ComputerName az2az1 -Cluster SRAZCross
このコマンドを使用しているWindows Server 2016の場合、このコマンドも実行します:
Grant-SRAccess -ComputerName azcross1 -Cluster SRAZC1
2つのクラスターの SR-Partnershipを作成します:
- クラスター SRAZC1 の場合
- ボリュームの場所:-c:\ClusterStorage\DataDisk1
- ログの場所:-g:
- クラスター SRAZCross の場合
- ボリュームの場所:-c:\ClusterStorage\DataDisk1
- ログの場所:-g:
次のコマンドを実行します。
PowerShell
New-SRPartnership -SourceComputerName SRAZC1 -SourceRGName rg01 -SourceVolumeName c:\ClusterStorage\DataDisk1 -SourceLogVolumeName g: -DestinationComputerName SRAZCross -DestinationRGName rg02 -DestinationVolumeName c:\ClusterStorage\DataDiskCross -DestinationLogVolumeName g: -LogType Raw