Solaris 10 8/07 설치 설명서: Solaris Live Upgrade 및 업그레이드 계획

9장 비전역 영역이 설치된 시스템에서 Solaris OS 업그레이드

이 장에서는 Solaris Live Upgrade를 사용하여 비전역 영역이 설치된 시스템을 업그레이드하는 방법에 대해 설명합니다. 이 장은 다음 내용으로 구성되어 있습니다.

비전역 영역이 설치된 경우 Solaris Live Upgrade를 사용하여 업그레이드(개요)

Solaris 10 8/07 릴리스부터는 Solaris Live Upgrade를 사용하여 비전역 영역이 포함된 시스템을 업그레이드하거나 패치할 수 있습니다. 비전역 영역이 포함된 시스템이 있는 경우 권장되는 패치 업그레이드 및 추가 프로그램은 Solaris Live Upgrade입니다. 다른 업그레이드 프로그램의 경우 업그레이드를 완료하는 데 필요한 시간은 설치된 비전역 영역 수에 비례하여 증가하므로 업그레이드 시간이 오래 걸릴 수 있습니다. Solaris Live Upgrade를 사용하여 시스템을 패치할 경우 시스템을 단일 사용자 모드로 전환할 필요가 없으므로 시스템 가동 시간을 최대화할 수 있습니다. 다음 목록에는 비전역 영역이 설치된 시스템을 보관하기 위한 변경 사항이 요약되어 있습니다.

Solaris Zones 및 Solaris Live Upgrade 이해

Solaris 영역 분할 기술은 운영 체제 서비스를 가상화하고 실행 중인 응용 프로그램에 대해 격리되고 안전한 환경을 제공하는 데 사용됩니다. 비전역 영역은 Solaris OS의 단일 인스턴스(전역 영역) 내에 만들어진 가상화된 운영 체제 환경입니다. 비전역 영역을 만들면 프로세스가 시스템의 나머지 부분으로부터 격리되는 응용 프로그램 실행 환경을 만들게 됩니다.

Solaris Live Upgrade는 현재 실행 중인 시스템을 새 슬라이스로 복사하는 메커니즘입니다. 비전역 영역이 설치된 경우에는 전역 영역의 파일 시스템과 함께 비활성 부트 환경으로 복사될 수 있습니다.

그림 9–1에서는 전역 영역의 파일 시스템과 함께 비활성 부트 영역으로 복사된 비전역 영역을 보여 줍니다.

그림 9–1 부트 환경 작성 – 비전역 영역 복사

그림에 대한 설명은 컨텍스트를 참조하십시오.

그림 9–2에서는 비전역 영역이 비활성 부트 환경으로 복사되는 것을 보여 줍니다.

그림 9–2 부트 환경 작성 – 비전역 영역에서 공유 파일 시스템을 복사

그림에 대한 설명은 컨텍스트를 참조하십시오.

비전역 영역이 설치된 경우 부트 환경 만들기 및 업그레이드(작업)

다음 절에서는 비전역 영역이 설치되어 있을 때 부트 환경을 만드는 방법과 비전역 영역이 설치되어 있을 때의 업그레이드 절차에 대해 설명합니다.

비전역 영역이 별도의 파일 시스템에 있을 때 부트 환경 만들기

현재 실행 중인 부트 환경에서 새 부트 환경을 만드는 작업은 한 가지 예외를 제외하고 이전 릴리스와 동일합니다. 비전역 영역 내에서 공유 파일 시스템을 위한 대상 디스크 슬라이스를 지정할 수 있습니다. 이 예외는 다음 조건에서 발생합니다.

별도의 파일 시스템이 새 부트 환경에서 공유되지 않도록 하려면 lucreate 명령을 사용하여 비전역 영역에 대한 별도의 파일 시스템의 대상 슬라이스를 지정할 수 있습니다. -m 옵션에 대한 인수에 새 선택적 필드인 zonename이 추가되었습니다. 이 새로운 필드는 비전역 영역에 있는 별도의 파일 시스템을 새 부트 환경에 있는 별도의 슬라이스에 배치합니다. 별도의 파일 시스템을 사용하여 비전역 영역을 설정하는 방법에 대한 자세한 내용은 zonecfg(1M)를 참조하십시오.


주 –

