Sql-Server

SQL Server Always On 節點和文件共享多數

  • May 18, 2021

我正在尋找有關在 Windows Server 2012 R2 上建構我們的 SQL Server 2016 SP1 Always On 可用性組 HADR 解決方案的指導。我們有一個具有主副本和輔助副本的主站點 A,以及具有輔助副本和文件共享見證的災難恢復 (DR) 站點 B。我們的目標是,如果站點 A 的主副本伺服器 1 停機,Always On 可用性組 (AG) 故障轉移到站點 A 的輔助副本伺服器 2,如果站點 A 的兩個伺服器都停機,則 AG 故障轉移到站點 B。

我們正在嘗試按照https://technet.microsoft.com/en-us/library/cc731739(v=ws.11).aspx和此圖進行節點和文件共享多數配置:

在此處輸入圖像描述

此圖顯示,當一個節點和“磁碟”/文件共享見證通信時集群執行,但在我們對這種情況的測試中,集群由於 WSFC 的仲裁失去而失敗。由於 SQL Server 2016 支持兩個自動故障轉移目標副本,因此如果我們通過禁用 vmWare 中的 NIC 一次測試一台伺服器的故障,自動 AG 故障轉移將起作用。但是,如果我們同時使站點 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

感謝您提供的任何建議,並在此先感謝您!

我們的目標是,如果站點 A 的主副本伺服器 1 停機,Always On 可用性組 (AG) 故障轉移到站點 A 的輔助副本伺服器 2,如果站點 A 的兩個伺服器都停機,則 AG 故障轉移到站點 B。

除了非常特殊的情況外,這是行不通的。在所有其他情況下,您將在能夠自動故障轉移之前失去仲裁(這需要……仲裁)。

最好的答案是讓 DR 端進行手動故障轉移(它仍然可以是同步的),並提供有關如何強制仲裁和使 AG 聯機的適當文件。

您還可以對 VMWare 進行更多投資並使用他們的技術,但這需要假設基礎架構、許可以及為特定服務(例如此類)實施這些產品的能力。

你應該考慮 windows server 2016。blogs.msdn - Introduction-cloud-witness

引用自:https://dba.stackexchange.com/questions/163516