结合故障转移群集和数据库镜像

结合故障转移群集和数据库镜像

在 SQL Server 中结合故障转移群集和数据库镜像时,需要更改镜像伙伴超时值,以便本地群集有机会在数据库镜像故障转移之前进行故障转移。我很好奇人们在结合这些技术时会做什么——我教授各种 HA 课程,这种组合并不常见。

如果您将故障转移群集和数据库镜像结合使用,以下是我的问题。如果您能在每个回复中回答所有问题,那将对我非常有帮助。我不需要解释为什么需要改变或这些技术如何工作 - 我在微软时曾经拥有它们 - 我对行业实践很感兴趣,现在将它们结合起来的可能性已经存在了 4 年。

1) 平均而言,群集 SQL Server 实例需要多长时间才能完成故障转移?(我知道这取决于需要多少崩溃恢复,但您的平均值是多少?)

2)对于这些相同的实例,您将镜像伙伴超时设置为何值?

3)您是否可以接受这样的事实:真正的集群中断可能发生,并且可能要过相当长一段时间镜像才会注意到故障已经发生,因为您已经增加了镜像伙伴的超时时间?

感谢所有回复!

答案1

保罗,1.通常是几秒钟,最多几分钟,这取决于……(剩下的你们知道的)。

  1. 如果我设置自动故障转移,我会花几分钟时间。这样站点到站点 VPN 连接就有时间恢复,集群可以重新启动等。至少我可能会比本地断电时集群节点重新启动所需的时间多花 4 分钟。

  2. 是的。DR 问题通常定义为一小时以上的故障。此外,全局负载均衡器可能需要更长的时间才能注意到其他站点已关闭,并上传所有 DNS,以及 DNS 上的 TTL 时间。这个总时间应该是自动故障转移时间的上限。

答案2

我没有参与最初的设计,但事情的设置如下:

  • 每个站点上有 2 个节点集群,运行主动/主动
  • 该应用程序总共使用 5 个数据库,其中 4 个在一个实例上运行。另一个数据库 1 单独运行(负载高得多)
  • 这些站点通过暗光纤连接
  • 每个站点都有相同数量的使用镜像感知客户端的 Web 服务器
  • 为所有 5 个数据库设置数据库镜像
  • 每个站点都有另一台独立服务器可以充当见证服务器。见证服务器当前在所有主体所在的站点上运行。

    1. 我从未见过集群故障转移。镜像故障转移很快,我认为最多只需 10 秒。

    2. 所有数据库的合作伙伴超时时间为 30 秒

    3. 根据设计,镜像故障转移将先于群集故障转移发生。尽管每个实例都配置为仅使用服务器上可用 RAM 的一半,但数据库仅作为额外的冗余级别进行群集。

相关内容