I have read some limited blogs and kb articles about this DTC setup in windows 2008 clustering with SQL 2008. I like to get some clarification about this DTC setup. Our shop doesn't use distributed transactions but we do use transactional replication. So our DTC is mostly used in SQL related process and I don't thnk it is heavily used under our envirnoment if at all.
In windows 2008 clustering, when configuring DTC, it will need and ask for an un-used disk. As I understand, there are two ways to do this. One is allocate a disk for it and not shared by anything else. The other is to share the disk with another resouce such as SQL data. I have a question for each one and will list as follows:
1. if I were to allocate a disk to just DTC only, how much space should I need considering that DTC is not being used heavily. What I am going to do is to parttion a raid from the SAN level so a disk with its own LUN# is allocated for DTC. The rest of the partition from the same raid will be used for SQL data.
2. if I were to configure DTC to share a disk resource with another application such as SQL data, I don't have any problem with this setup either. But once I set up everything for both SQL server and DTC, I see something that doesn't look quite right which I will describe in detail below.
In our SAN, we have three sets of RAID which are used as G:data, F:tempdb, E:tranlog, During the DTC setup using Failover Cluster Management tool in Windows 2008, I will let DTC claims Disk G. Once the configuration is done, under 'Services and Application', it will create an entry and I named it ClusterDTCgroup. Inside this group, it lists three sources: server name with IP, MSDTC, and the disk G. Everything works as expected.
Now I install SQL 2008 cluster and its node (it is an active-passive setup) which is very straight forward. It also asks for disk storage and since DTC claims the disk G, SQL only sees disk F and disk E but it is ok for now and the setup is successully. This setup will create another entry under 'Services and Application' and I named it 'SQLResourceGroup' and inside this group, it shows the server name with IP, two disk resouces and SQL server and SQL agent. Again everthing works as expected.
Since the disk E which is claimed by DTC during the DTC setup is also supposedly used for housing the SQL database so I right click on disk E and move it to the SQLResoureGroup I created in the above. As a result of such move, not only the disk E is moved but also all other resouces under the ClusterDTCgroup are now moved into the SQLResouceGroup. This leaves the ClusterDTCgroup with no resouces inside. I understand why all the entries moved because of dependency setup among DTC, Disk E and the server name. But one thing I don't understand is that what the purpose is to have a ClusterDTCgroup exist with no entry inside. Secondly, If I right click this 'ClusterDTCgroup' and select 'Manage MSDTC'. It will give out error because nothing inside for it to manage. For this feature to work, I need to move the DTC resource back from the SQLReourceGroup. Granted, I may not need to use the 'Manage DTC' feature since I don't know what it is for. But I think it should follow where the DTC resouce actually is in. I don't know if this is a bug or my DTC setup in this situation is correct or not. I guess with what I have set up in this DTC setup (shared disk with another resource), did i set it up correctly?
If anyone can give me some pointers, I would be very much appreciated.
November 7, 2008 6:05 PM
November 10, 2008 6:50 PM