이 글은 솔라리스 라이브 업그레이드를 이용하여 논-글로벌 존이 설치된 솔라리스10 을 업그레이드 하는 방법에 대해 설명합니다.


논-글로벌 존 환경에서 솔라리스 라이브 업그레이드 이용하기

솔라리스 라이브 업그레이드는 이제 솔라리스10 의 논-글로벌 존 업그레이드를 지원합니다. 솔라리스10 8/07 은 솔라리스 플랫폼 업그레이드 메카니즘을 시스템에 설정된 모든 논-글로벌 존까지 완벽히 지원하도록 향상시킨 “존 업그레이드” 기능을 포함하고 있습니다. 존 업그레이드 기능은 논-글로벌 존에 대한 솔라리스 라이브 업그레이드 사용을 지원합니다.

각 논-글로벌 존은 솔라리스 라이브 업그레이드 및 관련 유틸리티에 의해 독립된 솔라리스 인스턴스로 다루어 집니다. 글로벌 존이 첫번째로 업그레이드 되고 이후에 각각의 논-글로벌 존이 차례로 업그레이드 됩니다.

주의 - 어떠한 설치 업그레이드 혹은 패치 과정 이전에라도 반드시 시스템을 완전히 백업해 두시기 바랍니다.


솔라리스 라이브 업그레이드 계획하기

솔라리스10 8/07 배포 버전 이전의 시스템을 업그레이드하기 이전에 솔라리스 라이브 업그레이드 패키지를 설치 하고 또한 OS 도 패치하시기 바랍니다. 솔라리스10은 적어도 InfoDoc 72099 에 리스트업된 패치레벨 수준으로 패치가 되어져야 합니다. 솔라리스10의 버전에 따라 다르긴 하지만 몇몇 패치들은 이미 설치가 되어있을 것입니다.

필수 패키지

솔라리스10 8/07 버전으로 업그레이드 하기 위해서는 솔라리스10 8/07 이미지에 있는 솔라리스 라이브 업그레이드 패키지를 설치 하시기 바랍니다. 새로운 패키지 SUNWlucfg 가 업그레이드를 시작하기 전에 필요 합니다. 솔라리스 라이브 업그레이드 패키지는 현존하는 소프트웨어, 새로운 기능 그리고 버그 픽스를 포함하고 있습니다. 만약 기존 패키지를 지우지 않고 새로운 패키지를 솔라리스 라이브 업그레이드를 사용하기 전에 설치 한다면 업그레이드 시에 문제가 발생할 수 있습니다. 새로운 패키지는 버그 픽스와 여러분의 현재 시스템에 있는 패키지들에는 없는 기능들을 포함하고 있습니다. 이 글의 필수 패키지 설치하는 방법 섹션을 통해서 패키지를 설치하는 방법을 살펴 보시기 바랍니다.

필수 패치들

패키지가 설치 되면 InfoDoc 72099 에 목록화된 패치들을 설치하여 솔라리스 라이브 업그레이드를 이용하여 업그레이드하는데 필요한 모든 패치들을 설치하시기 바랍니다. 패치를 로컬 디스크에 저장한다면 /var/tmp/lupatches 디렉토리를 만들어서 패치들을 이 디렉토리에 저장하시기 바랍니다.

패치를 설치하기 전에 다음의 조건들이 충족되는지 확인하시기 바랍니다:

  • 커널 패치를 싱글-유저 모드에서 설치.
  • 패치 README file 에 지시되어 있을 경우 모든 패치를 싱글-유저 모드 에서 설치.
  • 모든 존이 'installed' 상태에 있을것.
  • 모든 존 경로가 접근 가능할 것. 만약 존 경로가 다른 파일 시스템상에 있다면 파일 시스템은 싱글-유저 모드에서 마운트 하지 않을 것임. mountall 커맨드를 이용하거나 특정 파일 시스템을 마운트 할 것.

