羣集中的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. 資源

相關文章
相關標籤/搜索