Solaris OS용 Sun Cluster 시스템 관리 안내서

CPU 제어 구성

이 절에는 다음 절차가 포함됩니다.

ProcedureSPARC: Solaris 9 OS에서 CPU 사용을 제어하는 방법

이 절차를 수행하여 Solaris OS에서 실행 중인 클러스터의 자원 그룹에 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 제어 기능을 구성합니다.


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

    CPU 사용을 제어하고 시스템 자원 관리를 위한 Solaris OS의 일부 구성 단계를 자동으로 수행할 수 있도록 해줍니다.

    -p RG_SLM_CPU-SHARES=value

    자원 그룹 고유 프로젝트인 project.cpu-shares에 할당할 CPU 공유의 수를 지정합니다.

    resource_group_name

    자원 그룹의 이름을 지정합니다.

    이 단계에서는 자원 그룹을 생성합니다. 또는 clresourcegroup set 명령을 사용하여 기존의 자원 그룹을 수정할 수 있습니다.

  3. 구성 변경 사항을 활성화합니다.


    # clresourcegroup online -M resource_group_name
    
    resource_group_name

    자원 그룹의 이름을 지정합니다.


    주 –

    SCSLM_resource_group_name 프로젝트를 제거하거나 수정하지 마십시오. project.max-lwps 등록 정보를 구성하는 등의 방법을 통해 수동으로 더 많은 자원 제어를 프로젝트에 추가할 수 있습니다. 자세한 내용은 projmod(1M) 매뉴얼 페이지를 참조하십시오.


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 수를 구성합니다.

    이러한 매개 변수를 설정하면 전역 영역에서 실행 중인 프로세스와 비전역 영역에서 실행 중인 프로세스가 경쟁하는 것을 방지하는 데 유용합니다. globalzonesharesdefaultpsetmin 등록 정보에 값을 할당하지 않을 경우, 이러한 등록 정보의 기본값이 사용됩니다.


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

    기본 프로세서 세트에서 사용 가능한 최소 CPU 수를 설정합니다. 기본값은 1입니다.

    -p globalzoneshares=integer

    전역 영역에 할당되는 공유 수를 설정합니다. 기본값은 1입니다.

    node

    설정할 등록 정보의 노드를 지정합니다.

    이러한 등록 정보를 설정할 때에는 전역 영역에 대한 등록 정보를 설정하게 됩니다. 이러한 등록 정보를 설정하지 않을 경우, 비전역 영역의 RG_SLM_PSET_TYPE 등록 정보의 이점을 활용할 수 없습니다.

  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 OS의 일부 구성 단계를 자동으로 수행할 수 있도록 해줍니다.

    -p RG_SLM_CPU_SHARES=value

    project.cpu-shares 자원 그룹 고유 프로젝트에 할당되는 CPU 공유의 수를 지정하고 zone.cpu-shares 전역 영역에 할당되는 CPU 공유의 수를 결정합니다.

    resource_group_name

    자원 그룹의 이름을 지정합니다.

    이 절차에서는 RG_SLM_PSET_TYPE 등록 정보를 설정하지 마십시오. 전역 영역에서 이 등록 정보는 default 값을 사용합니다.

    이 단계에서는 자원 그룹을 생성합니다. 또는 clresourcegroup set 명령을 사용하여 기존의 자원 그룹을 수정할 수 있습니다.

  5. 구성 변경 사항을 활성화합니다.


    # clresourcegroup online -M resource_group_name
    
    resource_group_name

    자원 그룹의 이름을 지정합니다.


    주 –

    SCSLM_resource_group_name 프로젝트를 제거하거나 수정하지 마십시오. 수동으로 더 많은 자원 제어를 프로젝트에 추가할 수 있습니다. (예: project.max-lwps 등록 정보 구성) 자세한 내용은 projmod(1M) 매뉴얼 페이지를 참조하십시오.


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 수를 구성합니다.

    이러한 매개 변수를 설정하면 전역 영역에서 실행 중인 프로세스와 비전역 영역에서 실행 중인 프로세스가 경쟁하는 것을 방지하는 데 유용합니다. 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 OS의 일부 구성 단계를 자동으로 수행할 수 있도록 해줍니다.

    -p RG_SLM_CPU_SHARES=value

    자원 그룹 고유 프로젝트(project.cpu-shares)에 할당되는 CPU 공유의 수를 지정하고 비전역 영역(zone.cpu-shares)에 할당되는 CPU 공유의 수를 결정합니다.

    resource_group_name

    자원 그룹의 이름을 지정합니다.

    이 단계에서는 자원 그룹을 생성합니다. 또는 clresourcegroup set 명령을 사용하여 기존의 자원 그룹을 수정할 수 있습니다.

    기본 풀 이외의 풀이 영역 구성에 있거나 영역이 기본 풀 이외의 풀에 동적으로 바인딩되었을 경우 비전역 영역에서 RG_SLM_TYPEautomated로 설정할 수 없습니다. 영역 구성 및 풀 바인딩에 대한 내용은 zonecfg(1M)poolbind(1M) 매뉴얼 페이지를 각각 참조하십시오. 다음과 같이 영역 구성을 확인합니다.


    # zonecfg -z zone_name info pool
    

    주 –

    HAStoragePlus와 같은 자원 또는 LogicalHostname 자원은 비전역 영역에서 시작되도록 구성되었지만 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_TYPEdefault로 설정하면 Sun Cluster는 SCSLM_pool_zone_name이라는 풀을 생성하지만 프로세서 세트를 생성하지는 않습니다. 이러한 경우, SCSLM_pool_zone_name은 기본 프로세서 세트와 연결됩니다.

    온라인 자원 그룹이 더 이상 비전역 영역의 CPU 제어에 구성되지 않을 경우, 비전역 영역에 대한 CPU 공유 값은 영역 구성의 zone.cpu-shares 값을 취합니다. 이 매개 변수의 기본값은 1입니다. 영역 구성에 대한 자세한 내용은 zonecfg(1M) 매뉴얼 페이지를 참조하십시오.


    주 –

    SCSLM_resource_group_name 프로젝트를 제거하거나 수정하지 마십시오. project.max-lwps 등록 정보를 구성하는 등의 방법을 통해 수동으로 더 많은 자원 제어를 프로젝트에 추가할 수 있습니다. 자세한 내용은 projmod(1M) 매뉴얼 페이지를 참조하십시오.


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 수를 구성합니다.

    이러한 매개 변수를 설정하면 전역 영역에서 실행 중인 프로세스와 비전역 영역에서 실행 중인 프로세스가 경쟁하는 것을 방지하는 데 유용합니다. 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 OS의 일부 구성 단계를 자동으로 수행할 수 있도록 해줍니다.

    -p RG_SLM_CPU_SHARES=value

    자원 그룹 고유 프로젝트에 할당되는 CPU 프로젝트의 수(project.cpu-shares)를 지정하고 비전역 영역에 할당되는 CPU 공유 수(zone.cpu-shares)와 프로세서 세트의 최대 프로세서 수를 결정합니다.

    -p RG_SLM_PSET_TYPE=value

    전용 프로세서 세트의 생성을 활성화합니다. 전용 프로세서 세트를 생성하기 위해 이 등록 정보를 strong 또는 weak로 설정할 수 있습니다. strongweak 값은 상호 배타적입니다. 즉, 동일한 영역에서 자원 그룹 중 일부는 strong으로, 나머지는 weak로 구성하는 방식을 사용할 수 없습니다.

    -p RG_SLM_PSET_MIN=value

    프로세서 세트의 최소 프로세서 수를 결정합니다.

    resource_group_name

    자원 그룹의 이름을 지정합니다.

    이 단계에서는 자원 그룹을 생성합니다. 또는 clresourcegroup set 명령을 사용하여 기존의 자원 그룹을 수정할 수 있습니다.

    기본 풀 이외의 풀이 영역 구성에 있거나 영역이 기본 풀 이외의 풀에 동적으로 바인딩되었을 경우 비전역 영역에서 RG_SLM_TYPEautomated로 설정할 수 없습니다. 영역 구성 및 풀 바인딩에 대한 내용은 zonecfg(1M)poolbind(1M) 매뉴얼 페이지를 각각 참조하십시오. 다음과 같이 영역 구성을 확인합니다.


    # zonecfg -z zone_name info pool
    

    주 –

    HAStoragePlus와 같은 자원 또는 LogicalHostname 자원은 비전역 영역에서 시작되도록 구성되었지만 GLOBAL_ZONE 등록 정보가 TRUE로 설정되면 전역 영역에서 시작됩니다. RG_SLM_TYPE 등록 정보를 automated로 설정하더라도, 이 자원 그룹은 CPU 공유 및 전용 프로세서 세트 구성의 이점을 활용하지 못하고 RG_SLM_TYPE이 수동으로 설정되어 자원 그룹에 있는 것처럼 간주됩니다.


  5. 구성 변경 사항을 활성화합니다.

    resource_group_name

    자원 그룹의 이름을 지정합니다.


    주 –

    SCSLM_resource_group_name 프로젝트를 제거하거나 수정하지 마십시오. project.max-lwps 등록 정보를 구성하는 등의 방법을 통해 수동으로 더 많은 자원 제어를 프로젝트에 추가할 수 있습니다. 자세한 내용은 projmod(1M) 매뉴얼 페이지를 참조하십시오.


    자원 그룹이 온라인일 때 RG_SLM_CPU_SHARESRG_SLM_PSET_MIN에 변경된 사항은 동적으로 고려됩니다. 그러나 RG_SLM_PSET_TYPEstrong으로 설정되고 변경 사항을 수용할 수 있는 충분한 CPU를 사용할 수 없는 경우, RG_SLM_PSET_MIN에 대해 요청된 변경 사항은 적용되지 않습니다. 이러한 경우 경고 메시지가 표시됩니다. 다음 스위치오버 시, RG_SLM_PSET_MIN에 대해 구성한 값을 받아들일 수 있을 만큼 CPU가 충분하지 않으면 CPU 부족 현상이 일어나고 이로 인해 오류가 발생할 수 있습니다.

    온라인 자원 그룹이 더 이상 비전역 영역의 CPU 제어에 구성되지 않을 경우, 비전역 영역에 대한 CPU 공유 값은 zone.cpu-shares 값을 취합니다. 이 매개 변수의 기본값은 1입니다.