InfoDoc 72099 에 목록화 된 몇몇 패치들은 솔라리스 라이브 업그레이드와 존에 특수 합니다. 이러한 패치를 다운로드 받아서 설치하면 다음과 같은 작업들이 완료 됩니다:

  • 현존하는 업그레이드 소프트웨어를 존을 인식하도록 수정해서 소프트웨어가 적정 수준의 속도로 논-글로벌 존을 업그레이드 할 수 있도록 함
  • 솔라리스 라이브 업그레이드 소프트웨어를 수정하여 논-글로벌 존의 업그레이드를 완벽히 관리할 수 있도록 함

InfoDoc 72099 의 나머지 패치들은 솔라리스10 8/07 버전으로 OS 를 업그레이드 하는데 필요한 패치 레벨들 입니다. InfoDoc 72099 의 모든 패치들은 업그레이드를 수행하기 위한 최소버전입니다. 여러분이 원한다면 이보다 훨씬 최신 버전을 설치할 수도 있습니다.

솔라리스 라이브 업그레이드에 의해 파일 시스템이 공유되고 관리되는 방법

솔라리스 라이브 업그레이드는 논-글로벌 존이 부트 환경간에 공유되는 파일 시스템에 존재하는지 인식합니다. 활성화된 부트 환경이 있는 파일 시스템을 공유하는 부트 환경의 복제본을 업그레이드 한다면 모든 공유 파일 시스템은 읽기전용 lofs 마운트를 통해서 마운트 됩니다. 이것은 업그레이드 작업이 동일한 파일 시스템을 공유하는 활성 부트 환경을 훼손하는 것을 막아 줍니다.

부트환경에 대한 관리자 접근

부트 환경을 생성하는데 lucreate 가 사용되면 글로벌 존의 관리자는 현재 부트 환경 및 비활성화된 부트 환경에 접근이 가능합니다. 논-글로벌 존이 존재하면 글로벌 존 관리자는 모든 부트 환경에 접근이 가능합니다.

각 논-글로벌 존 관리자는 그들의 존의 현재 부트 환경을 포함하고 있는 파일 시스템에만 접근이 가능합니다. 논-글로벌 존 관리자가 비활성화된 부트 환경내의 존의 파일 시스템에 접근하려면 글로벌-존 관리자가 글로벌 존에서 반드시 비활성화된 부트 환경을 마운트 해야 합니다. 글로벌 존 관리자는 이후 lumount(1M) 와 luumount(1M) 커맨드 같은 확장을 통해서 논-글로벌 존 관리자가 필요한 파일 시스템에 접근 하도록 할 수 있습니다.

필수 패키지 설치하는 방법

필수 패키지인 솔라리스 라이브 업그레이드 패키지를 설치 하는 방법을 차례대로 수행합니다.

  1. pkgrm 커맨드를 통해서 기존에 존재하는 솔라리스 라이브 업그레이드 패키지를 제거 합니다.

    3개의 솔라리스 라이브 업그레이드 패키지 SUNWlucfg, SUNWlur, 그리고 SUNWluu 는 솔라리스 라이브 업그레이드를 이용한 업그레이드 수행에 필요한 소프트웨어 입니다. 이 패키지들은 현존하고 있는 소프트웨어, 새로운 기능들, 그리고 버그 픽스를 포함하고 있습니다. 현존하는 패키지를 제거하고 새로운 패키지를 설치 합니다:

    # pkgrm SUNWlucfg SUNWluu SUNWlur

  2. 솔라리스 라이브 업그레이드 패키지를 설치 합니다.

    liveupgrade20 커맨드를 이용해서 패키지를 설치하는 다음의 단계들을 실행 합니다. liveupgrade20 커맨드는 자바를 요구 합니다. 만약 시스템에 자바가 설치되어 있지 않다면 pkgadd 커맨드를 통해서 패키지를 따로 설치해야 합니다.

    1. 솔라리스 DVD 혹은 CD 를 넣습니다.

      이 미디어는 여러분이 업그레이드 하려고 하는 버전의 패키지를 포함하고 있습니다.

    2. 설치 디렉토리로 이동합니다.
      • 만약 솔라리스 DVD 를 사용하고 있다면:
        • SPARC 기반 시스템은:

          #cd /cdrom/cdrom0/s0/Solaris_10/Tools/Installers

        • x86 기반 시스템은:

          # cd /cdrom/cdrom0/Solaris_10/Tools/Installers

      • 솔라리스 소프트웨어 - 2 CD 를 사용하고 있다면 인스톨러를 실행합니다.

        % ./installer

    3. 인스톨러를 실행합니다.

      # ./liveupgrade20 -noconsole - nodisplay

      -noconsole-nodisplay 옵션은 CUI(Character User DISPLAY)가 출력되는 것을 막습니다.

      주의 - 솔라리스 라이브 업그레이드 CUI 는 더이상 지원되지 않습니다.

    4. 패키지가 성공적으로 설치됐는지 확인합니다.

      # pkgchk -v SUNWlucfg SUNWlur SUNWluu

