群集中的MS DTC分布式事务协调器

MS DTC在大多数SQL 服务器下都须要安装,若只是安装数据库引擎或Analysis 服务可不安装DTC。若是后须要使用分布式事务,则可在SQL Server群集安装完成后再安装DTC。数据库

1、群集MS DTC安装

与正常添加群集服务相似在故障转移管理器,右击服务和应用程序à配置服务和应用程序。服务器

 

须要为DTC分配IP。以下图所示,此为跨子网群集,所以要在配置两个虚拟IP。分布式

在安装DTC的时候最好的作法是使用独立的共享磁盘,以避免DTC数据影响数据库存储磁盘数据的使用。以下图所示性能

2、MS DTC故障转移方式

与SQL Server服务故障转移相似,当群集指定某个节点的DTC失败,则将经过仲裁,将DTC服务转移到其余节点上。IP和磁盘资源也将从新绑定到新节点上。
在新的节点上,重启的DTC将读取共享磁盘上DTC的日志文件,来肯定未处理的事务和最近解决的事务。以下图所示,DTC在B节点上运做,若B节点失败,服务器将转移到A节点上,DTC事务管理器将持续读取共享磁盘DTC Log,从新运做。 spa

 

3、群集MSDTC与本地MSDTC

Windows 2003及之前版本仅支持在整个Windows 群集上建立一个MSDTC实例,但一个MSDTC有以下缺点: 日志

  1. 隔离性很差,由于全部应用程序都共享单独的DTC
    因为全部的应用程序或者服务都共享同一个DTC,当由于某个应用程序故障致使DTC不可用时候,其它应用程序和服务也都没法访问DTC
  2. 性能很差
    性能可能不够理想,好比当DTC须要处理一个不在本节点上一个应用程序的分布式事物时候,DTC延迟时间可能超过应用程序容忍的最大时间,致使服务超时或者故障转移.

Windows Server 2008故障转移群集可安装多站点DTC,提供了主动/主动的支持,有以下优势: blog

  1. 一个群集中的应用程序失败不会影响其余群集中的应用程序.
  2. 性能延迟问题减轻

    每一个节点能够有一个很是接近的DTC资源.减轻延迟的影响. 事务

本地MSDTC

群集的全部节点能够独立安装本地DTC,以下图所示群集组Myclustergrp1有本身的默认DTC和本地DTC. ip

Multiple MSDTC

群集组还能够安装多个DTC实例,能够设置每一个群集应用程序对应各自的DTC资源.以下图所示,通常状况下若群集应用程序有本身的DTC资源,则使用该DTC进行分发事务.若没有,则会使用群集资源里的其余DTC,若群集组里也没有,就会使用本地DTC. 资源

相关文章
相关标签/搜索