您可以在 Windows Server 中設定記憶體複本,以在相同的 Azure 區域內進行叢集對叢集復寫。 在文章範例中,我們使用兩個節點的叢集,但如果您的叢集中有多個節點,您可以使用記憶體複本。
如需了解完整程序,請參閱下列影片:
第一部分:
第二部分:
下圖描述雙節點儲存空間直接存取叢集。 節點位於相同區域中的相同網域中,而且可以彼此通訊。
此圖和影片會參考文章範例。
在 Azure 入口網站中,建立 資源群組。
例如,在美國西部 2建立SR-AZ2AZ。
在資源群組中建立兩個 可用性設定組 ,每個叢集各一個。
例如:
- 在資源群組 SR-AZ2AZ中建立可用性設定群組 az2azAS1。
- 在資源群組 SR-AZ2AZ 中建立可用性設定組 az2azAS2。
在資源群組中建立 虛擬網路 。 虛擬網路應該有一個子網。
例如,在資源群組 SR-AZ2AZ 中建立虛擬網路 az2az-VNet。
建立 網路安全組。 將遠端桌面通訊協定 (RDP) 埠 3389 的一個輸入安全性規則新增至網路安全組。 完成設定之後,您可以選擇移除此規則。
例如:
- 在資源群組 SR-AZ2AZ 中建立網路安全組 (az2az-NSG)。
- 為網路安全組建立 RDP:3389 的輸入安全性規則。
在資源群組中建立 Windows Server 虛擬機 (SR-AZ2AZ)。 使用先前建立的虛擬網路 (az2az-VNet) 和網路安全組 (az2az-NSG)。
例如:
az2azDC建立域控制器。 您可選擇為網域控制站建立第三個可用性設定組,或在兩個可用性設定組的其中一個中新增網域控制站。 如果您將域控制器新增至您為兩個叢集建立的可用性設定組,請在建立 VM 時為其指派標準公用 IP 位址。
若要建立域控制器:
- 安裝 Active Directory Domain Services。
- 建立網域(例如,
contoso.com
)。 - 建立具有系統管理員許可權的使用者(例如,contosoadmin)。
在第一個可用性設定組(az2azAS1)中建立兩個 VM(az2az1, az2az2)。
然後,設定 VM。
- 當您建立 VM 時,將標準公用 IP 位址指派給每個 VM。
- 將至少兩個受控磁碟新增至每個 VM。
- 將故障轉移叢集和記憶體複本功能安裝到每個 VM。
在第二個可用性設定群組(az2azAS2)建立兩個 VM (az2az3,az2az4)。
然後,設定 VM。
- 當您建立 VM 時,將標準公用 IP 位址指派給每個 VM。
- 將至少兩個受控磁碟新增至每個 VM。
- 將故障轉移叢集和記憶體複本功能安裝到每個 VM。
將所有節點連線到網域,並提供系統管理員許可權給您所建立的使用者。
將虛擬網路的 DNS 伺服器變更為域控制器私人 IP 位址。 在此範例中,域控制器 az2azDC 具有私人IP位址 (10.3.0.8)。 在虛擬網路 (az2az-VNet) 中,將 DNS 伺服器 變更為 10.3.0.8。
在這裡範例中,將所有節點連線到
contoso.com
,並將系統管理員許可權提供給使用者,contosoadmin。從所有節點以 contosoadmin 身分登入。
建立兩個叢集: SRAZC1 和 SRAZC2。
例如,使用下列 PowerShell 命令:
New-Cluster -Name SRAZC1 -Node az2az1,az2az2 –StaticAddress 10.3.0.100
New-Cluster -Name SRAZC2 -Node az2az3,az2az4 –StaticAddress 10.3.0.101
開啟儲存空間直接存取:
Enable-clusterS2D
備註
針對每個叢集,建立虛擬磁碟磁碟區。 一個磁碟區適用於數據,一個磁碟區用於記錄。
為每個叢集建立內部標準 SKU 負載平衡器(azlbr1,azlbr2)。
為負載平衡器提供叢集IP位址作為靜態私人IP位址,azlbr1:
- 前端IP:10.3.0.100(從虛擬網路中挑選未使用的IP位址 az2az-VNet 子網)。
- 為每個負載平衡器建立後端集區。 新增相關聯的叢集節點。
- 在埠 59999 上建立健康情況探查。
- 建立負載平衡規則。 允許高可用性埠啟用浮動IP。
提供叢集 IP 位址作為負載平衡器 azlbr2 的靜態私人 IP 位址:
- 前端IP:10.0.0.10(從虛擬網路 az2az-VNet 子網挑選未使用的IP位址)。
- 為每個負載平衡器建立後端集區。 新增相關聯的叢集節點。
- 在埠 59999 上建立健康情況探查。
- 建立負載平衡規則。 允許高可用性埠啟用浮動IP。
在每個叢集節點上,開啟埠59999以進行健康探測。
在每個節點上執行下列命令:
netsh advfirewall firewall add rule name=PROBEPORT dir=in protocol=tcp action=allow localport=59999 remoteip=any profile=any
指示叢集在埠號 59999 上監聽健康探測訊息,並由目前擁有此資源的節點進行回應。
針對每個叢集,請從叢集的任何一個節點執行健康情況探查一次。
在下列範例程式碼中,請確保更改
ILBIP
的值以符合您的設定值。 從任何一個節點 az2az1/az2az2 執行下列命令:$ClusterNetworkName = "Cluster network 1" # Cluster network name (Use Get-ClusterNetwork on Windows Server 2012 or higher to find the name. 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 is 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}
從 az2az3 或 az2az4 的任何節點執行下列命令:
$ClusterNetworkName = "Cluster network 1" # Cluster network name (Use Get-ClusterNetwork on Windows Server 2012 or later to find the name. 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 is 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}
確認這兩個叢集可以彼此連線和通訊。
使用故障轉移叢集管理員中的 [連線到叢集] 功能來連線到另一個叢集,或確認另一個叢集從目前叢集的其中一個節點回應。
例如:
Get-Cluster -Name SRAZC1 (run from az2az3)
Get-Cluster -Name SRAZC2 (run from az2az1)
為這兩個叢集建立雲端見證。
在 Azure 中建立兩個 記憶體帳戶 (az2azcw, az2azcw2),針對相同資源群組中的每個叢集建立一個記憶體帳戶 (SR-AZ2AZ)。
- 從 [存取金鑰] 區段複製記憶體帳戶名稱和金鑰。
- 在 [故障轉移叢集管理員] 中,建立雲端憑證。 使用複製的帳戶名稱和金鑰來建立它。
在移至下一個步驟之前,請先執行 叢集驗證測試。
啟動 Windows PowerShell 並使用
Test-SRTopology
Cmdlet 來判斷您是否符合所有記憶體複本需求。 您可以在僅需求模式下使用 cmdlet 進行快速測試,也可以在長時間執行的效能評估模式下使用。設定叢集對叢集記憶體複寫。
授予兩個叢集互相之間的雙向存取權。
根據我們的範例:
Grant-SRAccess -ComputerName az2az1 -Cluster SRAZC2
如果您使用 Windows Server 2016,請同時執行此命令:
Grant-SRAccess -ComputerName az2az3 -Cluster SRAZC1
建立兩個叢集的存放複本合作關係:
叢集 SRAZC1:針對磁碟區位置,請使用 C:\ClusterStorage\DataDisk1。 針對記錄位置,請使用 G:\。
叢集 SRAZC2 : 針對磁碟區位置,請使用 C:\\ClusterStorage\\DataDiskCross。 針對記錄位置,請使用 G:\。
然後執行下列命令:
New-SRPartnership -SourceComputerName SRAZC1 -SourceRGName rg01 -SourceVolumeName c:\ClusterStorage\DataDisk1 -SourceLogVolumeName g: -DestinationComputerName **SRAZC2** -DestinationRGName rg02 -DestinationVolumeName c:\ClusterStorage\DataDisk2 -DestinationLogVolumeName g: -LogType Raw