기본적으로 중요 파일 시스템(root (/), /usr/opt 파일 시스템) 이외의 모든 파일 시스템은 현재 부트 환경과 새 부트 환경 간에 공유됩니다. 활성 부트 환경에서 공유된 파일을 업데이트하면 비활성 부트 환경에서도 데이터가 업데이트됩니다. 예를 들어, /export 파일 시스템은 공유 파일 시스템입니다. -m 옵션과 zonename 옵션을 사용하면 비전역 영역의 파일 시스템이 별도의 슬라이스로 복사되고 데이터가 공유되지 않습니다. 이 옵션을 사용하면 zonecfg add fs 명령으로 만들어진 비전역 영역 파일 시스템이 부트 환경 간에 공유되지 않습니다.


Procedure시스템에 비전역 영역이 설치된 경우 Solaris Live Upgrade로 업그레이드(작업)

다음 절차에서는 비전역 영역이 설치된 시스템에서 Solaris Live Upgrade를 사용하여 업그레이드하는 방법에 대한 자세한 지침을 제공합니다.

  1. 필요한 패치를 설치합니다.

    http://sunsolve.sun.com을 참조하여 가장 최근의 업데이트된 패치 목록이 있는지 확인하십시오. SunSolve 웹 사이트에서 정보 문서 72099를 검색합니다.

    1. SunSolveSM 웹 사이트에서 패치 목록을 확인합니다.

    2. 수퍼유저 또는 동등한 역할의 사용자로 로그인합니다.

    3. patchadd 명령을 사용하여 패치를 설치합니다.


      # patchadd path_to_patches
      

      path_to_patches는 패치가 있는 경로입니다.

    4. 필요한 경우 시스템을 재부트합니다. 특정 패치는 재부트해야만 적용됩니다.

      x86에만 해당: 시스템을 재부트해야 하며, 그렇지 않으면 Solaris Live Upgrade가 실패합니다.


      # init 6
      
  2. 기존 Solaris Live Upgrade 패키지를 제거합니다.

    세 개의 Solaris Live Upgrade 패키지 SUNWluu, SUNWlur SUNWlucfg는 Solaris Live Upgrade를 사용한 업그레이드에 필요한 소프트웨어를 구성합니다. 해당 패키지에는 기존 소프트웨어, 새 기능 및 버그 수정이 포함됩니다. 기존 패키지를 제거하지 않고 Solaris Live Upgrade를 사용하기 전에 시스템에 새 패키지를 설치한 경우에는 대상 릴리스로의 업그레이드가 실패합니다.


    # pkgrm SUNWlucfg SUNWluu SUNWlur
    
  3. Solaris Live Upgrade 패키지를 설치합니다.

    1. Solaris DVD 또는 CD를 넣습니다.

      이 매체에는 업그레이드할 대상 릴리스의 패키지가 들어 있습니다.

    2. 설치 매체 또는 네트워크 설치 이미지에서 다음 순서로 패키지를 설치합니다.


      # pkagadd -d path_to_packages SUNWlucfg SUNWlur SUNWluu
      

      다음 예에서 패키지는 설치 매체에서 설치됩니다.

      • SPARC 기반 시스템의 경우:


        # pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
        
      • x86 기반 시스템의 경우:


        # pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
        
  4. 패키지가 성공적으로 설치되었는지 확인합니다.


    # pkgchk -v SUNWlucfg SUNWlur SUNWluu
    
  5. 새 부트 환경을 만듭니다.


    # lucreate [-A 'BE_description'] [-c BE_name] \
     -m mountpoint:device[,metadevice]:fs_options[:zonename] [-m ...] -n BE_name
    
    -n BE_name

    생성될 부트 환경의 이름BE_name은 시스템에서 고유해야 합니다.

    -A 'BE_description'

    (선택 사항) 부트 환경 이름(BE_name)과 연관된 부트 환경 설명을 작성할 수 있도록 합니다. 설명은 길이 제한이 없고 모든 문자를 포함할 수 있습니다.

    -c BE_name

    활성 부트 환경에 이름 BE_name을 할당합니다. 이 옵션은 필수 사항이 아니며 부트 환경을 처음 만들 때만 사용됩니다. 처음 lucreate를 실행할 때 -c 옵션을 생략하면 소프트웨어에서는 기본 파일 이름을 사용합니다.

    -m mountpoint:device[,metadevice]:fs_options [:zonename] [-m ...]

    vfstab에 새 부트 환경의 파일 시스템 구성을 지정합니다. -m에 대한 인자로 지정된 파일 시스템은 동일한 디스크에 있거나 여러 디스크에 분산될 수 있습니다. 이 옵션을 필요한 만큼 여러 번 사용하여 필요한 수의 파일 시스템을 만듭니다.

    • mountpoint는 모든 유효한 마운트 지점 또는 –(하이픈)일 수 있으며 스왑 분할 영역을 나타냅니다.

    • device 필드는 다음 중 하나일 수 있습니다.

      • /dev/dsk/cwtxdysz 형식의 디스크 장치 이름

      • /dev/md/dsk/dnum 형식의 Solaris 볼륨 관리자 볼륨 이름

      • /dev/md/vxfs/dsk/dnum 형식의 Veritas 볼륨 관리자 볼륨 이름

      • 키워드 merged는 지정된 마운트 지점에 있는 파일 시스템이 부모와 병합될 것임을 나타냄.

    • fs_options 필드는 다음 중 하나일 수 있습니다.

      • ufs, UFS 파일 시스템을 나타냄.

      • vxfs, Veritas 파일 시스템을 나타냄.

      • swap, 스왑 파일 시스템을 나타냄. 스왑 마운트 지점은 –(하이픈)이어야 합니다.

      • 로컬 장치(미러)인 파일 시스템의 경우 여러 가지 키워드로 이 파일 시스템에 적용할 작업을 지정합니다. 이러한 키워드는 논리적 장치를 만들거나 구성을 변경하거나 삭제할 수 있습니다. 해당 키워드에 대한 설명은 RAID-1 볼륨(미러)을 사용하여 부트 환경 만들기을 참조하십시오.

    • zonename은 비전역 영역에 있는 별도의 파일 시스템이 별도의 슬라이스에 배치되도록 지정합니다. 이 옵션은 해당 영역에 있는 별도의 파일 시스템이 /zone1/root/export와 같은 공유 파일 시스템에 있는 경우 사용됩니다. 이 옵션은 해당 영역에 있는 별도의 파일 시스템을 새 슬라이스로 복사하고 이 파일 시스템이 공유되지 않도록 합니다. 별도의 파일 시스템이 zonecfg add fs 명령으로 만들어졌습니다.

    다음 예에서는 newbe라는 새 부트 환경이 만들어집니다. 루트(/) 파일 시스템은 c0t1d0s4에 배치됩니다. 현재 부트 환경의 모든 비전역 영역이 새 부트 환경으로 복사됩니다. zone1이라는 비전역 영역에는 c0t1d0s1에서 별도의 마운트 지점이 지정됩니다.


    주 –

    기본적으로 중요 파일 시스템(root (/), /usr/opt 파일 시스템) 이외의 모든 파일 시스템은 현재 부트 환경과 새 부트 환경 간에 공유됩니다. /export 파일 시스템은 공유 파일 시스템입니다. -m 옵션을 사용하면 비전역 영역의 파일 시스템이 별도의 슬라이스에 배치되고 데이터가 공유되지 않습니다. 이 옵션을 사용하면 zonecfg add fs 명령으로 만들어진 영역 파일 시스템이 부트 환경 간에 공유되지 않습니다. 자세한 내용은 zonecfg(1M)를 참조하십시오.



    # lucreate -n newbe -m /:/dev/dsk/c0t1d0s4:ufs -m /export:/dev/dsk/c0t1d0s1:ufs:zone1
    
  6. 부트 환경을 업그레이드합니다.

    업그레이드하기 위해 사용할 운영 체제 이미지를 네트워크에서 가져옵니다.


    # luupgrade -u -n BE_name -s os_image_path
    
    -u

    부트 환경에서 운영 체제 이미지를 업그레이드합니다.

    -n BE_name

    업그레이드될 부트 환경의 이름을 지정합니다.

    -s os_image_path

    운영 체제 이미지를 포함하는 디렉토리의 경로 이름을 지정합니다.

    이 예에서는 새 부트 환경 newbe가 네트워크 설치 이미지에서 업그레이드됩니다.


    # luupgrade -n newbe -u -s /net/server/export/Solaris_10/combined.solaris_wos
    
  7. (선택 사항) 부트 환경이 부트 가능한지 확인합니다.

    lustatus 명령은 부트 환경 만들기가 완료되었고 부트 가능한지 보고합니다.


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy
    Name               Complete  Now	 OnReboot   Delete	 Status
    ------------------------------------------------------------------------
    c0t1d0s0            yes      yes      yes       no      -
    newbe               yes       no       no       yes     -
  8. 새 부트 환경을 활성화합니다.


    # luactivate BE_name
    

    BE_name은 활성화할 부트 환경의 이름을 지정합니다.


    주 –

    x86 기반 시스템의 경우 luactivate 명령은 처음 부트 환경을 부트할 때 필요합니다. 이후 활성화는 GRUB 메뉴에서 부트 환경을 선택하여 수행할 수 있습니다. 단계별 지침에 대해서는 x86: GRUB 메뉴를 사용하여 부트 환경 활성화를 참조하십시오.


    부트 환경을 성공적으로 활성화하려면 부트 환경이 몇 가지 조건을 충족해야 합니다. 자세한 내용은 부트 환경 활성화를 참조하십시오.

  9. 재부트합니다.


    # init 6
    

    주의 – 주의 –

    init 또는 shutdown 명령만 사용하여 재부트합니다. reboot, halt 또는 uadmin 명령을 사용하면 시스템이 부트 환경을 전환하지 않습니다. 가장 최근의 활성 부트 환경이 다시 부트됩니다.


    부트 환경이 전환되고 이제 새 부트 환경이 현재 부트 환경이 됩니다.

  10. (선택 사항) 다른 부트 환경으로 폴백합니다.

    새 부트 환경을 사용할 수 없거나 다른 부트 환경으로 전환하려면 6 장, 오류 복구: 원래 부트 환경으로 폴백(작업)을 참조하십시오.

