故障转移群集是Microsoft群集服务(MSCS)群集组(称为资源组)中的一个或多个物理磁盘的组合,这些磁盘属于群集的节点。 资源组被配置为一个故障转移群集实例,以托管一个 SQL Server 实例。 SQL Server 故障转移群集实例在网络上通常表现得像是单台计算机,但具备在一个节点不可用时进行节点间故障转移的功能。 有关详细信息,请参阅 AlwaysOn 故障转移群集实例(SQL Server)。
故障转移群集为整个MICROSOFT SQL Server 实例提供高可用性支持,而数据库镜像则为单一数据库提供高可用性支持。 数据库镜像在故障转移群集之间以及故障转移群集和非聚集主机之间工作。
注释
有关数据库镜像的简介,请参阅数据库镜像(SQL Server)。
镜像和群集
通常,当使用镜像与群集结合时,主体服务器和镜像服务器分别驻留在不同的群集上,主体服务器运行在一个群集的故障转移群集实例上,而镜像服务器运行在另一个群集的故障转移群集实例上。 可以建立一个镜像会话,其中一个伙伴驻留在群集的故障转移群集实例上,而另一个伙伴则驻留在单独的非群集计算机上。
如果群集故障转移使主体服务器暂时不可用,则客户端连接与数据库断开连接。 群集故障转移完成后,客户端可以重新连接到同一群集上的主体服务器,或者连接到其他群集或未聚集的计算机,具体取决于 作模式。 因此,在决定如何在群集环境中配置数据库镜像时,用于镜像的作模式非常重要。
带有自动故障转移的 High-Safety 模式会话
如果打算使用自动故障转移在高安全模式下镜像数据库,则建议合作伙伴使用双群集配置。 此配置提供最大可用性。 见证可以驻留在第三个群集或未聚集的计算机上。
如果运行当前主体服务器的节点失败,则数据库自动故障转移将在几秒钟内开始,而群集仍在故障转移到另一个节点。 数据库镜像会话故障转移到另一个群集或非群集计算机上的镜像服务器,以前的镜像服务器则变为主服务器。 新的主服务器会尽可能快地前滚其数据库副本,并将其上线为主数据库。 群集故障转移完成后,通常需要几分钟时间,以前是主体服务器的故障转移群集实例将成为镜像服务器。
下面的插图显示了在具有见证服务器的高安全模式下运行的镜像会话中,群集之间的自动故障转移(此模式支持自动故障转移)。
镜像会话中的三个服务器实例驻留在三个不同的群集上: Cluster_A、 Cluster_B和 Cluster_C。 在每个群集上,SQL Server 的默认实例作为 SQL Server 故障转移群集实例运行。 镜像会话启动时, Cluster_A 上的故障转移群集实例是主体服务器, Cluster_B 上的故障转移群集实例是镜像服务器, Cluster_C 上的故障转移群集实例是镜像会话中的见证服务器。 最终, Cluster_A 上的活动节点会失败,这会导致主体服务器不可用。
在群集有时间执行失败转移之前,镜像服务器在见证服务器的帮助下检测到主体服务器的丢失。 镜像服务器将其数据库前滚,并尽快使其作为新的主数据库联机。 Cluster_A完成故障转移后,以前的主体服务器现在是镜像服务器,它会将其数据库与Cluster_B上的当前主体数据库同步。
在没有自动故障转移的情况下 High-Safety 模式会话
如果在高安全性模式下镜像数据库且没有自动故障转移,那么当运行当前主体服务器的节点发生故障时,群集中的另一个节点将充当主体服务器。 请注意,当群集不可用时,数据库不可用。
High-Performance 模式会话
如果打算以高性能模式镜像数据库,请考虑将主服务器放置在群集的故障转移群集实例上,并将镜像服务器放置在远程位置的非集群服务器上。 如果群集发生故障转移到其他节点,故障转移群集实例将在镜像会话中继续作为主服务器。 如果整个群集出现问题,则可以强制服务到镜像服务器。
设置新的 SQL Server 故障转移群集
设置数据库镜像