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

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

如果您要為非全域區域中的資源群組指定 CPU 共用,但不須建立專屬處理器組,請執行此程序。

如果已為資源群組指定 CPU 共用,Sun Cluster 軟體會在啟動非全域區域中資源群組的資源時執行以下作業:

如需更多有關配置 CPU 控制功能的資訊,請參閱 rg_properties(5) 線上手冊。

  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 globalzoneshares=integer

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

    -p defaultpsetmin=defaultpsetmininteger

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

    node

    識別要設定特性的節點。

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

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


    # clnode show node
    

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

  4. 配置 CPU 控制功能。


    # clresourcegroup create -p RG_SLM_TYPE=automated \
     [-p RG_SLM_CPU_SHARES=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)。

    resource_group_name

    指定資源群組的名稱。

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

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


    # zonecfg -z zone_name info pool
    

    備註 –

    像是 HAStoragePlusLogicalHostname 的資源已配置為在非全域區域中啟動,但將 GLOBAL_ZONE 特性設為 TRUE 則是在全域區域中啟動。即使您將 RG_SLM_TYPE 特性設定為 automated,此資源不會從 CPU 共用配置中獲益,且會被視為在資源群組中一般 (RG_SLM_TYPE 設定為手動)。


    在此程序中,您沒有設定 RG_SLM_PSET_TYPE 特性。Sun Cluster 使用預設的處理器組。

  5. 啟動配置變更。


    # clresourcegroup online -M resource_group_name
    
    resource_group_name

    指定資源群組的名稱。

    如果您將 RG_SLM_PSET_TYPE 設為 default,Sun Cluster 會建立池 SCSLM_pool_zone_name,但不會建立處理器組。在此情況下,SCSLM_pool_zone_name 會與預設處理器組關聯。

    如果不再為非全域區域中的 CPU 控制配置線上資源群組,非全域區域的 CPU 共用值會使用區域配置中的 zone.cpu-shares 數值。依預設,此參數的值為 1。如需更多有關區域配置的資訊,請參閱 zonecfg(1M) 線上手冊。


    備註 –

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