1. 程式人生 > >Failover Cluster(故障轉移群集)

Failover Cluster(故障轉移群集)

故障轉移群集中的可伸縮性通常是通過擴充套件群集內的單個伺服器,或向其中新增更多功能來實現的。 瞭解以下兩點是很重要的:故障轉移群集必須設計為處理預期負載,各個伺服器的大小應當能夠適應 CPU、記憶體和磁碟使用的預期增長。 Failover Cluster 伺服器通常是高階多處理器伺服器,並且它們被配置為使用多個冗餘子系統來獲得高可用性。 如果解決方案的資源要求超過了群集中伺服器的限制條件,則擴充套件群集將是極其困難的。

示例

為了幫助您更好地瞭解如何使用故障轉移群集來實現高可用性,下面的討論分步演示瞭如何將已經實現的基本解決方案(它包含單個系統,即故障單點)重構為高度可用的解決方案。

非故障轉移解決方案

一開始,組織可能只有基本解決方案體系結構(例如,圖 1 中略述的體系結構)。雖然該解決方案可能滿足最初的可用性要求,但是某些因素(如使用者數的增長或需要應用程式停機時間更短)可能迫使您對設計進行更改。

(圖1)

在圖 1 中,資料層僅包含一臺為應用程式層提供服務的資料庫伺服器 (Database10)。 如果資料庫伺服器或它執行的軟體發生故障,則應用程式伺服器將不再能夠訪問用來為客戶端提供服務的資料。 這將使應用程式對客戶端不可用。

故障轉移群集解決方案

為了提高解決方案的可用性,組織可能決定消除資料層中的單個數據庫伺服器造成的潛在故障單點。 為此,可以將伺服器新增到資料層,並利用現有資料庫伺服器、新伺服器和共享儲存裝置建立故障轉移群集。 在說明該更改的圖 2 中,群集由連線到共享儲存陣列的兩臺伺服器組成。

圖2

第一臺伺服器 (Database01) 是處理所有事務的活動伺服器。 僅當 Database01 發生故障時,處於空閒狀態的第二臺伺服器 (Database02) 才會處理事務。 群集將一個虛擬 IP 地址和主機名 (Database10) 在客戶端和應用程式所使用的網路上公開。

注意:您可以將此設計擴充套件為包括多臺活動伺服器(除了所示的伺服器外),要麼使它們共享單個備用伺服器,要麼將每個活動伺服器配置為另一個活動伺服器的備用伺服器。

注意:您可以將此設計擴充套件為包括多臺活動伺服器(除了所示的伺服器外),要麼使它們共享單個備用伺服器,要麼將每個活動伺服器配置為另一個活動伺服器的備用伺服器。

Failover Cluster 模式具有的優缺點:

優點

適應計劃內的停機時間。故障轉移群集可以允許系統有停機時間,而不會影響可用性。 這樣,就適應了日常的維護和升級需要。

減少計劃外停機時間。 故障轉移群集通過消除系統和應用程式級別上的故障單點,減少了與伺服器和軟體故障有關的應用程式停機時間。

缺點

會增加響應時間。 對於故障轉移群集設計來說,由於備用伺服器上的負載增長,或需要更新多臺伺服器的狀態資訊,因此會增加響應時間。

增加裝置成本。故障轉移群集所要求的額外硬體很容易使基礎結構層的成本加倍。