탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
시스템 관리 설명서: Oracle Solaris Containers-리소스 관리 및 Oracle Solaris 영역 Oracle Solaris 10 1/13 Information Library (한국어) |
8. FSS(Fair Share Scheduler)(개요)
9. FSS(Fair Share Scheduler) 관리(작업)
10. 리소스 상한값 지원 데몬을 사용한 물리적 메모리 제어(개요)
15. Solaris Management Console의 리소스 제어 기능
Solaris 10 8/07: dedicated-cpu 리소스
Solaris 10 5/08: capped-cpu 리소스
Solaris 10 8/07: 물리적 메모리 제어 및 capped-memory 리소스
Solaris 10 8/07: 배타적 IP 비전역 영역
공유 IP 비전역 영역과 배타적 IP 비전역 영역의 보안 차이점
19. 비전역 영역 설치, 정지, 복제 및 제거 정보(개요)
20. 비전역 영역 설치, 부트, 정지, 제거 및 복제(작업)
24. Oracle Solaris 10 9/10: 물리적 Oracle Solaris 시스템을 영역으로 마이그레이션(작업)
25. 영역이 설치된 Oracle Solaris 시스템의 패키지 및 패치 정보(개요)
26. 영역이 설치된 Oracle Solaris 시스템에서 패키지 및 패치 추가 및 제거(작업)
29. 비전역 영역이 설치된 Oracle Solaris 10 시스템 업그레이드
30. 그 밖의 기타 Oracle Solaris 영역 문제 해결
34. lx 브랜드 영역 설치, 부트, 정지, 복제 및 제거 정보(개요)
35. lx 브랜드 영역 설치, 부트, 정지, 제거 및 복제(작업)
이 절에서는 구성할 수 있는 필수 및 선택적 영역 구성 요소에 대해 설명합니다. 추가 정보는 영역 구성 데이터를 참조하십시오.
영역의 이름 및 경로를 선택해야 합니다.
autoboot 등록 정보 설정은 전역 영역이 부트될 때 해당 영역이 자동으로 부트되는지 여부를 결정합니다. 영역 서비스인 svc:/system/zones:default도 사용으로 설정해야 합니다.
13 장리소스 풀 만들기 및 관리(작업)의 설명에 따라 시스템에서 리소스 풀을 구성한 경우 pool 등록 정보를 사용하여 영역을 구성할 때 리소스 풀 중 하나를 영역에 연결할 수 있습니다.
Solaris 10 8/07 릴리스부터, 리소스 풀을 구성하지 않은 경우 dedicated-cpu 리소스를 사용하여 비전역 영역을 실행하는 동안 시스템 프로세서의 하위 세트를 해당 비전역 영역 전용으로 지정할 수 있습니다. 영역이 실행 중인 동안 시스템에서 사용할 임시 풀을 동적으로 만듭니다. zonecfg를 통해 지정한 상태에서는 풀 설정이 마이그레이션 중에 전파됩니다.
주 - pool 등록 정보를 통해 설정된 지속성 풀을 사용하는 영역 구성은 dedicated-cpu 리소스를 통해 구성된 임시 풀과 호환되지 않습니다. 이러한 두 가지 등록 정보 중 하나만 설정할 수 있습니다.
dedicated-cpu 리소스는 비전역 영역이 실행되는 동안 시스템의 일부 프로세서를 해당 영역 전용으로 지정합니다. 영역이 부트될 때 시스템은 영역이 실행 중인 동안 사용할 임시 풀을 동적으로 만듭니다.
zonecfg을 통해 지정한 상태에서는 풀 설정이 마이그레이션 중에 전파됩니다.
dedicated-cpu 리소스는 ncpus 및 importance(선택 사항)의 제한을 설정합니다.
CPU 수를 지정하거나 2-4개 CPU 등 범위를 지정합니다. 동적 리소스 풀 동작을 원해서 범위를 지정하는 경우 다음 작업도 수행합니다.
importance 등록 정보를 설정합니다.
poold 서비스를 사용으로 설정합니다. 지침은 Solaris 10 11/06 이상: svcadm을 사용하여 동적 리소스 풀 서비스를 사용으로 설정하는 방법을 참조하십시오.
CPU 범위를 사용하여 동작 동작을 수행하려면 importance 등록 정보도 설정합니다. importance 등록 정보는 선택 사항으로, 풀의 상대적 중요성을 정의합니다. 이 등록 정보는 ncpus에 대한 범위를 지정하고 poold를 통해 관리되는 동적 리소스 풀을 사용할 때만 필요합니다. poold를 실행하고 있지 않은 경우 importance가 무시됩니다. poold가 실행 중이고 importance가 설정되지 않은 경우 importance의 기본값은 1입니다. 자세한 내용은 pool.importance 등록 정보 제약 조건을 참조하십시오.
주 - capped-cpu 리소스와 dedicated-cpu 리소스는 호환되지 않습니다. cpu-shares rctl과 dedicated-cpu 리소스는 호환되지 않습니다.
capped-cpu 리소스는 프로젝트나 영역에서 사용할 수 있는 CPU 리소스 양에 대한 세분화된 절대적 제한을 제공합니다. CPU 상한값은 프로세서 세트와 함께 사용되는 경우 세트 내에서 CPU 사용을 제한합니다. capped-cpu 리소스에는 소수점 이하 자리 수가 두 개인 양수를 나타내는 단일 ncpus 등록 정보가 있습니다. 이 등록 정보는 CPU 단위에 해당합니다. 리소스는 범위를 허용하지 않습니다. 리소스는 십진수를 허용합니다. ncpus를 지정하는 경우 값 1은 CPU 100%를 의미합니다. 100%가 시스템에서 한 개의 CPU 전체를 의미하므로 값 1.25는 125%를 의미합니다.
주 - capped-cpu 리소스와 dedicated-cpu 리소스는 호환되지 않습니다.
FSS(Fair Share Scheduler)를 사용하여 영역에서 발생하는 작업 로드의 중요도에 따라 영역 간 사용 가능한 CPU 리소스 할당을 제어할 수 있습니다. 작업 부하 중요도는 각 영역에 지정된 CPU 리소스의 할당 수로 표시됩니다. FSS를 사용하여 영역 간 CPU 리소스 할당을 관리하기를 원치 않더라도 영역 내에서 프로젝트에 대한 할당을 설정할 수 있도록 영역의 예약 클래스를 설정하여 FSS를 사용할 수 있습니다.
cpu-shares 등록 정보를 명시적으로 설정하는 경우 FSS(Fair Share Scheduler)가 해당 영역에 대한 예약 클래스로 사용됩니다. 하지만 여기서의 기본적인 FSS 사용 방법은 dispadmin 명령을 사용하여 FSS를 시스템 기본 예약 클래스로 설정하는 것입니다. 즉, 모든 영역이 시스템 CPU 리소스를 공정하게 할당받을 수 있습니다. cpu-shares가 영역에 대해 설정되지 않을 경우 영역에서는 시스템의 기본 예약 클래스를 사용합니다. 다음 작업은 영역에 대한 예약 클래스를 설정합니다.
Solaris 10 8/07 릴리스에서는 zonecfg에서 scheduling-class 등록 정보를 사용하여 해당 영역에 대한 예약 클래스를 설정할 수 있습니다.
리소스 풀 기능을 통해 영역에 대한 예약 클래스를 설정할 수 있습니다. pool.scheduler 등록 정보가 유효한 예약 클래스로 설정된 풀과 영역이 연결된 경우 영역에서 실행 중인 클래스가 기본적으로 해당 예약 클래스에서 실행됩니다. 리소스 풀 소개 및 풀과 예약 클래스를 연결하는 방법을 참조하십시오.
cpu-shares rctl이 설정되었으며 FSS가 다른 작업을 통해 영역의 예약 클래스로 설정되지 않은 경우 zoneadmd는 영역이 부트될 때 예약 클래스를 FSS로 설정합니다.
다른 작업을 통해 예약 클래스가 설정되지 않은 경우 영역은 시스템 기본 예약 클래스를 상속합니다.
priocntl(1) 매뉴얼 페이지에 설명된 priocntl을 사용하여 기본 예약 클래스를 변경하고 재부트할 필요 없이 실행 중인 프로세스를 다른 예약 클래스로 이동할 수 있습니다.
capped-memory 리소스는 physical, swap 및 locked 메모리에 대한 제한을 설정합니다. 각 제한은 선택 사항이지만 하나 이상의 제한을 설정해야 합니다.
전역 영역에서 rcapd를 사용하여 해당 영역에 대한 메모리를 제한하려는 경우 이 리소스의 값을 결정합니다. capped-memory 리소스의 physical 등록 정보는 해당 영역의 max-rss 값으로 사용되는 rcapd에 사용됩니다.
capped-memory 리소스의 swap 등록 정보는 zone.max-swap 리소스 제어를 설정하는 기본 방법입니다.
capped-memory 리소스의 locked 등록 정보는 zone.max-locked-memory 리소스 제어를 설정하는 기본 방법입니다.
주 - 응용 프로그램은 일반적으로 많은 양의 메모리를 잠그지 않지만, 영역의 응용 프로그램이 메모리를 잠그는 것으로 알려진 경우에는 잠김 메모리를 설정할 수 있습니다. 영역 신뢰가 문제가 되는 경우 잠긴 메모리 상한값을 시스템의 물리적 메모리 중 10% 또는 영역 물리적 메모리 상한값의 10%로 설정하는 것을 고려해 볼 수도 있습니다.
자세한 내용은 10 장리소스 상한값 지원 데몬을 사용한 물리적 메모리 제어(개요), 11 장리소스 상한값 지원 데몬 관리(작업) 및 영역 구성 방법을 참조하십시오. 영역에 대한 리소스 상한값을 임시로 설정하려면 영역에 대한 임시 리소스 상한값을 지정하는 방법을 참조하십시오.
네트워크 연결을 제공하기 위해 zonecfg 명령을 통해 구성된 영역 네트워크 인터페이스는 영역이 부트될 때 자동으로 설정되어 영역에 배치됩니다.
IP(인터넷 프로토콜) 계층은 네트워크의 패킷을 받고 전달합니다. 이 계층에는 IP 경로 지정, ARP(Address Resolution Protocol), IPsec(IP 보안 구조) 및 IP 필터가 포함됩니다.
비전역 영역에 사용할 수 있는 IP 유형에는 공유 IP와 배타적 IP라는 두 가지 유형이 있습니다. 공유 IP 영역은 네트워크 인터페이스를 공유하며, 배타적 IP 영역은 전용 네트워크 인터페이스를 사용해야 합니다.
각 유형의 IP 기능에 대한 자세한 내용은 공유 IP 비전역 영역의 네트워킹 및 Oracle Solaris 10 8/07: 배타적 IP 비전역 영역의 네트워킹을 참조하십시오.
공유 IP 영역은 기본 유형입니다. 영역에는 전용 IP 주소가 하나 이상 있어야 합니다. 공유 IP 영역은 IP 계층 구성 및 상태를 전역 영역과 공유합니다. 다음 두 가지 조건이 모두 참이면 영역은 공유 IP 인스턴스를 사용해야 합니다.
영역이 동일한 데이터 링크에 연결되어 있습니다. 즉, 전역 영역과 동일한 IP 서브넷에 있습니다.
배타적 IP 영역이 제공하는 다른 기능은 필요하지 않습니다.
공유 IP 영역에는 zonecfg 명령을 사용하여 하나 이상의 IP 주소가 지정됩니다. 전역 영역에서 데이터 링크 이름도 구성해야 합니다.
이러한 주소는 논리적 네트워크 인터페이스와 연결됩니다. 전역 영역에서 ifconfig 명령을 사용하여 실행 중인 영역에서 논리 인터페이스를 추가하거나 제거할 수 있습니다. 자세한 내용은 공유 IP 네트워크 인터페이스를 참조하십시오.
전체 IP 레벨 기능은 배타적 IP 영역에서 사용 가능합니다.
배타적 IP 영역에는 고유한 IP 관련 상태가 지정됩니다.
여기에는 배타적 IP 영역에서 다음 기능을 사용하는 기능이 포함됩니다.
TCP/UDP/SCTP 및 IP/ARP 레벨 노브 설정용 ndd
IPsec 보안 연결을 위한 인증된 키 관련 자료 프로비저닝을 자동화하는 IKE(Internet Key Exchange)와 IPSec(IP 보안)
배타적 IP 영역에는 zonecfg 명령을 사용하여 고유한 데이터 링크 세트가 지정됩니다. net 리소스의 physical 등록 정보를 사용하여 xge0 , e1000g1, bge32001 등의 데이터 링크 이름이 영역에 지정됩니다. net 리소스의 address 등록 정보는 설정되지 않습니다.
지정된 데이터 링크는 snoop 명령을 사용으로 설정합니다.
dladm 명령을 show-linkprop 하위 명령과 함께 사용하여 실행 중인 배타적 IP 영역에 데이터 링크의 할당을 표시할 수 있습니다. dladm 명령을 set-linkprop 하위 명령과 함께 사용하여 실행 중인 영역에 추가 데이터 링크를 지정할 수 있습니다. 사용 예제는 Oracle Solaris 10 8/07: 배타적 IP 비전역 영역에서 데이터 링크 관리를 참조하십시오.
실행 중인 배타적 IP 영역 내에서는 ifconfig 명령을 사용하여 IP를 구성할 수 있습니다. 여기에는 논리적 인터페이스를 추가하거나 제거할 수 있는 기능이 포함됩니다. sysidcfg(4) 매뉴얼 페이지에 설명된 sysidtools를 사용하여 전역 영역의 경우와 동일한 방식으로 영역에서 IP 구성을 설정할 수 있습니다.
주 - 배타적 IP 영역의 IP 구성은 zlogin 명령을 사용하여 전역 영역에서만 볼 수 있습니다. 예를 들면 다음과 같습니다.
global# zlogin zone1 ifconfig -a
공유 IP 영역에서는 슈퍼 유저를 비롯하여 영역의 응용 프로그램이 zonecfg 유틸리티를 통해 영역에 지정된 주소와는 다른 소스 IP 주소와 함께 패킷을 전송할 수 없습니다. 이 영역 유형에는 임의 데이터 링크(계층 2) 패킷을 보내고 받을 수 있는 권한이 없습니다.
배타적 IP 영역의 경우 대신에 zonecfg는 지정된 전체 데이터 링크를 영역에 부여합니다. 따라서 배타적 IP 영역의 슈퍼 유저가 전역 영역에서처럼 이러한 데이터 링크를 통해 스푸핑된 패킷을 보낼 수 있습니다.
공유 IP 영역은 항상 IP 계층을 전역 영역과 공유하며 배타적 IP 영역은 항상 IP 계층의 고유 인스턴스를 가지고 있습니다. 공유 IP 영역과 배타적 IP 영역 둘 다 동일한 시스템에서 사용할 수 있습니다.
일반적으로 영역에 마운트된 파일 시스템에는 다음 항목이 포함됩니다.
가상 플랫폼이 초기화될 때 마운트된 파일 시스템 세트
응용 프로그램 환경 자체 내에서 마운트된 파일 시스템 세트
예를 들어 여기에는 다음과 같은 파일 시스템이 포함될 수 있습니다.
영역의 /etc/vfstab 파일에 지정된 파일 시스템
AutoFS 및 AutoFS 트리거 마운트
영역 관리자가 명시적으로 수행하는 마운트
응용 프로그램 환경 내에서 수행되는 마운트에는 특정 제한이 적용됩니다. 이러한 제한으로 인해 영역 관리자는 시스템의 나머지 부분에 대한 서비스를 거부하지 못합니다. 그렇지 않으면 다른 영역에 부정적인 영향을 미치게 됩니다.
영역 내 특정 파일 시스템 마운트와 관련하여 보안 제한이 있습니다. 영역에서 다른 파일 시스템이 마운트될 경우 특정 동작을 나타냅니다. 자세한 내용은 파일 시스템 및 비전역 영역을 참조하십시오.
주 - 별도의 /var 파일 시스템을 포함하는 native 비전역 영역 구성은 Oracle Solaris 10에서 지원되지 않습니다. patchadd 명령과 zoneadm install, detach, attach 및 연결 시 업데이트 작업이 이 구성을 사용하는 시스템에서 실패할 수 있습니다. 지원되는 구성과 지원되지 않는 구성에 대한 자세한 내용은 영역 관리자가 전역 영역에 사용되는 파일 시스템을 중복 마운트를 참조하십시오.
zonecfg 명령은 규칙 일치 시스템을 사용하여 특정 영역에 표시되어야 할 장치를 지정합니다. 규칙 중 하나와 일치하는 장치가 영역의 /dev 파일 시스템에 포함됩니다. 자세한 내용은 영역 구성 방법을 참조하십시오.
전역의 hostid와는 다른 비전역 영역에 대한 hostid 등록 정보를 설정할 수 있습니다. 이 작업은 물리적-가상 기능을 사용하여 물리적 시스템이 영역에 통합된 경우에 수행됩니다. 이제 영역 내의 응용 프로그램이 원래 hostid에 의존하므로 응용 프로그램 구성을 업데이트할 수 없습니다. 자세한 내용은 리소스 및 등록 정보 유형을 참조하십시오.
전역 관리자는 영역에 대해 권한이 부여된 영역 전체 리소스 제어를 설정할 수 있습니다. 영역 전체 리소스 제어는 영역 내에서 모든 프로세스 항목의 총 리소스 사용을 제한합니다.
이러한 제한은 zonecfg 명령을 사용하여 전역 및 비전역 영역 모두에 대해 지정됩니다. 영역 구성 방법을 참조하십시오.
Solaris 10 8/07 릴리스부터 영역 전체 리소스 제어를 설정하는 보다 간단한 방법은 rctl 리소스 대신 등록 정보 이름을 사용하는 것입니다.
Solaris 10 5/08: zone.cpu-cap 리소스 제어는 영역에 사용될 수 있는 CPU 리소스의 양에 대한 절대적 제한을 설정합니다. 값 100은 project.cpu-cap 설정을 기준으로 CPU 하나의 100%를 의미합니다. 100%는 CPU 상한값을 사용할 때 시스템의 CPU 하나 전체에 해당하므로 125 값은 125%입니다.
주 - capped-cpu 리소스를 설정할 때 단위로 십진수를 사용할 수 있습니다. 이 값은 zone.capped-cpu 리소스 제어와 상관되지만 설정이 100분의 1로 낮춰집니다. 설정 1은 리소스 제어의 설정 100에 해당합니다.
zone.cpu-shares 리소스 제어는 영역에 대해 FSS(Fair Share Scheduler) CPU 할당에 대한 제한을 설정합니다. 먼저 CPU 할당이 영역에 할당되고 나서 project.cpu-shares 항목에 지정된 대로 영역 내 여러 프로젝트에 세분됩니다. 자세한 내용은 영역이 설치된 Oracle Solaris 시스템에서 Fair Share Scheduler 사용을 참조하십시오. 이 컨트롤의 전역 등록 정보 이름은 cpu-shares입니다.
zone.max-locked-memory 리소스 제어는 영역에 사용할 수 있는 잠긴 물리적 메모리의 양을 제한합니다. 영역 내 프로젝트 전체에 대해 잠긴 메모리 리소스 할당은 project.max-locked-memory 리소스 제어를 사용하여 제어할 수 있습니다. 자세한 내용은 표 6-1을 참조하십시오.
zone.max-lwps 리소스 제어는 한 영역의 너무 많은 LWP가 다른 영역에 영향을 주지 않도록 함으로써 리소스 격리를 향상시킵니다. 영역 내 프로젝트 간의 LWP 리소스 할당은 project.max-lwps 리소스 제어를 사용하여 제어할 수 있습니다. 자세한 내용은 표 6-1을 참조하십시오. 이 컨트롤의 전역 등록 정보 이름은 max-lwps입니다.
zone.max-msg-ids, zone.max-sem-ids , zone.max-shm-ids 및 zone.max-shm-memory 리소스 제어는 영역 내 모든 프로세스에 사용되는 시스템 V 리소스를 제한하는 데 사용됩니다. 영역 내 프로젝트 간의 시스템 V 리소스 할당은 이러한 리소스 제어의 프로젝트 버전을 사용하여 제어할 수 있습니다. 이러한 컨트롤의 전역 등록 정보 이름은 max-msg-ids, max-sem-ids, max-shm-ids 및 max-shm-memory입니다.
zone.max-swap 리소스 제어는 영역 내 tmpfs 마운트와 사용자 프로세스 주소 공간 매핑에 사용되는 스왑을 제한합니다. prstat -Z의 출력에 SWAP 열이 표시됩니다. 보고된 스왑은 영역의 프로세스 및 tmpfs 마운트에서 사용된 총 스왑입니다. 이 값은 zone.max-swap 설정을 선택하는 데 사용할 수 있는 각 영역에 예약된 스왑을 모니터링하는 데 도움이 됩니다.
표 17-1 영역 전체 리소스 제어
|
prctl 명령을 사용하여 프로세스 실행을 위해 이러한 제한을 지정할 수 있습니다. prctl 명령을 사용하여 전역 영역에서 FSS 할당을 설정하는 방법에는 이와 관련된 예가 제공됩니다. prctl 명령을 통해 지정된 제한은 지속적이지 않습니다. 시스템을 재부트할 때까지만 제한이 적용됩니다.
영역이 부트될 때 구성에 기본 안전 권한 세트가 포함됩니다. 영역의 권한 부여된 프로세스는 시스템의 다른 비전역 영역 또는 전역 영역의 프로세스에 영향을 주지 않으므로 이러한 권한은 안전한 것으로 간주됩니다. zonecfg 명령을 사용하여 다음을 수행할 수 있습니다.
전역 리소스를 제어할 수 있게 됨에 따라 이러한 변경으로 인해 한 영역의 프로세스가 다른 영역의 프로세스에 영향을 줄 수 있음을 고려하여 기본 권한 세트에 추가합니다.
이러한 권한을 실행해야 하는 경우 이러한 변경으로 인해 일부 프로세스가 올바르게 작동하지 못할 수도 있다는 점을 고려하여 기본 권한 세트에서 제거합니다.
주 - 영역의 기본 권한 세트에서 제거할 수 없는 권한이 있는 반면, 이러한 세트에 추가할 수 없는 권한도 있습니다.
자세한 내용은 비전역 영역의 권한, 영역 구성 방법 및 privileges(5)를 참조하십시오.
attr 리소스 유형을 사용하여 영역에 대한 설명을 추가할 수 있습니다. 자세한 내용은 영역 구성 방법을 참조하십시오.