Sql-Server

SQL Server 群集 - 主動/主動還是主動/被動?

  • June 13, 2019

主動/主動集群與主動/被動集群的邏輯是什麼?

我搜尋了很多,閱讀了很多文件,但沒有找到答案。

在活動活動集群中,我可以有 1 個共享儲存中的數據庫並且該數據庫有 2 個實例嗎?

Active Active 集群的優缺點是什麼?

在主動被動集群中,我可以擁有一個共享儲存中的數據庫並且它使用主動節點。如果主動節點關閉,被動節點會變成主動節點嗎?

主動/主動通常是指同時提供多個數據庫副本的想法。但是,在 SQL Server 中,除了在多個實例之間分片數據的某種邊緣情況外,對於讀寫數據庫,沒有辦法實現這一點。在 SQL Server 中,Active/Active 通常用於表示安裝了多個 SQL Server實例的多節點 Windows Server 故障轉移群集,其中每個節點都有一個單獨的實例。但是,為了成功執行,每個節點都需要配置足夠的記憶體和 CPU 資源,以成功為所有實例提供服務,以防該節點是某個時刻唯一剩下的執行節點。

主動/被動是指擁有一個多節點集群,其中一個節點為數據庫提供服務,而另一個節點可以在主節點發生故障時承擔負載。

作為主動/主動的範例,請考慮以下內容:

在 Windows Server 故障轉移群集中配置了 2 台電腦,節點“A”和節點“B”。集群安裝了兩個實例,“X”和“Y”。通常,“X”在節點“A”上執行,“Y”在節點“B”上執行。這意味著兩台機器的馬力可以結合起來滿足兩個實例的需求。但是,如果節點“A”出現故障,則節點“B”將同時託管“X”和“Y”實例。

MSSQLTips.com 有一篇很棒的文章比較了這兩種類型的集群。

MSDN 有一篇關於如何使用 Hyper-V 創建 Active/Active 集群的好博文。

從您問題中的描述來看,在我看來,您想要一個典型的 2 節點集群,其中一個實例服務一個數據庫。數據庫駐留在共享儲存上,因此如果主動節點(目前為數據庫提供服務的節點)出現故障,被動節點將自動啟動實例並從那裡開始為數據庫提供服務。一旦原始節點重新上線,實例就可以移回它,儘管這不是絕對必要的。

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