使用Msdtc #Sql #Azure #Msdtc在Azure虛擬機上配置SQL Server故障轉移群集實例
為MSDTC創建負載均衡器
MSDTC資源將需要其自己的負載均衡器。我們將向負載均衡器添加一個新的前端,而不是創建新的負載均衡器,該前端應該已經為SQL Server FCI配置。當然,此前端IP地址應與與群集MSDTC資源關聯的群集IP地址匹配。對於後端池,只需重用您創建的包含SQL集群節點的現有池。您需要創建一個專用於MSDTC資源的新健康探針。您使用的端口必須與您用於SQL資源的端口不同。不要使用59999。也許使用像49999這樣的東西。最後一步是為MSDTC創建負載平衡規則。創建一個新規則並引用我們剛剛創建的MSDTC前端和現有的後端。接下來,我們需要創建一個新的負載平衡規則。MSDTC使用臨時端口,這是一個很大的端口範圍。在創建規則時,必須選擇“HA Ports”框。最後,確保啟用了直接服務器返回。
更新MSDTC群集IP資源
像SQL Server群集IP地址一樣工作。我們需要運行一個Powershell命令,該命令將使MSDTC集群IP資源響應我們剛剛創建的探測端口49999的運行狀況探測。它還將該MSDTC群集IP地址的子網掩碼設置為255.255.255.255,以避免與我們設置的共享相同地址的負載均衡器前端發生IP地址衝突。
#define variables $ ClusterNetworkName =“”
#群集網絡名稱(使用Get-ClusterNetwork)
更高的Windows Server 2012查找MSDTC資源的名稱)
$ IPResourceName =“”
#MSDTC資源的IP地址資源名稱$ ILBIP =“”
#內部負載均衡器(ILB)和MSDTC資源的IP地址
導入模塊FailoverClusters
#如果您使用的是Windows Server 2012或更高版本:
Get-ClusterResource $ IPResourceName | SET-ClusterParameter
-Multiple @ {Address = $ ILBIP; ProbePort = 49999; SubnetMask =“255.255.255.255”;
網絡= $ ClusterNetworkName; EnableDHCP時= 0}
#如果您使用的是Windows Server 2008 R2,請使用以下命令:
#cluster res $ IPResourceName / priv enabledhcp = 0 address = $ ILBIP probeport = 59999
子網掩碼= 255.255.255.255
確認它正在工作!
您可以使用DTCPing或進入組件服務,並查看計算機>我的計算機>分佈式事務處理協調器,您應在其中看到本地DTC和群集DTC。任何分佈式事務都應出現在群集DTC中,而不是本地DTC中。查看此視頻,了解如何創建分佈式事務以進行測試的示例。
下一步
這是一個快速而骯髒的指南。對於有經驗的用戶,它應該在Azure中啟動並運行MSDTC資源。我將在不久的將來發布詳細的分步指南。在此期間,如果您遇到困難,請不要猶豫,在Twitter @daveberm上與我聯繫