JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
시스템 관리 설명서: Oracle Solaris Containers-리소스 관리 및 Oracle Solaris 영역     Oracle Solaris 10 1/13 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

제1부리소스 관리

1.  Solaris 10 리소스 관리 소개

2.  프로젝트 및 작업(개요)

3.  프로젝트 및 작업 관리

4.  확장 계정(개요)

5.  확장 계정 관리(작업)

6.  리소스 제어(개요)

7.  리소스 제어 관리(작업)

8.  FSS(Fair Share Scheduler)(개요)

9.  FSS(Fair Share Scheduler) 관리(작업)

10.  리소스 상한값 지원 데몬을 사용한 물리적 메모리 제어(개요)

11.  리소스 상한값 지원 데몬 관리(작업)

12.  리소스 풀(개요)

13.  리소스 풀 만들기 및 관리(작업)

14.  리소스 관리 구성 예

15.  Solaris Management Console의 리소스 제어 기능

제2부영역

16.  Solaris 영역 소개

17.  비전역 영역 구성(개요)

18.  비전역 영역 계획 및 구성(작업)

비전역 영역 계획 및 구성(작업 맵)

현재 시스템 설정 평가

디스크 공간 요구 사항

희소 루트 영역

전체 루트 영역

영역 크기 제한

영역 호스트 이름 결정 및 네트워크 주소 받기

영역 호스트 이름

공유 IP 영역 네트워크 주소

IPv4 영역 네트워크 주소

IPv6 영역 네트워크 주소

배타적 IP 영역 네트워크 주소

파일 시스템 구성

비전역 영역 구성 만들기, 수정 및 삭제(작업 맵)

영역 구성, 확인 및 커밋

영역 구성 방법

다음 단계

여러 영역 구성 스크립트

비전역 영역의 구성 표시 방법

zonecfg 명령을 사용하여 영역 구성 수정

영역 구성의 리소스 유형 수정 방법

Solaris 10 8/07: 영역 구성에서 등록 정보 유형을 지우는 방법

Solaris 10 3/05 - Solaris 10 11/06: 영역 구성에서 등록 정보 유형을 수정하는 방법

Solaris 10 8/07: 영역 이름을 바꾸는 방법

영역에 전용 장치 추가 방법

전역 영역의 zone.cpu-shares를 설정하는 방법

zonecfg 명령을 사용하여 영역 구성 되돌리기 또는 제거

영역 구성을 되돌리는 방법

영역 구성 삭제 방법

19.  비전역 영역 설치, 정지, 복제 및 제거 정보(개요)

20.  비전역 영역 설치, 부트, 정지, 제거 및 복제(작업)

21.  비전역 영역 로그인(개요)

22.  비전역 영역에 로그인(작업)

23.  비전역 영역 이동 및 마이그레이션(작업)

24.  Oracle Solaris 10 9/10: 물리적 Oracle Solaris 시스템을 영역으로 마이그레이션(작업)

25.  영역이 설치된 Oracle Solaris 시스템의 패키지 및 패치 정보(개요)

26.  영역이 설치된 Oracle Solaris 시스템에서 패키지 및 패치 추가 및 제거(작업)

27.  Oracle Solaris 영역 관리(개요)

28.  Oracle Solaris 영역 관리(작업)

29.  비전역 영역이 설치된 Oracle Solaris 10 시스템 업그레이드

30.  그 밖의 기타 Oracle Solaris 영역 문제 해결

제3부lx 브랜드 영역

31.  브랜드 영역 및 Linux 브랜드 영역 정보

32.  lx 브랜드 영역 구성(개요)

33.  lx 브랜드 영역 구성(작업)

34.  lx 브랜드 영역 설치, 부트, 정지, 복제 및 제거 정보(개요)

35.  lx 브랜드 영역 설치, 부트, 정지, 제거 및 복제(작업)

36.  lx 브랜드 영역에 로그인(작업)

37.  lx 브랜드 영역 이동 및 마이그레이션(작업)

38.  lx 브랜드 영역에서 응용 프로그램 관리 및 실행(작업)

용어집

색인

영역 구성, 확인 및 커밋

zonecfg(1M) 매뉴얼 페이지에 설명된 zonecfg 명령을 사용하여 다음 작업을 수행할 수 있습니다.

또한 zonecfg 명령을 사용하여 전역 영역의 리소스 관리 설정을 영구적으로 지정할 수도 있습니다.

zonecfg 유틸리티를 사용하여 영역을 구성할 때 revert 하위 명령을 사용하여 리소스에 대한 설정을 실행 취소할 수 있습니다. 영역 구성을 되돌리는 방법을 참조하십시오.