솔라리스 라이브 업그레이드 패치를 설치하고 솔라리스를 라이브 업그레이드로 업그레이드 하는 방법

  1. 테스트 시스템을 설정 합니다.

    zone1zone2 라고 하는 작은 논-글로벌 존을 생성하고 부트시킵니다. 논-글로벌 존을 생성하고 부트하는 방법은 System Administration Guide: Solaris Containers-Resource Management and Solaris Zones 을 참고하시기 바랍니다.

  2. InfoDoc 72099 에 있는 패치들을 설치 합니다.

    /var/tmp/lupatches 디렉토리로 이동 후에 InfoDoc 72099 에 목록화된 순서와 동일한 순서로 패치를 설치 합니다.

    #cd /var/tmp/lupatches
    #patchadd patch_id

    patch_id 는 패치 넘버 입니다.

  3. 모든 논-글로벌 존에 UUIDs 를 지정합니다.

    모든 논-글로벌 존이 특수한 인식자(UUID) 를 가지도록 하고 모든 존을 detach, attach, 그리고 boot 합니다.

    #zoneadm -z zone1 detach    	
    #zoneadm -z zone2 detach    	
    #zoneadm -z zone1 attach    	
    #zoneadm -z zone2 attach    	
    #zoneadm -z zone1 boot    	
    #zoneadm -z zone2 boot     	

    zoneadm list -p 커맨드를 통해서 모든 존에 UUID 가 지정되어 있는지 확인 합니다.

    #zoneadm list -p    	
    0:global:running:/::native:shared    	
    16:zone1:running:/space/zone1:559ca0a2-d7c5-6a61-e64c-	  bec99bb0910c:native:shared    	
    17:zone2:running:/space/zone2:d3e6bc88-3533-6209-f25d-	  e811e334295a:native:shared    	
  4. 논-글로벌 존을 적어도 한번쯤 로그인 합니다.

    로긴은 모든 존이 정상인지를 확인할 수 있습니다. 각 존에 로그인 한 후에 존을 빠져 나옵니다.

    #zlogin zone1    	
    #exit    	
    #zlogin zone2    	
    #exit    	
  5. 새로운 부트 환경을 생성합니다.

    활성화된 부트 환경을 BE1 고 명명하고 새로운 부트 환경을 BE2라고 합니다. 새로운 부트 환경 BE2 를 위해 2개의 파일 시스템을 생성합니다.

    #lucreate -c BE1 -n BE2 -m /:/dev/dsk/c1t0d0s4:ufs  -m /space:/dev/dsk/c1t0d0s5:ufs
    -c BE1

    BE1 을 현재의 활성화된 부트 환경에 지정합니다.

    -n BE2

    새로운 부트환경의 이름을 지정합니다.

    -m /:/dev/dsk/c1t0d0s4:ufs

    vfstab 에 새로운 부트 환경의 파일 시스템 설정을 지정 합니다. 여기서 루트 (/) 파일 시스템은 c1t0d0s4 에 위치합니다.

    -m /space:/dev/dsk/c1t0d0s5:ufs

    두번째 파일 시스템을 c1t0d0s5 에 생성합니다. 존의 루트는 /space 에 존재 합니다.

  6. 새로운 부트 환경을 활성화 시킵니다.

    새로운 부트 환경이 활성화 되었고 실행중인지 확인하기 위해 luactivate 커맨드를 실행합니다.

    #luactivate BE2

    시스템을 재부팅 합니다.

    #init 6
  7. 새로운 부트 환경에서 존으로 재로그인 합니다.

    재로그인은 모든존이 새로운 부트환경에서 정상적으로 작동하는지 확인해 줍니다.

    #zoneadm -z zone1 boot    	
    #zoneadm -z zone2 boot    	
    #zlogin zone1    	
    #exit    	
    #zlogin zone2    	
    #exit    	
  8. 본래의 부트 환경으로 돌아 갑니다.
    #luactivate BE1
    #init 6
  9. 본래 부트 환경에서 존의 상태를 확인합니다.

    존들이 실행중인 상태인지 확인합니다.

    #zoneadm -z zone1 boot
    #zoneadm -z zone2 boot
    #zoneadm list -cv	
    ID NAME             STATUS     PATH                           BRAND    IP        	
    0 global           running    /                              native   shared    	
    1 zone1            running    /space/zone1                   native   shared    	
    2 zone2            running    /space/zone2                   native   shared    	
    
    #zoneadm list -p    	
    0:global:running:/::native:shared    	
    1:zone1:running:/space/zone1:559ca0a2-d7c5-6a61-e64c-	bec99bb0910c:native:shared    	
    2:zone2:running:/space/zone2:d3e6bc88-3533-6209-f25d-	e811e334295a:native:shared
  10. 새로운 부트 환경을 업그레이드 합니다.

    #luupgrade -u -n new-BE -s solaris-image-path

    luupgrade -u

    부트 환경의 OS 를 업그레이드 합니다

    -n new-BE

    업그레이드 될 부트 환경의 이름

    -s solaris-image-path

    솔라리스 이미지 경로를 지정합니다.

    예를 들어:

    #luupgrade -u -n BE2 -s /net/ins3525-svr/export2/s10u4/dvds/latest
    
    159376 blocks
    miniroot file system is <lofs>
    Mounting miniroot at </net/ins3525-svr/export2/s10u4/dvds/latest/Solaris_10/Tools/Boot>
    Validating the contents of the media </net/ins3525-	svr/export2/s10u4/dvds/latest>.
    The media is a standard Solaris media.
    The media contains an operating system upgrade image.
    The media contains <Solaris> version <10>.
    Constructing upgrade profile to use.
    Locating the operating system upgrade program.
    Checking for existence of previously scheduled Live Upgrade requests.
    Creating upgrade profile for BE <BE2>.
    Determining packages to install or upgrade for BE <BE2>.
    Performing the operating system upgrade of the BE <BE2>.
    CAUTION: Interrupting this process may leave the boot environment unstable 
    or unbootable.
    Upgrading Solaris: 100% completed
    Installation of the packages from this media is complete.
    Updating package information on boot environment <BE2>.
    Package information successfully updated on boot environment <BE2>.
    Adding operating system patches to the BE <BE2>.
    The operating system patch installation is complete.
    INFORMATION: The file </var/sadm/system/logs/upgrade_log> on boot 
    environment <BE2> contains a log of the upgrade operation.
    INFORMATION: The file </var/sadm/system/data/upgrade_cleanup> on boot 
    environment <BE2> contains a log of cleanup operations required.
    WARNING: <1> packages failed to install properly on boot environment <BE2>.
    INFORMATION: The file </var/sadm/system/data/upgrade_failed_pkgadds> on
    boot environment <BE2> contains a list of packages that failed to upgrade 
    or install properly.
    INFORMATION: Review the files listed above. Remember that all of the files 
    are located on boot environment <BE2>. Before you activate boot 
    environment <BE2>, determine if any additional system maintenance is 
    required or if additional media of the software distribution must be 
    installed.
    The Solaris upgrade of the boot environment <BE2> is partially complete.
  11. (선택작업) 문제 해결시에는 로그 파일을 사용합니다.

    출력 파일과 업그레이드 프로세스 결과 파일들은 다양한 로그 파일들에 저장됩니다. 이러한 파일들은 발생한 문제점들을 살펴 보고 업그레이드 이후에 청소 작업이 필요한지에 대해서도 알려 줍니다. 로그 파일은 글로벌 존에 저장되어 있고 글로벌 존 관리자가 이 파일들에 접근할 수 있습니다. 다음의 예제는 샘플 로그 파일을 보는 방법에 대해 설명합니다:

    • /var/sadm/system/logs/upgrade_cleanup
    • /var/sadm/system/logs/upgrade_log

      글로벌 존을 위한 upgrade_log 파일내의 샘플 항목입니다:

      Doing pkgadd of SUNWcsu to /
      29329 blocks
      Doing pkgadd of SUNWcsu
      
      Installation of SUNWcsu was successful

      논-글로벌 존을 위한 upgrade_log 파일 내의 샘플 항목입니다:

      Doing pkgadd of SUNWcsu to /
      31722 blocks
      
      Installation of SUNWcsu was successful.
      Installation of SUNWcsu on zone <SUNWlu-zone1> was successful.
      Installation of SUNWcsu on zone <SUNWlu-zone2> was successful

      논-글로벌 존을 위한 upgrade_log 파일 내의 오류 샘플 항목입니다:

      Removal of SUNWgttf from zone <SUNWlu-zone1> failed.

    주의 -솔라리스 라이브 업그레이드는 VxVM 과 호환되지 않습니다. 솔라리스 라이브 업그레이드는 반드시 솔라리스 볼륨 메니저와 같이 사용 되어야 합니다.

  12. 새로운 부트 환경이 성공적으로 업그레이드 되었는지 확인합니다.

    luupgrade 커맨드가 성공적으로 완료된 다음에 BE2 를 활성화 하고 모든 존이 올바르게 업그레이드 되었는지 확인합니다.

    주의 - 콘솔의 다음 메세지들은 무시하시기 바랍니다. 이미 알려진 이슈입니다.

    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100083_1/  rpc_tcp:default in repository: entity not found
    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100083_1/  rpc_tcp:default in repository: No such file or directory
    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100068_2-5/   rpc_udp:default in repository: entity not found
    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100068_2-5/  rpc_udp:default in repository: No such file or directory