비전역 영역이 설치된 시스템 업그레이드(예)

다음 절차에서는 Solaris Live Upgrade로 업그레이드하기 위한 간략한 지침이 예와 함께 제공됩니다.

단계에 대한 자세한 내용은 시스템에 비전역 영역이 설치된 경우 Solaris Live Upgrade로 업그레이드(작업)를 참조하십시오.

시스템에 비전역 영역이 설치된 경우 Solaris Live Upgrade로 업그레이드

다음 예에서는 비전역 영역이 설치된 시스템을 업그레이드하기 위한 단계에 대해 간략하게 설명합니다. 이 예에서는 Solaris 10 릴리스가 실행 중인 시스템에서 lucreate 명령을 사용하여 새 부트 환경을 만듭니다. 이 시스템에는 비전역 영역이 설치되어 있고 공유 파일 시스템 zone1/root/export에 있는 별도의 파일 시스템을 사용하는 비전역 영역이 있습니다. 새 부트 환경은 luupgrade 명령을 사용하여 Solaris 10 8/07 릴리스로 업그레이드됩니다. 업그레이드된 부트 환경은 luactivate 명령을 사용하여 활성화됩니다.


주 –

이 절차는 시스템에서 볼륨 관리자가 실행 중인 것으로 가정합니다. 볼륨 관리자를 사용하여 이동식 매체를 관리하는 방법에 대한 자세한 내용은 System Administration Guide: Devices and File Systems를 참조하십시오.


  1. 필요한 패치를 설치합니다.

    http://sunsolve.sun.com을 참조하여 가장 최근의 업데이트된 패치 목록이 있는지 확인하십시오. SunSolve 웹 사이트에서 정보 문서 72099를 검색합니다. 이 예에서 /net/server/export/patches는 패치 경로입니다.


    # patchadd /net/server/export/patches
    # init 6
    
  2. 현재 부트 환경에서 Solaris Live Upgrade 패키지를 제거합니다.


    # pkgrm SUNWlucfg SUNWluu SUNWlur
    
  3. Solaris DVD 또는 CD를 넣습니다.그런 다음 대상 릴리스에서 대체 Solaris Live Upgrade 패키지를 설치합니다.

    • SPARC 기반 시스템의 경우:


      # pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
      
    • x86 기반 시스템의 경우:


      # pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
      
  4. 부트 환경을 만듭니다.

    다음 예에서는 newbe라는 새 부트 환경이 만들어집니다. 루트(/) 파일 시스템은 c0t1d0s4에 배치됩니다. 현재 부트 환경의 모든 비전역 영역이 새 부트 환경으로 복사됩니다. zone1에 대한 별도의 파일 시스템이 zonecfg add fs 명령으로 만들어졌습니다. 이 별도의 파일 시스템 /zone/root/export는 별도의 파일 시스템 c0t1d0s1에 배치됩니다. 이 옵션을 사용하면 별도의 파일 시스템이 현재 부트 환경과 새 부트 환경 간에 공유되지 않습니다.


    # lucreate -n newbe -m /:/dev/dsk/c0t1d0s4:ufs -m /export:/dev/dsk/c0t1d0s1:ufs:zone1
    
  5. 새 부트 환경을 업그레이드합니다.

    이 예에서 /net/server/export/Solaris_10/combined.solaris_wos는 네트워크 설치 이미지의 경로입니다.


    # luupgrade -n newbe -u -s  /net/server/export/Solaris_10/combined.solaris_wos
    
  6. (선택 사항) 부트 환경이 부트 가능한지 확인합니다.

    lustatus 명령은 부트 환경 만들기의 완료 여부를 보고합니다.


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy
    Name               Complete  Now	 OnReboot   Delete	 Status
    ------------------------------------------------------------------------
    c0t1d0s0            yes      yes      yes       no           -
    newbe               yes       no       no       yes          -
  7. 새 부트 환경을 활성화합니다.


    # luactivate newbe
    # init 6
    

    이제 부트 환경 newbe가 활성화됩니다.

  8. (선택 사항) 다른 부트 환경으로 폴백합니다.새 부트 환경을 사용할 수 없거나 다른 부트 환경으로 전환하려면 6 장, 오류 복구: 원래 부트 환경으로 폴백(작업)을 참조하십시오.

