过去,我使用了两个节点集群设置。所有服务(SQL、文件服务器、应用程序服务器、DTC)都在集群内正常来回传递。
现在我采取了不同的方法。我喜欢构建我的 2 节点集群并且只安装 Hyper-V 角色和故障转移集群功能。然后创建大约 6 个服务器,根据需要在 2 个节点之间自由迁移。通过此设置,所有“服务”现在都只是独立服务器。
我的印象是我安装和设置了 DTC 服务,以说明在 SQL 事务中间将 SQL 服务从一个节点抛出到另一个节点的节点。这样,当服务在它被发送到的另一个节点上恢复时,SQL 事务/请求可以恢复。
现在我只运行了一个 SQL 服务器服务,并且所有节点跳跃都在较低级别(通过 VM)上完成,我什至还需要 DTC 服务吗?
你不可以。显然,在您所做的设置中没有任何东西会使用 DTC,因为集群中运行的都是虚拟机。
那就是说:您还通过移动虚拟机放弃了“很多”高可用性。图像总是有可能损坏。即使 2015 年即将推出的 Storage Spaces Direct 也无济于事。
这就是为什么 SQL Server 长期以来一直从集群中的共享文件转移到 AOAG(Always On Availability Groups),每个实例都保留自己的数据库副本。删除存储作为单点故障(包括损坏)。