主要主機與叢集管理 (Windows Server AppFabric 快取)
Windows Server AppFabric 快取叢集是一個動態伺服器群組,群組中的伺服器共同運作,為您的應用程式資料提供單一邏輯快取。若要達到此一目的,就無法避免在協調快取主機之間的叢集作業時產生一些額外負荷。叢集管理角色負責管理快取主機,最終管理快取叢集。
執行叢集管理角色的對象有兩種選擇,而這取決於分散式快取系統的部署方式。若將叢集組態設定儲存在 SQL Server 資料庫中,您也可以使用該 SQL Server 執行個體來執行叢集管理角色。
若選擇將叢集組態設定儲存在共用的網路資料夾中,叢集管理角色一律是由特殊的快取主機 (稱為主要主機) 執行。主要主機執行的任務與未指定為主要主機的其他快取主機相同,但是前者還要負責與其他主要主機一起執行叢集管理角色。
下表顯示您安裝時的選擇與叢集管理選項的相關性。如需選擇適合之組態選項的詳細資訊,請參閱叢集組態儲存選項 (Windows Server AppFabric 快取)。
叢集組態儲存類型 | 叢集組態儲存位置 | 叢集管理 |
---|---|---|
XML 檔案 |
共用的網路資料夾 |
主要主機 |
SQL Server 資料庫 |
SQL Server |
SQL Server (預設值) 或主要主機 |
自訂提供者 |
自訂儲存區 |
自訂儲存區 |
叢集管理角色任務
有兩個主要的組態設定可決定叢集在涉及叢集管理時的功能:
leadHostManagement
:這個叢集等級設定決定誰要執行叢集管理角色。如果為 True,會由主要主機執行叢集管理角色。如果您選擇將叢集組態設定儲存在共用的網路資料夾中,此設定的唯一有效值是 True。False 表示將由 SQL Server 或自訂提供者執行叢集管理角色。使用 SQL Server 或自訂提供者來儲存叢集組態設定時,可將此設定設為 True,讓主要主機執行叢集管理角色。leadHost
:當由主要主機執行叢集管理角色時,這個快取主機等級設定決定哪些快取主機將成為主要主機。即使將由 SQL Server 執行叢集管理角色,安裝程式也會指定主要主機,以防您稍後變更leadHostManagement
設定。
如需有關變更這些設定的詳細資訊,請參閱設定叢集管理角色與主要主機指定 (Windows Server AppFabric 快取)。
利用這兩個屬性,就有四種可能的案例可決定快取主機的行為。下表說明這些案例。
leadHostManagement 叢集等級設定 |
leadHost 快取主機設定 |
設定組合描述 | 有效的快取主機職責 |
---|---|---|---|
|
|
SQL Server 或自訂提供者會執行叢集管理角色。這不是主要主機。 |
僅一般快取主機操作。 |
|
|
SQL Server 會執行叢集管理角色。如果您將 |
僅一般快取主機操作。 |
|
|
主要主機會執行叢集管理角色,但這不是主要主機。 |
僅一般快取主機操作。 |
|
|
主要主機會執行叢集管理角色。這是主要主機。 |
一般快取主機操作,且會與其他主要主機共同管理叢集。 |
當主要主機執行叢集管理角色時
如果 leadHostManagement
與 leadHost
設定為 true
,系統會提升快取主機等級以增加它在叢集內的職責,並將它指定為主要主機。除了與快取資料相關的一般快取主機操作之外,主要主機也會與其他主要主機共同管理叢集操作。
當主要主機失敗時
為了讓快取叢集維持可用,大部分的主要主機都必須維持可用。與大型叢集相比,這樣做對於小型叢集來說風險較高,原因是小型叢集能夠承受的伺服器失敗 (會造成叢集自行關閉) 數較少。
注意
當主要主機執行叢集管理角色時,如果絕大多數的主要主機失敗,整個快取叢集就會關閉。
例如,考慮下圖顯示的快取叢集 (由六部伺服器所組成)。在此範例中,主要主機會執行叢集管理角色,且有兩部快取主機被指定為主要主機。
如果叢集內的任一部一般快取主機失敗,叢集仍可持續執行。非主要主機上的資料會遺失 (假設未啟用高可用性),但是叢集的其餘部分仍可繼續提供服務及儲存資料。事實上,如果叢集遺失所有未指定為主要主機的四部快取主機,該叢集仍可持續運作。
只要其中一部主要主機失敗,整個快取叢集就會自行關閉,原因是仍在執行的主要主機已不再佔大多數。為了避免發生此問題,您可以指定額外的主要主機。
注意
如果快取主機 Windows 服務正在執行叢集管理角色,則 Stop-CacheHost
命令將無法停止該服務。停止會使整個叢集關閉。
指定額外的主要主機
「AppFabric 設定精靈」會使用 Cluster Size
下拉式清單,來協助決定叢集應擁有的適當主要主機數目。您也可以在安裝後指定額外的主要主機。但是,請務必考慮到,指定太多主要主機也會產生問題:
大部分的主要主機一定要處於可用狀態,快取叢集才能持續執行。將越多主機指定為主要主機,叢集維持運作狀態時能夠承受的伺服器失敗數就越少。
在小型叢集內,只要一兩部主要主機失敗,就會造成叢集失敗,所以建議您指定較多的主要主機。
在大型叢集內,只要五到七部主要主機,就應該足以確保含有 50 台快取伺服器的叢集維持可回應狀態。
如需有關變更主要主機指定狀況的詳細資訊,請參閱設定叢集管理角色與主要主機指定 (Windows Server AppFabric 快取)。
當 SQL Server 執行叢集管理角色時
如果叢集的 leadHostManagement
設定是 false
,則無論 leadHost
設定是什麼,每部快取主機都只會執行其本身與快取資料相關的一般非主要主機職責。在此案例中,用於儲存叢集組態設定的 SQL Server 執行個體也會用來執行叢集管理角色。
發生伺服器失敗時
在由 SQL Server 執行叢集管理角色時,為了讓叢集維持可用,必須有一或多部快取主機能夠存取 SQL Server 資料庫。
例如,考慮下圖顯示的快取叢集 (由六部伺服器所組成)。
在此範例中,SQL Server 正在執行叢集管理角色,而所有六部快取主機都可以將其資源用於提供資料供快取用戶端存取。
如果叢集內的任一部快取主機失敗,則伺服器上的資料會遺失 (假設未啟用高可用性),但是叢集仍可持續執行。快取用戶端仍可使用其他快取主機上的資料。事實上,在此案例中,叢集中的六部快取主機有五部失敗時,叢集仍可持續運作。
如果 SQL Server 失敗,整個叢集會在幾分鐘內關閉。為了避免發生此問題,我們強烈建議您使用 Microsoft Windows Server 2008 容錯移轉叢集 (https://go.microsoft.com/fwlink/?LinkId=130692) (可能為英文網頁) 來主控「叢集化」資料庫資源做為快取叢集組態儲存位置與叢集管理角色。
另請參閱
概念
Windows Server AppFabric 快取功能實體架構圖
Windows Server AppFabric 快取功能邏輯架構圖
叢集組態設定 (Windows Server AppFabric 快取)
設定叢集管理角色與主要主機指定 (Windows Server AppFabric 快取)
2011-12-05