Sun Cluster 資料服務開發者指南 (適用於 Solaris 作業系統)

實施可延伸資源

可延伸資源可同時在多個節點上處於線上狀態。可延伸資源包含資料服務,如用於 Sun Java System Web Server 的 Sun Cluster HA (以前為用於 Sun ONE Web Server 的 Sun Cluster HA) 和用於 Apache 的 Sun Cluster HA。

RGM 提供多種支援可延伸資源實作的特性。

將布林資源類型特性 Failover 設定為 FALSE,以允許在一次可在多個節點上連線的資源群組中對資源進行配置。

Scalable 資源特性決定資源是否使用叢集共用位址工具。將此特性設定為 TRUE,因為可延伸服務使用共用位址資源,使得可延伸服務的多個實例作為用戶端的單一服務出現。

RG_mode 特性可讓叢集管理員識別資源群組為故障轉移資源群組或可延伸資源群組。如果 RG_modeSCALABLE,則 RGM 允許 Maximum_primaries 的值大於 1,這表明群組可以同時由多個節點主控。RGM 允許 Failover 特性為 FALSE 的資源群組創設在 RG_modeSCALABLE 的資源群組中。

叢集管理員建立一個可延伸資源群組 (用來納入可延伸服務資源) 與一個獨立的故障轉移資源群組 (用來納入可延伸資源所依賴的共用位址資源)。

叢集管理員使用 RG_dependencies 資源群組特性,指定在某節點上使資源群組上線或者離線所依據的順序。此排序對於可延伸服務很重要,這是因為可延伸資源與其所依賴的共用位址資源位於不同的資源群組中。可延伸資料服務要求其網路位址 (共用位址) 資源在啟動該資料服務之前已配置完成。因此,管理員必須將包含可延伸服務的資源群組之 RG_dependencies 特性設定為納入包含共用位址資源的資源群組。

當您在 RTR 檔案中針對資源宣告 Scalable 特性時,RGM 會自動為資源建立下列一組可延伸特性:

Network_resources_used

識別由此資源所使用的共用位址資源。此特性預設為空字串,因此叢集管理員必須在建立資源時提供可延伸服務所使用的共用位址之實際清單。scsetup 指令與 SunPlex Manager 提供自動設定可延伸服務之必備資源與群組的功能。

Load_balancing_policy

指定資源的負載平衡策略。您可以在 RTR 檔案中明確設定該策略 (或者允許預設值 LB_WEIGHTED)。無論在哪種情況下,叢集管理員均可以在建立資源時變更該值 (除非您在 RTR 檔案中將 Load_balancing_policyTunable 設定為 NONE 或者 FALSE)。合法值包括:

LB_WEIGHTED

負載是依照 Load_balancing_weights 特性中所設定的權重而在各節點中進行分配的。

LB_STICKY

總是將可延伸服務的給定用戶端 (由用戶端 IP 位址識別) 發送到叢集的同一個節點。

LB_STICKY_WILD

總是將連接到萬用字元黏性服務的 IP 位址之給定用戶端 (由用戶端 IP 位址識別) 發送到同一個叢集節點,而不管該用戶端將要到哪個通訊埠編號。

對於使用 Load_balancing_policyLB_STICKY 或者 LB_STICKY_WILD 的可延伸服務,當服務處於線上狀態時變更 Load_balancing_weights 可能導致重設現有用戶端的相似性。在這種情況下,其他節點可能會處理後續用戶端的要求,即使該用戶端先前是由叢集中的另一個節點處理的。

同樣,在叢集上啟動服務的新實例可能重設現有用戶端的相似性。

Load_balancing_weights

指定要發送至每個節點的負載。格式為 weight@node, weight@node,其中 weight 為一個整數,反映分配給指定 node 負載的相對部分。分配到節點的負載分數值是使用中實例的權重總量除以此節點的權重。例如,1@1,3@2 表明節點 1 接收到 1/4 的負載,節點 2 接收到 3/4 的負載。

Port_list

識別伺服器要在其上進行偵聽的通訊埠。此特性預設為空字串。您可以在 RTR 檔案中提供通訊埠清單。否則,叢集管理員在建立資源時必須提供通訊埠的實際清單。

您可以建立可由管理員配置為可延伸或故障轉移的資料服務。若要如此,請在資料服務的 RTR 檔案中將 Failover 資源類型特性與 Scalable 資源特性宣告為 FALSE。指定 Scalable 特性在建立時可調。

Failover 特性值 (FALSE) 允許將資源配置到可延伸資源群組。管理員可以透過在建立資源時將 Scalable 的值變更為 TRUE 來啟用共用位址,從而建立可延伸服務。

另一方面,即使 Failover 設定為 FALSE,管理員也可以將資源配置到故障轉移資源群組,以實施故障轉移服務。管理員不會變更 Scalable 的值 FALSE。為了支援此偶然性,您應該使用 Validate 方法對 Scalable 特性進行檢查。如果 ScalableFALSE,請驗證是否已將該資源配置到故障轉移資源群組。

Sun Cluster 概念指南 (適用於 Solaris 作業系統)包含有關可延伸資源的其他資訊。

可延伸服務的驗證檢查

每當使用設定為 TRUE 的可延伸特性建立或更新資源時,RGM 均會驗證各種資源特性。如果未正確配置特性,則 RGM 會拒絕所嘗試的更新或建立。RGM 執行下列檢查: