閱讀英文

共用方式為


Azure 中跨地區的叢集對叢集儲存體複寫

您可以將叢集設定為 Azure 中跨區域應用程式的叢集儲存體複本。 在下列範例中,我們使用雙節點叢集,但叢集到叢集儲存體複本不限於雙節點叢集。 以下圖例是可彼此通訊的雙節點儲存空間直接存取叢集,其位於相同網域並且是跨區域的。

觀看下列影片以取得完整的處理序逐步解說。

此架構圖表顯示 Azure 中具有相同區域的 C2C SR。

重要

所有參考的範例都專屬於上述圖例。

  1. 在 Azure 入口網站中,在兩個不同的區域中建立資源群組

    例如,如上所示,美國西部 2 中的 SR-AZ2AZ,和美國中西部SR-AZCROSS

  2. 建立兩個可用性設定組,每個叢集的每個資源群組各一個。

    • (SR-AZ2AZ) 中的可用性設定組 (az2azAS1)
    • (SR-AZCROSS) 中的可用性設定組 (azcross-AS)
  3. 建立兩個虛擬網路

    • 在第一個資源群組 (az2az-Vnet) 中建立虛擬網路 (az2az-Vnet),其中具有一個子網路和一個閘道子網路。
    • 在第二個資源群組 (SR-AZCROSS) 中建立虛擬網路 (azcross-VNET),其中具有一個子網路和一個閘道子網路。
  4. 建立兩個網路安全性群組

    • 在第一個資源群組 (SR-AZ2AZ) 中建立網路安全性群組 (az2az-NSG)。
    • 在第二個資源群組 (SR-AZCROSS) 中建立網路安全性群組 (azcross-NSG)。

    將 RDP:3389 的某個輸入安全性規則新增至這兩個網路安全性群組。 完成設定後,您可選擇移除此規則。

  5. 在先前建立的資源群組中建立 Windows Server 虛擬機器

    網域控制站 (az2azDC)。 您可選擇為網域控制站建立第 3 個可用性設定組,或在兩個可用性設定組的其中一個中新增網域控制站。 如果您要將此新增至為兩個叢集建立的可用性設定組,請在建立 VM 期間為其指派標準公用 IP 位址。

    • 安裝 Active Directory Domain Services。
    • 建立網域 (contoso.com)
    • 建立具有系統管理員權限的使用者 (contosoadmin)

    在可用性設定組 (az2azAS1) 中,使用虛擬網路 (az2az-Vnet) 和網路安全性群組 (az2az-NSG),在資源群組 (SR-AZ2AZ) 中建立兩部虛擬機器 (az2az1az2az2)。 在建立期間內,將標準公用 IP 位址指派給每個虛擬機器。

    • 將至少兩個受控磁碟新增至每部電腦
    • 安裝容錯移轉叢集和儲存體複本功能

    在可用性設定組 (azcross-AS) 中,使用虛擬網路 (azcross-VNET) 和網路安全性群組 (azcross-NSG),在資源群組 (SR-AZCROSS) 中建立兩部虛擬機器 (azcross1azcross2)。 在建立期間內,將標準公用 IP 位址指派給每個虛擬機器

    • 將至少兩個受控磁碟新增至每部電腦
    • 安裝容錯移轉叢集和儲存體複本功能

    將所有節點連線到網域,並將系統管理員權限提供給先前建立的使用者。

    將虛擬網路的 DNS 伺服器變更為網域控制站私人 IP 位址。

    • 在範例中,網域控制站 az2azDC 具有私人 IP 位址 (10.3.0.8)。 在虛擬網路 (az2az-Vnetazcross-VNET) 中,變更 DNS Server 10.3.0.8。

      在範例中,將所有節點連線到 "Contoso.com",並將系統管理員權限提供給 "contosoadmin"。

    • 從所有節點以 contosoadmin 身分登入。

  6. 建立叢集 (SRAZC1SRAZCross)。

    以下是範例的 PowerShell 命令

    PowerShell
       New-Cluster -Name SRAZC1 -Node az2az1,az2az2 –StaticAddress 10.3.0.100
    
    PowerShell
       New-Cluster -Name SRAZCross -Node azcross1,azcross2 –StaticAddress 10.0.0.10
    
  7. 啟用儲存空間直接存取。

    PowerShell
       Enable-clusterS2D
    

    注意

    針對每個叢集,建立虛擬磁碟和磁碟區。 一個用於資料,另一個用於記錄。

  8. 為每個叢集建立內部標準 SKU 負載平衡器 (azlbr1azlbazcross)。

    提供叢集 IP 位址作為負載平衡器的靜態私人 IP 位址。

    • azlbr1 => 前端 IP:10.3.0.100 (從虛擬網路 (az2az-Vnet) 子網路挑選未使用的 IP 位址)
    • 為每個負載平衡器建立後端集區。 新增相關聯的叢集節點。
    • 建立健康情況探查:連接埠 59999
    • 建立負載平衡規則:允許 HA 連結埠,並啟用浮動 IP。

    提供叢集 IP 位址作為負載平衡器的靜態私人 IP 位址。

    • azlbazcross => 前端 IP:10.0.0.10 (從虛擬網路 (azcross-VNET) 子網路挑選未使用的 IP 位址)
    • 為每個負載平衡器建立後端集區。 新增相關聯的叢集節點。
    • 建立健康情況探查:連接埠 59999
    • 建立負載平衡規則:允許 HA 連結埠,並啟用浮動 IP。
  9. 建立 Vnet 對 Vnet 連線的虛擬網路閘道

    • 在第一個資源群組 (SR-AZ2AZ) 中建立第一個虛擬網路閘道 (az2az-VNetGateway)

    • 閘道類型 = VPN,而 VPN 類型 = 依路由

    • 在第二個資源群組 (SR-AZCROSS) 中建立第二個虛擬網路閘道 (azcross-VNetGateway)

    • 閘道類型 = VPN,而 VPN 類型 = 依路由

    • 建立從第一個虛擬網路閘道到第二個虛擬網路閘道的 Vnet 對 Vnet 連線。 提供共用金鑰

    • 建立從第二個虛擬網路閘道到第一個虛擬網路閘道的 Vnet 對 Vnet 連線。 提供與上述步驟中提供的相同共用金鑰。

  10. 在每個叢集節點上,開啟連接埠 59999 (健康情況探查)。

    在每個節點上執行下列命令:

    PowerShell
      netsh advfirewall firewall add rule name=PROBEPORT dir=in protocol=tcp action=allow localport=59999 remoteip=any profile=any
    
  11. 指示叢集接聽連接埠 59999 上的健康情況探查訊息,並從目前擁有此資源的節點進行回應。

    針對每個叢集,從叢集的任何一個節點執行一次。

    在我們的範例中,務必根據您的組態值變更 "ILBIP"。 從任何一個節點 az2az1/az2az2 執行下列命令

    PowerShell
     $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}
    
  12. 從任何一個節點 azcross1/azcross2 執行下列命令

    PowerShell
     $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}
    

    確定這兩個叢集可以彼此連線/通訊。

    使用容錯移轉叢集管理員中的「連線到叢集」功能來連線到其他叢集,或檢查其他叢集是否從目前叢集的其中一個節點回應。

    從我們一直使用的範例來看:

    PowerShell
      Get-Cluster -Name SRAZC1 (ran from azcross1)
    
    PowerShell
      Get-Cluster -Name SRAZCross (ran from az2az1)
    
  13. 為這兩個叢集建立雲端見證。 在 Azure 中建立兩個儲存體帳戶 (az2azcwazcrosssa),每個資源群組中每個叢集各一個帳戶 (SR-AZ2AZSR-AZCROSS)。

    • 從「存取金鑰」複製儲存體帳戶名稱和金鑰
    • 從「容錯移轉叢集管理員」建立雲端見證,並使用上述帳戶名稱和金鑰來建立它。
  14. 在繼續進行下一個步驟之前,請先執行叢集驗證測試

  15. 啟動 Windows PowerShell,然後使用 Test-SRTopology Cmdlet 來判斷您是否符合所有儲存體複本需求。 您可以在僅查看需求的模式中,使用此 Cmdlet 進行快速測試,還可以在評估長時間執行效能的模式中使用。

  16. 設定叢集對叢集儲存體複本。 授與雙向的叢集間存取權:

    在範例中:

    PowerShell
     Grant-SRAccess -ComputerName az2az1 -Cluster SRAZCross
    

    如果您使用 Windows Server 2016,請也要執行此命令:

    PowerShell
     Grant-SRAccess -ComputerName azcross1 -Cluster SRAZC1
    
  17. 為這兩個叢集建立 SR-Partnership:

  • 針對叢集 SRAZC1
    • 磁碟區位置:- c:\ClusterStorage\DataDisk1
    • 記錄檔位置:- g:
  • 針對叢集 SRAZCross
    • 磁碟區位置:- c:\ClusterStorage\DataDiskCross
    • 記錄檔位置:- g:

執行命令:

PowerShell
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