Date: 4月 4, 2019
使用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上与我联系