估计大家都搞过2003的Cluster,前段时间到客户那边要搭建一个SQl2005的群集,没想到的是耗费了我三天的时间,并且两个晚上都是通宵,想想都后怕啊!客户环境很简单,两个IBM X3850作为群集节点,一台IBM4000磁盘柜作为后台存储,在确保连通后,我开始实施了群集的部署。因为客户那里没有活动目录,所以只能将两个节点分别提升为主DC和辅助DC,然后再去安装Cluster服务。添加节点时都没什么问题,就是有一个可以忽略的警告,但好像不影响群集的安装。两个节点都加入到群集之后,我首先做的就是切换群集资源,来回两个节点切换都没问题。然后就在主节点上安装了MSDTC组件(在任何一个节点上,在添加删除组件中选择应用程序服务里面的微软分布式协调器),这个是SQL2005必须依赖的一个组件资源。然后添加完这个组件后,我再来切换群集资源,这时出问题了,没想到其它资源都能切换到另一节点,而到MSDTC这个资源是就等待一会儿,然后另一节点脱机,切换又回滚到原节点上。
 
在系统日志中记录了以下错误:

事件类型: 错误
事件来源: Service Control Manager
事件种类: 无
事件 ID: 7031
日期:  2009-3-17
事件:  16:38:32
用户:  N/A
计算机: X38502
描述:
Cluster Service 服务意外地终止,这种情况已经出现了 2 次。以下的修正操作将在 120000 毫秒内运行: 重新启动服务。
有关更多信息,请参阅在 [url]http://go.microsoft.com/fwlink/events.asp[/url] 的帮助和支持中心。
 
事件类型: 错误
事件来源: Service Control Manager
事件种类: 无
事件 ID: 7024
日期:  2009-3-17
事件:  16:38:33
用户:  N/A
计算机: X38502
描述:
Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止。
有关更多信息,请参阅在 [url]http://go.microsoft.com/fwlink/events.asp[/url] 的帮助和支持中心。

在应用程序日志中记录了以下的错误:
事件类型: 错误
事件来源: MSDTC
事件种类: SVC
事件 ID: 4112
日期:  2009-3-17
事件:  16:44:35
用户:  N/A
计算机: X38502
描述:
无法启动 MS DTC 事务管理器。
有关更多信息,请参阅在 [url]http://go.microsoft.com/fwlink/events.asp[/url] 的帮助和支持中心。

事件类型: 错误
事件来源: MSDTC
事件种类: TM
事件 ID: 4185
日期:  2009-3-17
事件:  16:44:35
用户:  N/A
计算机: X38502
描述:
MS DTC 事务管理器启动失败。LogInit 返回错误 0x5。
有关更多信息,请参阅在 [url]http://go.microsoft.com/fwlink/events.asp[/url] 的帮助和支持中心。
事件类型: 错误
事件来源: MSDTC
事件种类: LOG
事件 ID: 4163
日期:  2009-3-17
事件:  16:44:35
用户:  N/A
计算机: X38502
描述:
找不到 MS DTC 日志文件。在确认所有由 MS DTC 协调的资源管理器不具有“不确定”状态的事务之后,请运行 msdtc -resetlog 创建日志文件。
 
就这个问题我搞了两天,都没着落。后来求助了微软GTech中心,他们给我了一篇文章,这里面说到了是权限问题,因为我的cluster是和DC安装在一台服务器上的,在切换资源时network service帐户没有权限。然后按照这篇 [url]http://support.microsoft.com/kb/900216/en-us[/url]文章做完之后,微软还让我把仲裁盘里面存放DTC日志的文件,将安全权限设置为network services帐户为完全控制。只要在这两个地方进行完操作后,再到群集管理器中切换资源,一下子就切换过去了。