SQL Server Always On 节点和文件共享多数

Mik*_*rak 6 sql-server clustering high-availability availability-groups disaster-recovery

我正在寻找有关在 Windows Server 2012 R2 上构建 SQL Server 2016 SP1 Always On Availability Groups HADR 解决方案的一些指导。我们有一个带有主副本和辅助副本的主站点 A 和一个带有辅助副本和文件共享见证的灾难恢复 (DR) 站点 B。我们的目标是,如果站点 A 的主副本服务器 1 发生故障,则 Always On Availability Group (AG) 故障转移到站点 A 的辅助副本服务器 2,如果站点 A 的两台服务器都发生故障,则 AG 故障转移到站点 B。

我们正在尝试按照https://technet.microsoft.com/en-us/library/cc731739(v=ws.11).aspx和此图表进行节点和文件共享多数配置:

在此处输入图片说明

此图显示,当一个节点和“磁盘”/文件共享见证通信时,集群运行,但在我们对这种情况的测试中,由于 WSFC 的仲裁丢失,集群失败。如果我们通过禁用 vmWare 中的 NIC 一次测试一台服务器的故障,则自动 AG 故障转移会起作用,因为 SQL Server 2016 支持两个自动故障转移目标副本。但是,如果我们同时使站点 A 的两台服务器发生故障以模拟点对点网络故障或站点电源故障,则不起作用。

以下手动干预强制仲裁的方法将起作用,但它不是自动的,这是我们在理想情况下想要的:

$node = "SQLServerC"
Stop-ClusterNode –Name $node
Start-ClusterNode –Name $node –FixQuorum

ALTER AVAILABILITY GROUP SQLServerAO FORCE_FAILOVER_ALLOW_DATA_LOSS;

$node = "SQLServerC"
Stop-ClusterNode –Name $node
Start-ClusterNode –Name $node
Run Code Online (Sandbox Code Playgroud)

感谢您提供的任何建议,并在此先感谢您!

Sea*_*ser 1

我们的目标是,如果站点 A 的主副本服务器 1 发生故障,则 Always On 可用性组 (AG) 会故障转移到站点 A 的辅助副本服务器 2,如果站点 A 的两台服务器都发生故障,则 AG 会故障转移到站点 B。

除非非常具体的场景,否则这是行不通的。在所有其他情况下,您将在能够自动故障转移之前失去仲裁(这需要...仲裁)。

最好的答案是让 DR 端进行手动故障转移(它仍然可以是同步的),并提供有关如何强制仲裁并使 AG 联机的正确文档。

您还可以对 VMWare 进行更多投资并使用他们的技术,但这需要基础设施、许可以及为特定服务实施这些产品的能力。