Sun Cluster 系統管理指南(適用於 Solaris 作業系統)

Procedure如何使用專屬處理器組控制非全域區域中的 CPU 用法

如果您要讓您的資源群組在專屬處理器組中執行,請執行此程序。

如果已將資源群組配置在專屬處理器組中執行,Sun Cluster 軟體會在啟動非全域區域中資源群組的資源時執行以下作業:

  1. 為系統將排程程式設定為公平共用排程程式 (FSS)。


    # dispadmin -d FSS
    

    FSS 在下次重新啟動時會變成預設的排程程式。若要讓此配置立即生效,請使用 priocntl 指令。


    # priocntl -s -C FSS
    

    使用 priocntldispadmin 指令組合可確保 FSS 立即變成預設排程,且重新啟動後仍是如此。如需更多有關設定排程類別的資訊,請參閱 dispadmin(1M)priocntl(1) 線上手冊。


    備註 –

    如果 FSS 不是預設的排程程式,您的 CPU 共用指定將不會生效。


  2. 在每個要使用 CPU 控制的節點上,配置全域區域的共用數量和預設處理器組中可用的最少 CPU 數量

    設定這些參數有助於避免全域區域中執行的程序與非全域區域中執行的程序競爭 CPU。如果您沒有指定數值給 globalzonesharesdefaultpsetmin 特性,這些特性會使用其預設值。


    # clnode set  [-p globalzoneshares=integer] \
    [-p defaultpsetmin=integer] \
    node
    
    -p defaultpsetmin=defaultpsetmininteger

    設定預設處理器組中可用的最少 CPU 數量。預設值為 1。

    -p globalzoneshares=integer

    設定指定給全域區域的共用數量。預設值為 1。

    node

    識別要設定特性的節點。

    在設定這些特性時,您就是在為全域區域設定特性。

  3. 驗證您是否已正確地設定這些特性:


    # clnode show node
    

    對於您指定的節點,clnode 指令會列印 特性設定及為這些特性設定的數值。如果您沒有用 clnode 設定 CPU 控制特性,則會使用預設值。

  4. 配置 CPU 控制功能。


    # clresourcegroup create -p RG_SLM_TYPE=automated \
     [-p RG_SLM_CPU_SHARES=value] \
    -p -y RG_SLM_PSET_TYPE=value \
    [-p RG_SLM_PSET_MIN=value] resource_group_name
    
    -p RG_SLM_TYPE=automated

    讓您能夠控制 CPU 控制用法並使某些步驟自動化來為系統資源管理配置 Solaris 作業系統。

    -p RG_SLM_CPU_SHARES=value

    指定要指定給資源群組特定專案的 CPU 共用數量 (project.cpu-shares),並決定要指定給非全域區域的 CPU 共用數量 (zone.cpu-shares),以及處理器組中的最大處理器數量。

    -p RG_SLM_PSET_TYPE=value

    啟用建立專屬處理器組。若要有專屬處理器組,您可以將此特性設定為 strongweak。數值 strongweak 是互斥的。也就是說,您不能在同一個區域中配置資源群組,使得有些是 strong,有些是 weak

    -p RG_SLM_PSET_MIN=value

    判定處理器組中的最少處理器數量。

    resource_group_name

    指定資源群組的名稱。

    此步驟會建立資源群組。您也可以使用 clresourcegroup set 指令修改現有資源群組。

    如果預設池以外的池處於區域配置中,或區域已動態連結至預設池以外的池,您便無法在非全域區域中將 RG_SLM_TYPE 設為 automated。如需有關區域配置和池連結的資訊,請參閱 zonecfg(1M)poolbind(1M) 線上手冊。檢視您以下的區域配置:


    # zonecfg -z zone_name info pool
    

    備註 –

    像是 HAStoragePlus 的資源,或是配置為在非全域區域中啟動但 GLOBAL_ZONE 特性設為 TRUELogicalHostname資源會在全域區域中啟動。即使您將 RG_SLM_TYPE 特性設為 automated,此資源不會從 CPU 共用和專屬處理器組配置中獲益, 且會被視為在資源群組中一般 (RG_SLM_TYPE 設定為手動)。


  5. 啟動配置變更。

    resource_group_name

    指定資源群組的名稱。


    備註 –

    請勿移除或修改 SCSLM_resourcegroup_name 專案。您可以手動增加更多資源控制給專案,例如透過配置 project.max-lwps 特性。如需更多資訊,請參閱 projmod(1M) 線上手冊。


    在資源群組處於線上狀態時,會動態考慮對 RG_SLM_CPU_SHARESRG_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 的數值。