循序漸進:在Azure跨越可用區中配置文件服務器群集
循序漸進:在Azure跨越可用區中配置文件服務器群集
在本文中,我們將詳細介紹在Azure中部署跨越新可用區的雙節點文件服務器故障轉移群集所需的特定步驟。我將假設您熟悉基本的Azure概念以及基本的故障轉移群集概念。我將重點介紹在Azure中跨可用區部署文件服務器故障轉移群集的獨特之處。如果您的Azure區域尚不支持可用區,則必須使用Fault Domains,如前面的帖子中所述。使用DataKeeper Cluster Edition,您可以獲取本地連接的託管磁盤,無論是高級磁盤還是標準磁盤,並在兩個或多個集群節點之間同步,異步或混合或同時復制這些磁盤。此外,DataKeeper Volume資源在Windows Server故障轉移群集中註冊,該資源取代了物理磁盤資源。DataKeeper Volume不是像物理磁盤資源那樣控制SCSI-3保留,而是控製鏡像方向。它確保活動節點始終是鏡像的源。就故障轉移群集而言,它的外觀,感覺和氣味就像物理磁盤一樣,其使用方式與物理磁盤資源的使用方式相同。
先決條件
- 您之前使用過Azure Portal,並且很樂意在Azure IaaS中部署虛擬機。
- 已獲得SIOS DataKeeper的許可證或eval許可證
在Azure中部署文件服務器故障轉移群集
要在Azure中構建雙節點文件服務器故障轉移群集實例,我們假設您具有基於Azure資源管理器的基本虛擬網絡。您至少有一個虛擬機已啟動並正在運行並配置為域控制器。配置虛擬網絡和域後,您將配置兩個新虛擬機,它們將充當群集中的兩個節點。我們的環境將如下所示:DC1 – 我們的域控制器和文件共享見證SQL1和SQL2 – 文件服務器群集的兩個節點。不要讓這些名字讓你感到困惑。我們正在本指南中構建文件服務器群集。在我的下一篇文章中,我將演示SQL Server群集配置。
配置兩個群集節點
使用Azure門戶,我們將以完全相同的方式配置SQL1和SQL2。 有多種選擇可供選擇,包括實例大小,存儲選項等。本指南並不是在Azure中部署服務器的詳盡指南。 有一些非常好的資源,每天都有更多的資源。但是,在創建實例時要記住幾個關鍵事項,尤其是在群集環境中。可用區 – SQL1,SQL2駐留在不同的可用區中非常重要。為了本指南的目的,我們假設您使用的是Windows 2016,並將使用Cloud Witness進行群集仲裁。如果使用Windows 2012 R2或Windows Server 2008 R2而不是Windows 2016,則需要在第3個可用區中配置文件共享見證。直到Windows Server 2016才推出Cloud Witness。通過將群集節點放在不同的可用區中,我們確保每個群集節點位於同一區域中的不同Azure數據中心。利用可用區而不是舊的故障域是有益的。它將您與幾週前發生的中斷類型隔離開來,這些中斷使整個中南部地區連續多天。請務必將每個群集節點添加到其他可用區。如果您利用文件共享見證,它應該位於第三個可用區。[/ caption]
靜態IP地址
配置每個VM後,您將需要進入設置並更改設置,以使IP地址為靜態。我們不希望更改群集節點的IP地址。確保每個群集節點都使用靜態IP [/ caption]
存儲
就存儲而言,您將需要參考Azure虛擬機中SQL Server的性能最佳實踐。在任何情況下,您至少需要為每個群集節點添加至少一個額外的託管磁盤。DataKeeper可以在本地存儲空間中使用基本磁盤,高級存儲甚至多個磁盤。如果您確實要使用本地存儲空間,請注意在任何群集配置之前創建存儲空間。這是由於故障轉移群集和本地存儲空間的已知問題。所有磁盤都應格式化為NTFS。
創建群集
假設已按上述方式配置了兩個群集節點(SQL1和SQL2)並將其添加到現有域中,我們就可以創建群集了。在創建群集之前,需要啟用一些功能。這些功能是.Net Framework 3.5和故障轉移群集。需要在兩個群集節點上啟用這些功能。您還需要啟用FIle服務器角色。在兩個群集節點上啟用.Net Framework 3.5和故障轉移群集功能以及文件服務器。[/ caption]一旦啟用了該角色和這些功能,您已準備好構建群集。我要向您展示的大多數步驟都可以通過PowerShell和GUI執行。但是,我將建議您在第一步中使用PowerShell創建群集。如果您選擇使用故障轉移群集管理器GUI來創建群集,您將發現最終會向群集發出重複的IP地址。在不詳細介紹的情況下,您會發現Azure VM必須使用DHCP。通過在Azure門戶中創建VM時指定“靜態IP”,我們所做的就是創建一種DHCP預留。它不完全是DHCP保留,因為真正的DHCP保留會從DHCP池中刪除該IP地址。相反,在Azure門戶中指定靜態IP只是意味著如果在VM請求它時該IP地址仍然可用,Azure將向其發出該IP。但是,如果您的VM處於脫機狀態且另一台主機在同一子網中聯機,則可能會發出相同的IP地址。
Azure如何實現DHCP的另一個副作用
使用Windows Server Failover Cluster GUI創建群集時,無法指定群集IP地址。相反,它依靠DHCP來獲取地址。奇怪的是,DHCP將發出重複的IP地址。通常與請求新IP地址的主機具有相同的IP地址。群集安裝將完成,但您可能會遇到一些奇怪的錯誤。您可能需要從其他節點運行Windows Server Failover Cluster GUI才能使其運行。一旦運行它,您將需要將核心群集IP地址更改為網絡上當前未使用的地址。只需通過Powershell創建集群並指定集群IP地址作為PowerShell命令的一部分來創建集群,就可以避免這種混亂。您可以使用New-Cluster命令創建集群,如下所示:
New-Cluster -Name cluster1 -Node sql1,sql2 -StaticAddress 10.0.0.100 -NoStorage
群集創建完成後,您還需要運行以下命令來運行群集驗證。您應該會看到有關存儲和網絡的一些警告,但這在Azure中是可以預期的,您可以忽略這些警告。如果報告任何錯誤,您需要在繼續之前解決這些錯誤。
測試群集
創建仲裁群集
如果您運行的是Windows 2016或2019,則需要為群集仲裁創建Cloud Witness。如果您運行的是Windows Server 2012 R2或2008 R2,則需要創建文件共享見證。關於證人創建的詳細說明可以在這裡找到。
安裝DataKeeper
創建集群後,就可以安裝DataKeeper了。在創建初始群集後安裝DataKeeper非常重要,這樣可以向群集註冊自定義群集資源類型。如果在創建群集之前安裝了DataKeeper,則只需再次運行安裝並執行修復安裝。在創建群集後安裝DataKeeper [/ caption]在安裝過程中,您可以使用所有默認選項。 您使用的服務帳戶必須是域帳戶,並且位於群集中每個節點上的本地管理員組中。 服務帳戶必須是每個節點上Local Admins組中的域帳戶一旦安裝DataKeeper並在每個節點上獲得許可,您將需要重新啟動服務器。
創建DataKeeper卷資源
要創建DataKeeper Volume Resource,您需要啟動DataKeeper UI並連接到這兩個服務器。連接到SQL1 [/ caption] 連接到SQL2 [/ caption]連接到每個服務器後,即可創建DataKeeper卷。右鍵單擊Jobs並選擇“Create Job”為作業命名和描述。 選擇源服務器,IP和卷。IP地址是複制流量是否會傳播。 選擇目標服務器。 選擇你的選擇。對於兩個VM位於同一地理區域的目的,我們將選擇同步複製。對於更長距離的複制,您將需要使用異步並啟用一些壓縮。 通過在上次彈出窗口中單擊“是”,您將在故障轉移群集中的可用存儲中註冊新的DataKeeper卷資源。 您將在可用存儲中看到新的DataKeeper卷資源。
創建文件服務器群集資源
要創建文件服務器群集資源,我們將再次使用Powershell而不是故障轉移群集接口。原因在於,再次因為虛擬機配置為使用DHCP,基於GUI的嚮導不會提示我們輸入群集IP地址,而是發出重複的IP地址。為避免這種情況,我們將使用簡單的powershell命令創建FIle Server群集資源並指定IP地址
Add-ClusterFileServerRole -Storage“DataKeeper Volume E”-Name FS2 -StaticAddress 10.0.0.101
記下您在此處指定的IP地址。它必須是網絡上唯一的IP地址。我們稍後在創建內部負載均衡器時將使用相同的IP地址。
創建內部負載均衡器
以下是Azure中的故障轉移群集與傳統基礎結構的不同之處。Azure網絡堆棧不支持免費ARPS,因此客戶端無法直接連接到群集IP地址。相反,客戶端連接到內部負載平衡器並重定向到活動群集節點。我們需要做的是創建一個內部負載均衡器。這可以通過Azure門戶完成,如下所示。如果客戶端通過公共Internet連接,則可以使用公共負載均衡器。但假設您的客戶端位於同一個vNet中,我們將創建一個內部負載均衡器。需要注意的重要一點是,虛擬網絡與群集節點所在的網絡相同。此外,您指定的專用IP地址將與用於創建文件服務器群集資源的地址完全相同。此外,由於我們使用的是可用區,因此我們將創建一個區域冗餘標準負載均衡器,如下圖所示。 創建內部負載均衡器(ILB)後,您需要對其進行編輯。我們要做的第一件事就是添加一個後端池。通過此過程,您將選擇兩個群集節點。 接下來我們要做的就是添加一個Probe。我們添加的探針將探測端口59999。此探針確定群集中哪個節點處於活動狀態。 最後,我們需要一個負載平衡規則來重定向SMB流量,TCP端口445。在下面的屏幕截圖中需要注意的重要事項是直接服務器返回已啟用。確保你做出改變。
修復文件服務器IP資源
配置的最後一步是在其中一個群集節點上運行以下PowerShell腳本。這將允許群集IP地址響應ILB探測。還要確保群集IP地址和ILB之間沒有IP地址衝突。請注意;您需要編輯此腳本以適合您的環境。子網掩碼設置為255.255.255.255。 這不是一個錯誤,保持原樣。這將創建一個特定於主機的路由,以避免與ILB發生IP地址衝突。
#定義變量 $ ClusterNetworkName =“” #群集網絡名稱(在更高的Windows Server 2012上使用Get-ClusterNetwork查找名稱) $ IPResourceName =“” #IP地址資源名稱 $ ILBIP =“” #內部負載均衡器的IP地址(ILB) 導入模塊FailoverClusters #如果您使用的是Windows Server 2012或更高版本: Get-ClusterResource $ IPResourceName | Set-ClusterParameter -Multiple @ {Address = $ ILBIP; ProbePort = 59999; SubnetMask =“255.255.255.255”; Network = $ ClusterNetworkName; EnableDhcp = 0} #如果您使用的是Windows Server 2008 R2,請使用以下命令: #cluster res $ IPResourceName / priv enabledhcp = 0 address = $ ILBIP probeport = 59999 subnetmask = 255.255.255.255
創建文件共享
您會發現在故障轉移群集管理器中使用文件共享嚮導不起作用。相反,您只需在活動節點上的Windows資源管理器中創建文件共享。故障轉移群集會自動獲取這些共享並將其放入群集中。請注意,此配置不支持文件共享的“連續可用性”選項。
結論
您現在應該在Azure中具有可用的文件服務器故障轉移群集,該群集跨越可用區。 如果您需要DataKeeper評估密鑰,請填寫http://us.sios.com/clustersyourway/cta/14-day-trial上的表格,SIOS將發送一份發送給您的評估密鑰。