솔라리스 라이브 업그레이드에 대한 추가 정보 찾기

표 1 솔라리스 라이브 업그레이드 참고자료

Description

상세정보

Solaris 10 8/07 Installation Guide: Solaris Live Upgrade and Upgrade Planning 은 이 툴에 필요한 모든 정보가 들어 있습니다.

솔라리스 라이브 업그레이드를 이용해 패치하는 더 자세한 정보는:

솔라리스10 1/06 배포판에서 썬은 새로운 패칭 툴인 썬 업데이트 커넥션을 포함시켰습니다. 이 툴은 시스템을 분석하고 적절한 패치를 적용시킵니다. 2006년 9월의 1.0.8 버전 툴셋은 솔라리스 라이브 업그레이드와 함께 사용할 수 있는 다양한 옵션을 제공합니다.

Patching Best Practices 웹 사이트는 다수의 FAQ, 기술문서 그리고 솔라리스 OS 패치에 대한 다양한 정보를 제공합니다.

Support 사이트

System Administration Guide: Solaris Containers-Resource Management and Solaris Zones Guide 문서는 솔라리스 존에 대한 정보를 담고 있습니다.

토론방

썬 교육 과정:

  • Make the transition to the Solaris 10 operating system (VC-SA-210-S10)
  • Solaris 10 features for experienced Solaris system administrators (SA-225-S10)
저자 : Pallavi Madhusudhan, Arindam Sarkar


이 글의 영문 원본은
http://www.sun.com/bigadmin/sundocs/articles/sluonngzones.jsp?cid=e4692\

에서 보실 수 있습니다.

"관리자코너" 카테고리의 다른 글

2008/01/16 15:31 2008/01/16 15:31

TRACKBACK :: http://blog.sdnkorea.com/blog/trackback/491

댓글을 달아 주세요

[로그인][오픈아이디란?]

◀ Prev 1  ... 181 182 183 184 185 186 187 188 189  ... 641  Next ▶