如果已將資源群組配置為在專屬處理器組中執行,Sun Cluster 會在啟動非全域區域中的資源群組的資源時執行以下作業:
建立名為 SCSLM_pool_區域名稱 的池 (若尚未這樣做)。
建立專屬的處理器組。處理器組的大小是透過使用 RG_SLM_CPU_SHARES 和 RG_SLM_PSET_MIN 特性決定。
使 SCSLM_pool_區域名稱 池與已建立的處理器組關聯。
將非全域區域動態連結至 SCSLM_pool_區域名稱 池。
擴增指定給具有特定 CPU 共用數量的非全域區域的 CPU 共用數量 (若尚未這樣做)。
如果還沒建立專案,請在非全域區域中建立名為 SCSLM_資源群組名稱 的專案。此專案為資源群組專用,且已指定特定數量的 CPU 共用 (project.cpu-shares)。
啟動 SCSLM_資源群組名稱 專案中的資源。
為系統將排程程式設定為公平共用排程程式 (FSS)。
# dispadmin -d FSS |
FSS 在下次重新啟動時會變成預設的排程程式。若要讓此配置立即生效,請使用 priocntl 指令。
# priocntl -s -C FSS |
使用 priocntl 和 dispadmin 指令組合可確保 FSS 立即變成預設排程,且重新啟動後仍是如此。如需更多有關設定排程類別的資訊,請參閱 dispadmin(1M) 與 priocntl(1) 線上手冊。
如果 FSS 不是預設的排程程式,您的 CPU 共用指定將不會生效。
在每個要使用 CPU 控制的節點上,配置全域區域的共用數量和預設處理器組中可用的最少 CPU 數量
設定這些參數可幫助避免在全域區域中執行的程序與在非全域區域中執行的程序競爭 CPU 數量。如果您沒有指定數值給 globalzoneshares 和 defaultpsetmin 特性,這些特性會使用其預設值。
# clnode set [-p globalzoneshares=整數] \ [-p defaultpsetmin=整數] \ 節點 |
設定預設處理器組中可用的最少 CPU 數量。預設為 1。
設定指定給全域區域的共用數量。預設為 1。
識別要設定特性的節點。
在設定這些特性時,您就是在為全域區域設定特性。
驗證您是否已正確地設定這些特性:
# clnode show 節點 |
對於您指定的節點,clnode 指令會列印 特性設定及為這些特性設定的數值。如果您沒有用 clnode 設定 CPU 控制特性,則會使用預設值。
配置 CPU 控制功能。
# clresourcegroup create -p RG_SLM_TYPE=automated \ [-p RG_SLM_CPU_SHARES=值] \ -p -y RG_SLM_PSET_TYPE=值 \ [-p RG_SLM_PSET_MIN=值] 資源群組名稱 |
讓您能夠控制 CPU 控制用法並使某些步驟自動化來為系統資源管理配置 Solaris 作業系統。
指定要指定給資源群組特定專案 (project.cpu-shares) 的 CPU 共用數量,並決定要指定給非全域區域 (zone.cpu-shares) 的 CPU 共用數量,以及處理器組中的最大量處理器。
啟用建立專屬處理器組。若要有專屬處理器組,您可以將此特性設定為 strong 或 weak。數值 strong 和 weak 是互斥的。也就是說,您不能在相同區域中配置資源群組,這樣有些才會是 strong,有些才會是 weak。
判定處理器組中的最少處理器數量。
指定資源群組的名稱。
此步驟會建立資源群組。您也可以使用 clresourcegroup set 指令修改現有的資源群組。
如果預設池以外的池處於區域配置或如果區域已動態連結至預設池以外的池,您無法在非全域區域中將 RG_SLM_TYPE 設為 automated。如需有關區域配置和池連結的資訊,請參閱 zonecfg(1M) 與poolbind(1M) 線上手冊。檢視您以下的區域配置:
# zonecfg -z 區域名稱 info pool |
像是 HAStoragePlus 的資源,或是配置為在非全域區域中啟動但 GLOBAL_ZONE 特性設為 TRUE 的LogicalHostname資源會在全域區域中啟動。即使您將 RG_SLM_TYPE 特性設為 automated,此資源不會從 CPU 共用和專屬處理器組配置中獲益, 且會被視為在資源群組中一般 (RG_SLM_TYPE 設定為手動)。
啟動配置變更。
指定資源群組的名稱。
請勿移除或修改 SCSLM_資源群組名稱 專案。您可以手動增加更多資源控制給專案,例如透過配置 project.max-lwps 特性。如需更多資訊,請參閱 projmod(1M) 線上手冊。
在資源群組處於線上狀態時,會動態考慮對 RG_SLM_CPU_SHARES 和 RG_SLM_PSET_MIN 所做的變更。但是,如果 RG_SLM_PSET_TYPE 已設為 strong,且如果 CPU 數量不足以容納變更,則針對 RG_SLM_PSET_MIN 要求的變更不會生效。在此情況下,螢幕上將會顯示警告訊息。在下一次交換時,由於可能發生 CPU 不足,如果沒有足夠的可用 CPU 確認您為 RG_SLM_PSET_MIN 配置的數值,則會產生錯誤。
如果不再為非全域區域中的 CPU 控制配置線上資源群組,非全域區域的 CPU 共用值會使用 zone.cpu-shares 數值。依據預設,此參數有一個 1 的數值。