Availability-Groups

如何將 4 節點 AlwaysOn 集群配置為具有兩個偵聽器?

  • March 18, 2021

希望建構一個 4 節點(伺服器 A、B、C 和 D)AlwaysOn Windows 2016 故障轉移集群,主數據中心中有 2 個節點用於 HA,DR 數據中心中有 2 個其他副本節點用於災難/報告目的。

由於這是一個多站點集群,有沒有辦法配置在一個 AlwaysOn 可用性組下擁有兩個偵聽器(一個用於生產/主實例,另一個用於 DR 實例)。

另外,所有四個節點上的 SQL 是否需要在同一個服務帳戶下執行?或者伺服器 A、B 可以在一個帳戶下,而伺服器 C、D 可以在另一個帳戶下執行。

這甚至可行/可能嗎?預先感謝您的幫助!!希望大家在這段時間都平安無事。

有沒有辦法配置有兩個監聽器

有點,但它是不尋常的。更正常的做法是擁有一個配置只讀路由的 AG 偵聽器。這樣,每個人都連接到相同的主機名,但只讀工作負載將斷開連接並直接重新連接到可用的可讀副本。

所有四個節點上的 SQL 都需要在同一個服務帳戶下執行嗎?

建議但不要求為所有節點使用單個組託管服務帳戶。如果實例具有不同的服務帳戶,則在連接到 AG 偵聽器時, Kerberos將無法工作。

我使用的是 Windows Server 2019 和 SQL Server 2019,但這些說明在其他版本中應該大致相同。

在 Windows 故障轉移群集管理器中為可用性組配置多個偵聽器。轉到 Cluster > Roles > Add Resource > Client Access Point 並添加新的偵聽器。接下來,當仍在故障轉移集群管理器中時,使新的偵聽器聯機。之後,仍在故障轉移群集管理器中時,將其分配給 AG。現在您已準備好進入 SSMS。打開對象資源管理器並連接到主節點。轉到 Always On 高可用性 > 可用性組 >

$$ Availability Group Name $$> 可用性組偵聽器。您將在此處看到新的第二個偵聽器。右鍵點擊它並選擇屬性並在彈出視窗中添加 SQL 埠號。 這是一篇我覺得很有幫助的文章:https ://techcommunity.microsoft.com/t5/sql-server/how-to-create-multiple-listeners-for-same-availability-group/ba-p/384028

這是我發現有用的 YouTube 影片:https ://www.youtube.com/watch?v=wweCJ4netQk

如果您真正想要的是分佈式可用性組,分佈式可用性組在本文件中進行了描述: https ://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/distributed-availability-組?view=sql-server-ver15

本文件中描述了為分佈式可用性組配置多個偵聽器: https ://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/configure-distributed-availability-groups?view=sql -server-ver15

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