비전역 영역이 포함된 부트 환경 관리

다음 절에서는 비전역 영역이 포함된 부트 환경을 관리하는 방법에 대해 설명합니다.

Procedure부트 환경의 비전역 영역 파일 시스템의 구성 보기

이 절차에서는 전역 영역과 비전역 영역 모두의 파일 시스템 목록을 표시합니다.

  1. 수퍼유저 또는 동등한 역할의 사용자로 로그인합니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security ServicesConfiguring RBAC (Task Map)를 참조하십시오.

  2. 파일 시스템의 목록을 표시합니다.


    # lufslist -n BE_name
    
    BE_name

    파일 시스템 세부 사항을 보고자 하는 부트 환경의 이름을 지정합니다.


예 9–1 비전역 영역이 있는 파일 시스템 나열

다음 예에서는 비전역 영역이 포함된 파일 시스템의 목록을 표시합니다.


# lufslist -n s3
boot environment name: s3
This boot environent is currently active.
This boot environment will be active on next system boot.

Filesystem              fstype    device size Mounted on Mount Options
------------------------------------------------------------------
/dev/dsk/c0t0d0s1         swap     2151776256   -        -
/dev/dsk/c0t0d0s3         ufs     10738040832   /        -
/dev/dsk/c0t0d0s7         ufs     10487955456   /export  -
                zone <zone1> within boot environment <s3>