시스템에 여러 영역을 구성하는 스크립트는 여러 영역 구성 스크립트에 나와 있습니다.

비전역 영역의 구성을 표시하려면 비전역 영역의 구성 표시 방법을 참조하십시오.

영역 구성 방법

고유 비전역 영역을 만드는 데 필요한 필수 요소는 zonenamezonepath 등록 정보입니다. 기타 리소스 및 등록 정보는 선택 사항입니다. 또한 일부 선택적 리소스는 옵션을 선택해야 합니다. 예를 들어 dedicated-cpu 리소스를 사용할 것인지 또는 capped-cpu 리소스를 사용할 것인지를 결정해야 합니다. 사용 가능한 zonecfg 등록 정보 및 리소스에 대한 자세한 내용은 영역 구성 데이터를 참조하십시오.

이 절차를 수행하려면 전역 영역의 전역 관리자여야 합니다.

  1. 수퍼 유저 또는 기본 관리자 역할로 로그인합니다.

    역할을 만든 다음 사용자에게 지정하려면 시스템 관리 설명서: 기본 관리의 RBAC와 함께 Solaris 관리 도구 사용(작업 맵)을 참조하십시오.

  2. 선택한 영역 이름을 사용하여 영역 구성을 설정합니다.

    이 예제 절차에서는 my-zone이라는 이름을 사용합니다.

    global# zonecfg -z my-zone

    이 영역을 처음으로 구성한 경우 다음 시스템 메시지가 표시됩니다.

    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. 새 영역 구성을 만듭니다.

    이 절차에서는 기본 설정을 사용합니다.

    zonecfg:my-zone> create
  4. 이 절차에서는 영역 경로를 /export/home/my-zone으로 설정합니다.
    zonecfg:my-zone> set zonepath=/export/home/my-zone

    Solaris 10 10/08 이전 릴리스의 경우에는 zonepath를 ZFS에 배치하지 마십시오.

  5. 자동 부트 값을 설정합니다.

    true로 설정하는 경우, 전역 영역이 부트될 때 영역이 자동으로 부트됩니다. 자동 부트 영역의 경우 영역 서비스 svc:/system/zones:default도 사용으로 설정해야 합니다. 기본값은 false입니다.

    zonecfg:my-zone> set autoboot=true
  6. 영역에 대한 지속 부트 인수를 설정합니다.
    zonecfg:my-zone> set bootargs="-m verbose"
  7. 이 영역에 하나의 CPU를 전용으로 지정합니다.
    zonecfg:my-zone> add dedicated-cpu
    1. CPU 수를 설정합니다.
      zonecfg:my-zone:dedicated-cpu> set ncpus=1-2
    2. (선택 사항) 중요도를 설정합니다.
      zonecfg:my-zone:dedicated-cpu> set importance=10

      기본값은 1입니다.

    3. 지정을 종료합니다.
      zonecfg:my-zone:dedicated-cpu> end
  8. 기본 권한 세트를 수정합니다.
    zonecfg:my-zone> set limitpriv="default,sys_time"

    이 행은 기본 권한 세트에 시스템 시계를 설정할 수 있는 권한을 추가합니다.

  9. 예약 클래스를 FSS로 설정합니다.
    zonecfg:my-zone> set scheduling-class=FSS
  10. 메모리 상한값을 추가합니다.
    zonecfg:my-zone> add capped-memory
    1. 메모리 상한값을 설정합니다.
      zonecfg:my-zone:capped-memory> set physical=50m
    2. 스왑 메모리 상한값을 설정합니다.
      zonecfg:my-zone:capped-memory> set swap=100m
    3. 고정 메모리 상한값을 설정합니다.
      zonecfg:my-zone:capped-memory> set locked=30m
    4. 메모리 상한값 지정을 완료합니다.
      zonecfg:my-zone:capped-memory> end
  11. 파일 시스템을 추가합니다.
    zonecfg:my-zone> add fs
    1. 이 절차에서는 파일 시스템의 마운트 지점을 /usr/local로 설정합니다.
      zonecfg:my-zone:fs> set dir=/usr/local
    2. 전역 영역의 /opt/local이 구성 중인 영역의 /usr/local로 마운트되도록 지정합니다.
      zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local

      비전역 영역에서 /usr/local 파일 시스템은 읽기 및 쓰기가 가능하게 설정됩니다.

    3. 이 절차에서는 파일 시스템 유형을 lofs로 지정합니다.
      zonecfg:my-zone:fs> set type=lofs

      이 유형은 커널이 파일 시스템과 상호 작용하는 방식을 지정합니다.

    4. 파일 시스템 지정을 완료합니다.
      zonecfg:my-zone:fs> end

    이 단계를 두 번 이상 수행하여 둘 이상의 파일 시스템을 추가할 수 있습니다.

  12. (선택 사항) hostid를 설정합니다.
    zonecfg:my-zone> set hostid=80f0c086
  13. sales라는 ZFS 데이터 세트를 tank 저장소 풀에 추가합니다.
    zonecfg:my-zone> add dataset
    1. ZFS 데이터 세트 sales에 대한 경로를 지정합니다.
      zonecfg:my-zone> set name=tank/sales
    2. dataset 지정을 종료합니다.
      zonecfg:my-zone> end
  14. (희소 루트 영역만 해당) 전역 영역에서 루프백 마운트된 공유 파일 시스템을 추가합니다.

    전체 루트 영역에는 공유 파일 시스템이 없으므로 전체 루트 영역을 만드는 데 이 단계를 수행하지 마십시오. 디스크 공간 요구 사항에서 전체 루트 영역에 대한 설명을 참조하십시오.

    zonecfg:my-zone> add inherit-pkg-dir
    1. 전역 영역의 /opt/sfw가 구성 중인 영역에서 읽기 전용 모드로 마운트되도록 지정합니다.
      zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw

      주 - 패키지를 적용하기 위해 영역의 패키징 데이터베이스가 업데이트됩니다. zoneadm을 사용하여 영역을 설치한 후에는 이러한 리소스를 수정하거나 제거할 수 없습니다.


    2. inherit-pkg-dir 지정을 종료합니다.
      zonecfg:my-zone:inherit-pkg-dir> end

    이 단계를 두 번 이상 수행하여 둘 이상의 공유 파일 시스템을 추가할 수 있습니다.


    주 - 전체 루트 영역을 만들려고 하는데 inherit-pkg-dir을 사용하여 기본 공유 파일 시스템 리소스가 추가된 경우, 영역을 설치하기 전에 zonecfg를 사용하여 이러한 기본 inherit-pkg-dir 리소스를 제거해야 합니다.

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/lib

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/platform

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/sbin

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/usr


  15. (선택 사항) 배타적 IP 영역을 만드는 경우 ip-type을 설정합니다.
    zonecfg:my-zone> set ip-type=exclusive

    주 - 물리적 장치 유형만 add net 단계에서 지정됩니다.


  16. 네트워크 인터페이스를 추가합니다.
    zonecfg:my-zone> add net
    1. (공유 IP만 해당) 이 절차에서는 네트워크 인터페이스 의 IP 주소를 192.168.0.1로 설정합니다.
      zonecfg:my-zone:net> set address=192.168.0.1
    2. 이 절차에서는 네트워크 인터페이스의 물리적 장치 유형을 hme 장치로 설정합니다.
      zonecfg:my-zone:net> set physical=hme0
    3. Solaris 10 10/08: (선택 사항, 공유 IP만 해당) 이 절차에서는 네트워크 인터페이스 의 기본 라우터를 10.0.0.1로 설정합니다.
      zonecfg:my-zone:net> set defrouter=10.0.0.1
    4. 지정을 종료합니다.
      zonecfg:my-zone:net> end

    이 단계를 두 번 이상 수행하여 둘 이상의 네트워크 인터페이스를 추가할 수 있습니다.

  17. 장치를 추가합니다.
    zonecfg:my-zone> add device
    1. 이 절차에서는 장치 일치를 /dev/sound/*로 설정합니다.
      zonecfg:my-zone:device> set match=/dev/sound/*
    2. 장치 지정을 완료합니다.
      zonecfg:my-zone:device> end

    둘 이상의 장치를 추가하기 위해 이 단계를 여러 번 수행할 수 있습니다.

  18. 등록 정보 이름을 사용하여 영역 전체의 리소스 제어를 추가합니다.
    zonecfg:my-zone> set max-sem-ids=10485200

    둘 이상의 리소스 제어를 추가하기 위해 이 단계를 여러 번 수행할 수 있습니다.

  19. attr 리소스 유형을 사용하여 설명을 추가합니다.
    zonecfg:my-zone> add attr
    1. 이름을 comment로 설정합니다.
      zonecfg:my-zone:attr> set name=comment
    2. 유형을 string으로 설정합니다.
      zonecfg:my-zone:attr> set type=string
    3. 값을 해당 영역을 나타내는 설명으로 설정합니다.
      zonecfg:my-zone:attr> set value="This is my work zone."
    4. attr 리소스 유형 지정을 완료합니다.
      zonecfg:my-zone:attr> end
  20. 영역에 대한 영역 구성을 확인합니다.
    zonecfg:my-zone> verify
  21. 영역에 대한 영역 구성을 커밋합니다.
    zonecfg:my-zone> commit
  22. zonecfg 명령을 종료합니다.
    zonecfg:my-zone> exit

    프롬프트에서 명시적으로 commit를 입력하지 않은 경우에도 exit를 입력하거나 EOF가 발생할 때 commit가 자동으로 시도됩니다.

명령줄에서 여러 하위 명령 사용

참고 - zonecfg 명령은 여러 하위 명령을 지원합니다. 동일한 셸 호출에서 각 명령을 따옴표로 묶고 세미콜론으로 구분하여 입력하면 됩니다.

global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone"

다음 단계

커밋한 영역 구성을 설치하려면 영역 설치 및 부트를 참조하십시오.

여러 영역 구성 스크립트

이 스크립트를 사용하여 시스템에서 여러 영역을 구성하고 부트할 수 있습니다. 이 스크립트는 다음 매개변수를 사용합니다.

스크립트를 실행하려면 전역 영역의 전역 관리자여야 합니다. 전역 관리자는 전역 영역에서 수퍼 유저 권한을 갖거나 기본 관리자 역할을 수행합니다.

#!/bin/ksh
#
# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#ident    "%Z%%M%    %I%    %E% SMI"

if [[ -z "$1" || -z "$2" || -z "$3" ]]; then
        echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir>"
        exit 2
fi

if [[ ! -d $3 ]]; then
        echo "$3 is not a directory"
        exit 1
fi

nprocs=`psrinfo | wc -l`
nzones=$1
prefix=$2
dir=$3

ip_addrs_per_if=`ndd /dev/ip ip_addrs_per_if`
if [ $ip_addrs_per_if -lt $nzones ]; then
        echo "ndd parameter ip_addrs_per_if is too low ($ip_addrs_per_if)"
        echo "set it higher with 'ndd -set /dev/ip ip_addrs_per_if <num>"
        exit 1
fi

i=1
while [ $i -le $nzones ]; do
    zoneadm -z $prefix$i list > /dev/null 2>&1
    if [ $? != 0 ]; then
        echo configuring $prefix$i
        F=$dir/$prefix$i.config
        rm -f $F
        echo "create" > $F
        echo "set zonepath=$dir/$prefix$i" >> $F
        zonecfg -z $prefix$i -f $dir/$prefix$i.config 2>&1 | \
            sed 's/^/    /g' 
    else
        echo "skipping $prefix$i, already configured"
    fi
    i=`expr $i + 1`
done

i=1
while [ $i -le $nzones ]; do
    j=1
    while [ $j -le $nprocs ]; do
        if [ $i -le $nzones ]; then
            if [ `zoneadm -z $prefix$i list -p | \
                cut -d':' -f 3` != "configured" ]; then
                echo "skipping $prefix$i, already installed"
            else
                echo installing $prefix$i
                mkdir -pm 0700 $dir/$prefix$i
                chmod 700 $dir/$prefix$i
                zoneadm -z $prefix$i install > /dev/null 2>&1 &
                sleep 1    # spread things out just a tad
            fi
        fi
        i=`expr $i + 1`
        j=`expr $j + 1`
    done
    wait
done

i=1
while [ $i -le $nzones ]; do
    echo setting up sysid for $prefix$i
    cfg=$dir/$prefix$i/root/etc/sysidcfg
    rm -f $cfg
    echo "network_interface=NONE {hostname=$prefix$i}" > $cfg
    echo "system_locale=C" >> $cfg
    echo "terminal=xterms" >> $cfg
    echo "security_policy=NONE" >> $cfg
    echo "name_service=NONE" >> $cfg
    echo "timezone=US/Pacific" >> $cfg
    echo "root_password=Qexr7Y/wzkSbc" >> $cfg  # 'l1a'
    i=`expr $i + 1`
done

i=1
para=`expr $nprocs \* 2`
while [ $i -le $nzones ]; do
    date
    j=1
    while [ $j -le $para ]; do
        if [ $i -le $nzones ]; then
            echo booting $prefix$i
            zoneadm -z $prefix$i boot &
        fi
        j=`expr $j + 1`
        i=`expr $i + 1`
    done
    wait
done

비전역 영역의 구성 표시 방법

이 절차를 수행하려면 전역 영역의 전역 관리자여야 합니다.

  1. 수퍼 유저 또는 기본 관리자 역할로 로그인합니다.

    역할을 만든 다음 사용자에게 지정하려면 시스템 관리 설명서: 기본 관리의 RBAC와 함께 Solaris 관리 도구 사용(작업 맵)을 참조하십시오.

  2. 영역 구성을 표시합니다.
    global# zonecfg -z zonename info