Configuring MS DTC on the Passive Node in a Cluster

  • We followed Microsoft's instructions for configuring MS DTC using the Cluster Administrator [/url]. The last step in the process says Complete the steps that are documented in Knowledge Base article 817064.

    Should the steps in 817064 be performed against both nodes? I assume they should.

    I also noticed the MS DTC service is stopped on the second node and set to manual. I assume this should be left in manual mode and that during a failover I must manually start MS DTC on the second node. Is this correct? The reason why I assume it should be left in manual mode is that MS DTC relies on a physical disk resource. That disk in a clustered environment is located on the SAN, which the primary node can access. Since the passive node cannot access the physical disk under normal operations it would not have access to the physical disk resource and therefor MS DTC would not be able to run. Is this correct?

    Thanks, Dave

  • normally, MSDTC service will be running in one node and the dependend disk resource (shared SAN drive) will be online in the same node.

    In the passive node DTC service & the DTC disk resources will be offline.

    In case of a failover, the DTC disk will come online on the second node (passive node) and after that the DTC service will come online which will be able to use the DTC disk resources on the server

    Also DTC resource cannot be online on both the nodes as there may be a DTC Network Name and DTC IP (not mandatory) which can be online only in one node

    hope this is help full


    subban

  • Do you know what causes the DTC service to start on the passive node?

    I assume from your answer the DTC service should be left in MANUAL mode.

    Thanks, Dave

  • i think during the failover all the sevices which was online in the first node, cluster service will try make online in the second node. hence it comes online.

    If it was offline before the failover, the failover process will not try to make it online in the other node.


    subban

  • Just to clear this up a bit. Any service that is managed by Cluster Administrator needs to be defined as Manual. If it is set to Automatic, then during a failover the cluster administrator will not be able to start the service up and will mark it as failed. This could potentially cause the cluster to attempt to fail back depending upon the settings you have.

    So, do not change the startup from manual.

    Jeff

    Jeffrey Williams
    “We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”

    ― Charles R. Swindoll

    How to post questions to get better answers faster
    Managing Transaction Logs

  • Thanks Jeff.

    We only have three clusters and on the first one we configured we did not enable MS DTC. If we go back and enable it will the cluster administrator know it is supposed to manage MS DTC? I assume it will because we did create the three cluster resources prior to installing SQL Server. However we forgot to perform the Add/Remove programs step that enabled MS DTC, as well as the Component Services step that further defines MS DTC.

    Dave

  • To be honest - I don't know, since I have actually never set it up. I have a group who manages the servers and sets all that up before turning it over to me to install SQL Server.

    Jeff

    Jeffrey Williams
    “We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”

    ― Charles R. Swindoll

    How to post questions to get better answers faster
    Managing Transaction Logs

  • Hi DBADave,

    Yes you can configure the MSDTC any time and add it as as clustered resources. You will have two options in that case.

    1. Create a seperate MSDTC group, Inside the MSDTC group add an IP resource (you require a virtual ip for this), add network name resource which depends on the IP (your require a virtual name for this) then add the DTC resources which depends on the Network Name and a shared resources (you require a seperate shared MSDTC SAN disk for this)

    2. With in the SQL Server cluster group(the group where all the sql resources resides) add a DTC resource and make it depends on the SQL server network Name and one of the disk in the same group

    The first approach would require a new IP, NetworkName and a dedicated shared resources, but the second approach will make use of the existing SQL IP, SQL Network Name and SQL disk resources.

    The first approach is the best one as it is not dependend on the SQL server - in the second approach any failure on any resources in the sql group will affect the MSDTC as well.

    Also make sure to enable the nework DTC access in windows 2003 servers. if windows 2000 severs run comclust.exe in all the nodes prior to setting the MSDTC cluster


    subban

  • We did follow the first approach (IP Address, Network Name and Physical Disk), but we forgot to enable it in Windows Server 2003. The strange thing is that particular cluster has no problems with linked server communication. We're not sure how that is possible considering the documentation says to enable MS DTC using "ADD or Remove Programs" as well as enabling some options found in "Component Services". The server is Windows Server 2003 SP1.

    Thanks, Dave

  • Hello All -

    Does anyone know if the requirements and config of DTC changed with SQL 2008 and Win2008 in a cluster?

    I noticed my MSDTC resource (dedicated clustered disk) is on the Passive Node and my SQL Server resource is on the Active Node. Should I failover the DTC resource to keep them both on the same node?

    KU

  • Hello All,

    We have a three node Active-Active-Passive cluster. (Windows 2003 Enterprise x64 Edition and SQL 2005 EE 64 Bit)

    MSDTC has been configured as a separate group in cluster admin with its own IP and Network Name)

    This was an Active-Passive node to start with, later we added another Active node.

    MSDTC is running on on the Active node that owns MSDTC group. MSDTC is not running on the second Active node. Any suggestions on how to fix this?

    Thanks

    Prakash BhojeGowda

    Prakash B

  • When you set up DTC as a cluster resource, it is used for the entire cluster. There is no way to have it "running" on more than 1 node, just like there's no way to run any other cluster resource on multiple nodes simultaneously.

    DTC will service all sql instances on the cluster, regardless of which node it is currently on. Now...if one of your instances gets 95% of DTC traffic and the other gets 5%..it's probably a good idea to have DTC running on the same node as the 95% instance. I highly doubt you'd notice a performance difference under any normal circumstances though.

  • Just a note..my post above applies to SERVER 2003 ONLY

    Server 2008 allows multiple DTC services running on the same cluster, though I haven't done this yet so I can't give any advice on it.

Viewing 13 posts - 1 through 12 (of 12 total)

You must be logged in to reply to this topic. Login to reply