/dev/dsk/c0t0d0s5         ufs      5116329984   /export  -

Procedure비전역 영역이 설치된 시스템의 부트 환경 비교

이제 lucompare 명령은 비전역 영역의 내용이 포함된 부트 환경의 비교를 생성합니다.

  1. 수퍼유저 또는 동등한 역할의 사용자로 로그인합니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security ServicesConfiguring RBAC (Task Map)를 참조하십시오.

  2. 현재 부트 환경과 새 부트 환경을 비교합니다.


    # /usr/sbin/lucompare -i  infile (or) -t -o  outfile BE_name
    
    -i  infile

    infile에 나열된 파일들을 비교합니다. 비교할 파일의 이름은 절대 이름이어야 합니다. 파일의 항목이 디렉토리인 경우 비교가 디렉토리까지 반복됩니다. 이 옵션 또는 -t를 사용해야 하며 동시에 둘 다 사용할 수는 없습니다.

    -t

    바이너리 파일이 아닌 파일만 비교합니다. 이 비교는 각 파일에 대해 file(1) 명령을 사용하여해당 파일이 텍스트 파일인지 확인합니다. 이 옵션 또는 -i를 사용해야 하며 동시에 둘 다 사용할 수는 없습니다.

    -o  outfile

    차이점의 출력을 outfile로 리디렉션합니다.

    BE_name

    활성 부트 환경과 비교할 부트 환경의 이름을 지정합니다.


예 9–2 부트 환경 비교

이 예에서는 현재 부트 환경(소스)을 second_disk 부트 환경과 비교하고 그 결과를 파일로 보냅니다.


# /usr/sbin/lucompare -i  /etc/lu/compare/ -o /var/tmp/compare.out second_disk

비전역 영역이 포함된 시스템에서 lumount 명령 사용

lumount 명령은 비활성 부트 환경에 있는 해당 파일 시스템에 대한 액세스 권한을 비전역 영역에 제공합니다. 전역 영역 관리자가 lumount 명령을 사용하여 비활성 부트 환경을 마운트하면 부트 환경이 비전역 영역에도 마운트됩니다.

다음 예에서는 해당 파일 시스템이 전역 영역에 있는 /mnt에서 부트 환경 newbe에 마운트됩니다. 실행 중이거나 마운트되었거나, 준비된 비전역 영역의 경우 newbe 내의 해당 파일 시스템도 각 영역 내의 /mnt에서 사용할 수 있게 됩니다.


# lumount -n newbe /mnt

마운트에 대한 자세한 내용은 lumount(1M) 매뉴얼 페이지를 참조하십시오.