群集中的MS DTC分布式事務協調器


MS DTC在大多數SQL 服務器下都需要安裝,若只是安裝數據庫引擎或Analysis 服務可不安裝DTC。如果后需要使用分布式事務,則可在SQL Server群集安裝完成后再安裝DTC。

一、群集MS DTC安裝

與正常添加群集服務類似在故障轉移管理器,右擊服務和應用程序à配置服務和應用程序。

 

需要為DTC分配IP。如下圖所示,此為跨子網群集,因此要在配置兩個虛擬IP。

在安裝DTC的時候最好的做法是使用獨立的共享磁盤,以免DTC數據影響數據庫存儲磁盤數據的使用。如下圖所示

二、MS DTC故障轉移方式

與SQL Server服務故障轉移類似,當群集指定某個節點的DTC失敗,則將通過仲裁,將DTC服務轉移到其他節點上。IP和磁盤資源也將重新綁定到新節點上。
在新的節點上,重啟的DTC將讀取共享磁盤上DTC的日志文件,來確定未處理的事務和最近解決的事務。如下圖所示,DTC在B節點上運作,若B節點失敗,服務器將轉移到A節點上,DTC事務管理器將持續讀取共享磁盤DTC Log,重新運作。

 

三、群集MSDTC與本地MSDTC

Windows 2003及以前版本僅支持在整個Windows 群集上創建一個MSDTC實例,但一個MSDTC有如下缺點:

  1. 隔離性不好,因為所有應用程序都共享單獨的DTC
    由於所有的應用程序或者服務都共享同一個DTC,當因為某個應用程序故障導致DTC不可用時候,其它應用程序和服務也都無法訪問DTC
  2. 性能不好
    性能可能不夠理想,比如當DTC需要處理一個不在本節點上一個應用程序的分布式事物時候,DTC延遲時間可能超過應用程序容忍的最大時間,導致服務超時或者故障轉移.

Windows Server 2008故障轉移群集可安裝多站點DTC,提供了主動/主動的支持,有如下優點:

  1. 一個群集中的應用程序失敗不會影響其他群集中的應用程序.
  2. 性能延遲問題減輕

    每個節點可以有一個非常接近的DTC資源.減輕延遲的影響.

本地MSDTC

群集的所有節點可以獨立安裝本地DTC,如下圖所示群集組Myclustergrp1有自己的默認DTC和本地DTC.

Multiple MSDTC

群集組還可以安裝多個DTC實例,可以設置每個群集應用程序對應各自的DTC資源.如下圖所示,一般情況下若群集應用程序有自己的DTC資源,則使用該DTC進行分發事務.若沒有,則會使用群集資源里的其他DTC,若群集組里也沒有,就會使用本地DTC.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM