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

13장 ZFS 루트 풀의 부트 환경 만들기

이 장에서는 Solaris Live Upgrade를 사용할 때 ZFS 부트 환경을 만드는 방법에 대한 단계별 절차에 대해 설명합니다.


주 –

UFS 파일 시스템에서 ZFS 루트 풀로의 마이그레이션이나 Solaris Live Upgrade를 사용한 ZFS 부트 환경 만들기는 Solaris 10 10/08 릴리스의 새로운 기능입니다. Solaris Live Upgrade를 UFS 파일 시스템이 있는 시스템에서 사용하려면 이 설명서의 제1부, Solaris Live Upgrade로 업그레이드를 참조하십시오.


이 장에서는 다음 작업의 절차에 대해 설명합니다.

비전역 영역이 설치되어 있는 경우 ZFS를 사용하는 절차는 14 장비전역 영역이 설치된 ZFS용 Solaris Live Upgrade를 참조하십시오.

UFS 파일 시스템을 ZFS 파일 시스템으로 마이그레이션

이 절차에서는 UFS 파일 시스템을 ZFS 파일 시스템으로 마이그레이션하는 방법에 대해 설명합니다. 부트 환경을 만들면 중요 파일 시스템을 활성 UFS 부트 환경에서 ZFS 루트 풀로 복사하는 방법이 제공됩니다. lucreate 명령은 중요 파일 시스템을 기존 ZFS 루트 풀에 있는 새 부트 환경으로 복사합니다. 사용자 정의(공유 가능) 파일 시스템은 복사되지 않으며 소스 UFS 부트 환경과 공유되지도 않습니다. 또한 /swap은 UFS 파일 시스템과 ZFS 루트 풀 사이에 공유되지 않습니다. 중요한 파일 시스템과 공유 가능한 파일 시스템에 대한 개요는 파일 시스템 유형을 참조하십시오.

ProcedureUFS 파일 시스템에서 ZFS 파일 시스템으로 마이그레이션하는 방법


주 –

활성 UFS 루트(/) 파일 시스템을 ZFS 루트 풀로 마이그레이션하려면 루트 풀 이름을 제공해야 합니다. 중요 파일 시스템은 루트 풀로 복사됩니다.


  1. Solaris Live Upgrade를 처음으로 실행하기 전에 설치 매체에서 최신 Solaris Live Upgrade 패키지를 설치하고 SunSolve 정보 설명서 206844에 나열된 패치를 설치해야 합니다. SunSolve 웹 사이트에서 정보 설명서 206844(이전의 72099)를 검색합니다.

    최신 패키지 및 패치를 설치하면 릴리스에 모든 최신 버그 수정과 새로운 기능이 포함됩니다. 새 부트 환경 만들기를 진행하기 전에 시스템과 관련된 모든 패치를 설치해야 합니다.

    다음 하위 단계에서는 SunSolve 정보 설명서 206844에 나오는 단계에 대해 설명합니다.


    주 –

    Solaris Live Upgrade를 사용하여 새 ZFS 부트 환경을 만들려면 최소 Solaris 10 10/08 릴리스가 설치되어 있어야 합니다. 이전 릴리스에는 작업을 수행할 수 있는 ZFS 및 Solaris Live Upgrade 소프트웨어가 없습니다.


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

    2. Solaris Live Upgrade 패키지를 제거하거나 추가하려면 SunSolve 웹 사이트에서 제공되는 정보 설명서 206844의 지침을 따르십시오.

      세 개의 Solaris Live Upgrade 패키지 SUNWluu, SUNWlur SUNWlucfg는 Solaris Live Upgrade를 사용한 업그레이드에 필요한 소프트웨어를 구성합니다. 이들 패키지는 기존 소프트웨어, 새 기능, 버그 수정 등을 포함합니다. 기존 패키지를 제거하지 않고 Solaris Live Upgrade를 사용하기 전에 시스템에 새 패키지를 설치한 경우에는 대상 릴리스로의 업그레이드가 실패합니다. SUMWlucfg 패키지는 Solaris 10 8/07 릴리스부터 지원되는 새로운 기능입니다. Solaris 10 8/07 이전 릴리스의 Solaris Live Upgrade 패키지를 사용하는 경우에는 이 패키지를 제거하지 않아도 됩니다.


      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    3. 업그레이드 중인 릴리스에서 새 Solaris Live Upgrade 패키지를 설치합니다. 자세한 내용은 Solaris Live Upgrade 설치를 참조하십시오.

    4. Solaris Live Upgrade를 실행하기 전에 다음 패치를 설치해야 합니다. 이러한 패치에서는 최신 버그 수정과 릴리스의 새로운 기능을 설치합니다.

      SunSolve을 참조하여 가장 최근에 업데이트된 패치 목록이 있는지 확인합니다. SunSolve 웹 사이트에서 정보 설명서 206844(이전의 72099)를 검색합니다.

      • 패치를 로컬 디스크에 저장하려는 경우에는 /var/tmp/lupatches와 같은 디렉토리를 만들고 해당 디렉토리로 패치를 다운로드합니다.

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

      • 패치 디렉토리로 변경합니다.


        # cd /var/tmp/lupatches
        
      • patchadd 명령을 사용하여 패치를 설치합니다.


        # patchadd patch_id
        

        patch_id는 패치 번호입니다. 공백을 사용하여 여러 패치 이름을 구분합니다.


        주 –

        패치는 정보 설명서 206844에서 지정한 순서대로 적용해야 합니다.


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

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


        # init 6
        

        이제 성공적으로 마이그레이션하는 데 필요한 패키지 및 패치가 설치되었습니다.

  2. ZFS 루트 풀을 만듭니다.

    ZFS 루트 풀은 부트 가능하고 업그레이드 가능하도록 단일 슬라이스에 있어야 합니다.


    # zpool create rpool  c0t1d0s5
    
    rpool

    만들려는 새 ZFS 루트 풀 이름을 지정합니다.

    c0t1d0s5

    디스크 슬라이스 c0t1d0s5에 새 루트 풀을 만듭니다.

    새 루트 풀을 만드는 방법에 대한 자세한 내용은 Solaris ZFS Administration Guide를 참조하십시오.

  3. UFS 루트(/) 파일 시스템을 새 ZFS 루트 풀로 마이그레이션합니다.


    # lucreate [-c ufsBE] -n new-zfsBE -p rpool
    
    -c ufsBE

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

    -n new-zfsBE

    이름 new-zfsBE를 만들려는 부트 환경에 할당합니다. 이름은 시스템에서 고유해야 합니다.

    -p rpool

    새로 만든 ZFS 루트(/) 파일 시스템을 rpool에 정의된 ZFS 루트 풀에 배치합니다.

    새 ZFS 부트 환경을 만들 때 약간 시간이 걸릴 수도 있습니다. UFS 파일 시스템 데이터는 ZFS 루트 풀로 복사됩니다. 비활성 부트 환경이 만들어지면 luupgrade 또는 luactivate 명령을 사용하여 새 ZFS 부트 환경을 업그레이드하거나 활성화할 수 있습니다.

  4. (선택 사항) 부트 환경이 완전한지 확인합니다.

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


    # lustatus
    boot environment   Is         Active   Active     Can	    Copy 
    Name               Complete   Now	  OnReboot   Delete	 Status 
    -----------------------------------------------------------------
    ufsBE               yes       yes      yes        no         -
    new-zfsBE           yes       no       no        yes         -
  5. (선택 사항) 시스템에서 기본 데이터 세트 정보를 확인합니다.

    list 명령은 시스템에 모든 데이터 집합 이름을 표시합니다. 이 예에서 rpool은 ZFS 풀 이름이고, new-zfsBE는 새로 만든 ZFS 부트 환경 이름입니다.


    # zfs list
    NAME                        USED  AVAIL  REFER  MOUNTPOINT 
    rpool                      9.29G  57.6G    20K  /rpool
    rpool/ROOT                 5.38G  57.6G    18K  /rpool/ROOT
    rpool/ROOT/new-zfsBE       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
    rpool/dump                 1.95G      -  1.95G  - 
    rpool/swap                 1.95G      -  1.95G  - 

    새 부트 환경에 대해 나열된 마운트 지점은 luactivate 명령이 실행될 때까지 임시로 사용됩니다. /dump/swap 볼륨은 원래의 UFS 부트 환경과 공유되지 않지만 ZFS 루트 풀과 루트 풀에 있는 부트 환경 내에서는 공유됩니다.

    이제 새 부트 환경을 업그레이드하고 활성화할 수 있습니다. 예 13–1을 참조하십시오.


예 13–1 UFS 루트(/) 파일 시스템을 ZFS 루트 풀로 마이그레이션

이 예에서 새 ZFS 루트 풀인 rpool은 별도의 슬라이스 C0t0d0s4에서 만들어집니다. lucreate 명령은 현재 실행 중인 UFS 부트 환경 c0t0d0을 새 ZFS 부트 환경 new-zfsBE로 마이그레이션하고 새 부트 환경을 rpool에 배치합니다.


# zpool create rpool C0t0d0s4

# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool
# lucreate -c c0t0d0 -n new-zfsBE -p rpool
Analyzing system configuration.
Current boot environment is named <c0t0d0>.
Creating initial configuration for primary boot environment <c0t0d0>.
The device </dev/dsk/c0t0d0> is not a root device for any boot 
environment; cannot get BE ID.
PBE configuration successful: PBE name <c0t0d0> PBE Boot Device 
</dev/dsk/c0t0d0>.
Comparing source boot environment <c0t0d0> file systems with the file 
system(s) you specified for the new boot environment. Determining which 
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
The device </dev/dsk/c1t0d0s0> is not a root device for any boot 
environment; cannot get BE ID.
Creating configuration for boot environment <new-zfsBE>.
Source boot environment is <c0t0d0>.
Creating boot environment <new-zfsBE>.
Creating file systems on boot environment <new-zfsBE>.
Creating <zfs> file system for </> in zone <global> on 
<rpool/ROOT/new-zfsBE>.
Populating file systems on boot environment <new-zfsBE>.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point </>.
Copying.
Creating shared file system mount points.
Creating compare databases for boot environment <zfsBE>.
Creating compare database for file system </>.
Making boot environment <zfsBE> bootable.
Creating boot_archive for /.alt.tmp.b-cBc.mnt
updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive
Population of boot environment <new-zfsBE> successful.
Creation of boot environment <new-zfsBE> successful.

# lustatus
boot environment   Is         Active   Active     Can	    Copy 
Name               Complete   Now	  OnReboot   Delete	 Status 
------------------------------------------------------------------------ 
c0t0d0             yes       yes      yes        no         - 
new-zfsBE           yes       no       no        yes       -

# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool
rpool/ROOT                 5.38G  57.6G    18K  /rpool/ROOT
rpool/ROOT/zfsBE           5.38G  57.6G   551M  
rpool/ROOT/new-zfsBE       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
rpool/dump                 1.95G      -  1.95G  - 
rpool/swap                 1.95G      -  1.95G  - 

이제 새 부트 환경을 업그레이드하거나 활성화할 수 있습니다.

이 예에서 새 부트 환경은 -s 옵션으로 지정된 위치에 저장된 이미지에서 luupgrade 명령을 사용하여 업그레이드됩니다.


# luupgrade -n zfsBE -u -s /net/install/export/s10/combined.s10
 51135 blocks 
miniroot filesystem is <lofs>
Mounting miniroot at 
</net/install/export/solaris_10/combined.solaris_10_wos
/Solaris_10/Tools/Boot> 
Validating the contents of the media 
</net/install/export/s10/combined.s10>. 
The media is a standard Solaris media. 
The media contains an operating system upgrade image. 
The media contains Solaris version <10_1008>. 
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 <zfsBE>. 
Determining packages to install or upgrade for BE <zfsBE>. 
Performing the operating system upgrade of the BE <zfsBE>. 
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. 
Adding operating system patches to the BE <zfsBE>. 
The operating system patch installation is complete. 
INFORMATION: The file /var/sadm/system/logs/upgrade_log on boot 
environment <zfsBE> contains a log of the upgrade operation. 
INFORMATION: The file var/sadm/system/data/upgrade_cleanup on boot 
environment <zfsBE> contains a log of cleanup operations required. 
INFORMATION: Review the files listed above. Remember that all 
of the files are located on boot environment <zfsBE>. 
Before you activate boot environment <zfsBE>, 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 <zfsBE> is complete.

새 부트 환경을 만든 후에는 언제든지 활성화할 수 있습니다.


# luactivate new-zfsBE
**********************************************************************

The target boot environment has been activated. It will be used when you 
reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You 
MUST USE either the init or the shutdown command when you reboot. If you 
do not use either init or shutdown, the system will not boot using the 
target BE.

**********************************************************************
In case of a failure while booting to the target BE, the following process 
needs to be followed to fallback to the currently working boot environment:

1. Enter the PROM monitor (ok prompt).

2. Change the boot device back to the original boot environment by typing:

     setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a

3. Boot to the original boot environment by typing:

     boot

**********************************************************************

Modifying boot archive service
Activation of boot environment <new-zfsBE> successful.

ZFS 부트 환경으로 시스템을 재부트합니다.


# init 6
# svc.startd: The system is coming down.  Please wait.
svc.startd: 79 system services are now being stopped.
.
.
.

ZFS 저장소 풀은 UFS 부트 환경에서 자동으로 사용할 수 없으므로 UFS 부트 환경으로 폴백하면 ZFS 부트 환경에서 만들었던 ZFS 저장소 풀을 다시 가져와야 합니다. UFS 부트 환경으로 다시 전환하는 경우 다음 예와 유사한 메시지가 표시될 수 있습니다.


# luactivate c0t0d0
WARNING: The following files have changed on both the current boot 
environment <new-zfsBE> zone <global> and the boot environment 
to be activated <c0t0d0>:
 /etc/zfs/zpool.cache
INFORMATION: The files listed above are in conflict between the current 
boot environment <zfsBE> zone <global> and the boot environment to be 
activated <c0t0d0>. These files will not be automatically synchronized 
from the current boot environment <new-zfsBE> when boot environment <c0t0d0>

동일한 ZFS 루트 풀 내에 부트 환경 만들기

기존 ZFS 루트 풀이 있으며 해당 풀 내에서 새 ZFS 부트 환경을 만들려는 경우 다음 절차에서 제공하는 해당 단계를 참조하십시오. 비활성 부트 환경을 만든 후에는 편리한 시간에 새 부트 환경을 업그레이드하고 활성화할 수 있습니다. 동일한 풀 내에 부트 환경을 만드는 경우에는 -p 옵션이 필요 없습니다.

Procedure동일한 ZFS 루트 풀 내에서 ZFS 부트 환경을 만드는 방법

  1. Solaris Live Upgrade를 처음으로 실행하기 전에 설치 매체에서 최신 Solaris Live Upgrade 패키지를 설치하고 SunSolve 정보 설명서 206844에 나열된 패치를 설치해야 합니다. SunSolve 웹 사이트에서 정보 설명서 206844(이전의 72099)를 검색합니다.

    최신 패키지 및 패치를 설치하면 릴리스에 모든 최신 버그 수정과 새로운 기능이 포함됩니다. 새 부트 환경 만들기를 진행하기 전에 시스템과 관련된 모든 패치를 설치해야 합니다.

    다음 하위 단계에서는 SunSolve 정보 설명서 206844에 나오는 단계에 대해 설명합니다.


    주 –

    Solaris Live Upgrade를 사용하여 새 ZFS 부트 환경을 만들려면 최소 Solaris 10 10/08 릴리스가 설치되어 있어야 합니다. 이전 릴리스에는 작업을 수행할 수 있는 ZFS 및 Solaris Live Upgrade 소프트웨어가 없습니다.


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

    2. Solaris Live Upgrade 패키지를 제거하거나 추가하려면 SunSolve 웹 사이트에서 제공되는 정보 설명서 206844의 지침을 따르십시오.

      세 개의 Solaris Live Upgrade 패키지 SUNWluu, SUNWlur SUNWlucfg는 Solaris Live Upgrade를 사용한 업그레이드에 필요한 소프트웨어를 구성합니다. 이들 패키지는 기존 소프트웨어, 새 기능, 버그 수정 등을 포함합니다. 기존 패키지를 제거하지 않고 Solaris Live Upgrade를 사용하기 전에 시스템에 새 패키지를 설치한 경우에는 대상 릴리스로의 업그레이드가 실패합니다. SUMWlucfg 패키지는 Solaris 10 8/07 릴리스부터 지원되는 새로운 기능입니다. Solaris 10 8/07 이전 릴리스의 Solaris Live Upgrade 패키지를 사용하는 경우에는 이 패키지를 제거하지 않아도 됩니다.


      주 –

      SUMWlucfg 패키지는 Solaris 10 8/07 릴리스부터 지원되는 새로운 기능입니다. 이전 릴리스의 Solaris Live Upgrade 패키지를 사용하는 경우에는 이 패키지를 제거하지 않아도 됩니다.



      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    3. 새 Solaris Live Upgrade 패키지를 설치합니다. 자세한 내용은 Solaris Live Upgrade 설치를 참조하십시오.

    4. Solaris Live Upgrade를 실행하기 전에 다음 패치를 설치해야 합니다. 이러한 패치에서는 최신 버그 수정과 릴리스의 새로운 기능을 설치합니다.

      SunSolve을 참조하여 가장 최근에 업데이트된 패치 목록이 있는지 확인합니다. SunSolve 웹 사이트에서 정보 설명서 206844(이전의 72099)를 검색합니다.

      • 패치를 로컬 디스크에 저장하려는 경우에는 /var/tmp/lupatches와 같은 디렉토리를 만들고 해당 디렉토리로 패치를 다운로드합니다.

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

      • 이 예에서처럼 패치 디렉토리를 변경합니다.


        # cd /var/tmp/lupatches
        
      • patchadd 명령을 사용하여 패치를 설치합니다.


        # patchadd -M path-to-patches patch_id patch_id
        

        path-to-patches는 패치 디렉토리의 경로(예: /var/tmp/lupatches)입니다. patch_id는 패치 번호입니다. 공백을 사용하여 여러 패치 이름을 구분합니다.


        주 –

        패치는 정보 설명서 206844에서 지정한 순서대로 적용해야 합니다.


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

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


        # init 6
        

        이제 새 부트 환경을 성공적으로 만드는 데 필요한 패키지 및 패치가 설치되었습니다.

  2. 새 부트 환경을 만듭니다.


    # lucreate [-c zfsBE] -n new-zfsBE
    
    -c zfsBE

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

    -n new-zfsBE

    만들려는 부트 환경에 이름을 할당합니다. 이름은 시스템에서 고유해야 합니다.

    새 부트 환경은 거의 즉시 만들어집니다. 현재 ZFS 루트 풀에 있는 각 데이터 세트의 스냅샷이 만들어지며, 클론이 각 스냅샷에서 만들어집니다. 스냅샷은 디스크 공간 측면에서 매우 효율적이며, 이 프로세스에서는 최소의 디스크 공간이 사용됩니다. 비활성 부트 환경이 만들어지면 luupgrade 또는 luactivate 명령을 사용하여 새 ZFS 부트 환경을 업그레이드하거나 활성화할 수 있습니다.

  3. (선택 사항) 부트 환경이 완전한지 확인합니다.

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


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy 
    Name               Complete  Now	 OnReboot   Delete	 Status 
    ------------------------------------------------------------------------ 
    zfsBE               yes       yes     yes         no             -
    new-zfsBE           yes       no      no          yes            -
  4. (선택 사항) 시스템에서 기본 데이터 세트 정보를 확인합니다.

    이 예에서 ZFS 루트 풀은 rpool로 이름이 지정되며 @ 기호는 스냅샷을 나타냅니다. 새 부트 환경의 마운트 지점은 luactivate 명령이 실행될 때까지 임시로 사용됩니다. /dump/swap 볼륨은 ZFS 루트 풀과 루트 풀에 있는 부트 환경과 공유됩니다.


    # zfs list
    NAME                                      USED  AVAIL  REFER  MOUNTPOINT 
    rpool                                    9.29G  57.6G    20K  /rpool 
    rpool/ROOT                               5.38G  57.6G    18K  /rpool/ROOT 
    rpool/ROOT/zfsBE                         5.38G  57.6G   551M  
    rpool/ROOT/zfsBE@new-zfsBE               66.5K      -   551M  -
    rpool/ROOT/new-zfsBE                     85.5K  57.6G   551M  /tmp/.alt.103197
    rpool/dump                               1.95G      -  1.95G  - 
    rpool/swap                               1.95G      -  1.95G  - 

    이제 새 부트 환경을 업그레이드하고 활성화할 수 있습니다. 예 13–2를 참조하십시오.


예 13–2 동일한 ZFS 루트 풀 내에 부트 환경 만들기

다음 명령은 새 ZFS 부트 환경 new-zfsBE를 만듭니다. 부트 환경이 동일한 루트 풀 내에 만들어지므로 -p 옵션이 필요 없습니다.


# lucreate [-c zfsBE] -n new-zfsBE
Analyzing system configuration.
Comparing source boot environment <zfsBE> file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Creating configuration for boot environment new-zfsBE.
Source boot environment is zfsBE.
Creating boot environment new-zfsBE.
Cloning file systems from boot environment zfsBE to create 
boot environment new-zfsBE.
Creating snapshot for <rpool> on <rpool> Creating clone for <rpool>. 
Setting canmount=noauto for <rpool> in zone <global> on <rpool>. 
Population of boot environment zfsBE successful on <rpool>.
# lustatus
boot environment   Is        Active  Active     Can	    Copy 
Name               Complete  Now	   OnReboot   Delete	 Status 
------------------------------------------------------------------------ 
zfsBE               yes       yes     yes         no          - 
new-zfsBE           yes       no      no          yes         -
# zfs list
NAME                                      USED  AVAIL  REFER  MOUNTPOINT 
rpool                                    9.29G  57.6G    20K  /rpool 
rpool/ROOT                               5.38G  57.6G    18K  /rpool/ROOT 
rpool/ROOT/zfsBE                         5.38G  57.6G   551M  
rpool/ROOT/zfsBE@new-zfsBE               66.5K      -   551M  - 
rpool/ROOT/new-zfsBE                     85.5K  57.6G   551M  /tmp/.alt.103197 
rpool/dump                               1.95G      -  1.95G  - 
rpool/swap                               1.95G      -  1.95G  - 

이제 새 부트 환경을 업그레이드하고 활성화할 수 있습니다. ZFS 부트 환경의 업그레이드에 대한 예는 예 13–1을 참조하십시오. luupgrade 명령 사용에 대한 예는 5 장Solaris Live Upgrade를 통해 업그레이드(작업)를 참조하십시오.


# luactivate new-zfsBE
**********************************************************************

The target boot environment has been activated. It will be used when you 
reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You 
MUST USE either the init or the shutdown command when you reboot. If you 
do not use either init or shutdown, the system will not boot using the 
target BE.

**********************************************************************
In case of a failure while booting to the target BE, the following process 
needs to be followed to fallback to the currently working boot environment:

1. Enter the PROM monitor (ok prompt).

2. Change the boot device back to the original boot environment by typing:

     setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a

3. Boot to the original boot environment by typing:

     boot

**********************************************************************

Modifying boot archive service
Activation of boot environment <new-zfsBE> successful.

ZFS 부트 환경으로 시스템을 재부트합니다.


# init 6
# svc.startd: The system is coming down.  Please wait.
svc.startd: 79 system services are now being stopped.
.
.
.

새 루트 풀에 부트 환경 만들기

기존 ZFS 루트 풀이 있지만 새 루트 풀에서 새 ZFS 부트 환경을 만들려는 경우 다음 절차에서 제공하는 해당 단계를 참조하십시오. 비활성 부트 환경을 만든 후에는 편리한 시간에 새 부트 환경을 업그레이드하고 활성화할 수 있습니다. 새 부트 환경을 배치하는 위치를 참조하려면 -p 옵션이 필요합니다. 기존 ZFS 루트 풀이 있어야 하며, 부트 가능하고 업그레이드 가능하도록 개별 슬라이스에 있어야 합니다.

Procedure새 ZFS 루트 풀에 부트 환경을 만드는 방법

  1. Solaris Live Upgrade를 처음으로 실행하기 전에 설치 매체에서 최신 Solaris Live Upgrade 패키지를 설치하고 SunSolve 정보 설명서 206844에 나열된 패치를 설치해야 합니다. SunSolve 웹 사이트에서 정보 설명서 206844(이전의 72099)를 검색합니다.

    최신 패키지 및 패치를 설치하면 릴리스에 모든 최신 버그 수정과 새로운 기능이 포함됩니다. 새 부트 환경 만들기를 진행하기 전에 시스템과 관련된 모든 패치를 설치해야 합니다.

    다음 하위 단계에서는 SunSolve 정보 설명서 206844에 나오는 단계에 대해 설명합니다.


    주 –

    Solaris Live Upgrade를 사용하여 새 ZFS 부트 환경을 만들려면 최소 Solaris 10 10/08 릴리스가 설치되어 있어야 합니다. 이전 릴리스에는 작업을 수행할 수 있는 ZFS 및 Solaris Live Upgrade 소프트웨어가 없습니다.


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

    2. Solaris Live Upgrade 패키지를 제거하거나 추가하려면 SunSolve 웹 사이트에서 제공되는 정보 설명서 206844의 지침을 따르십시오.

      세 개의 Solaris Live Upgrade 패키지 SUNWluu, SUNWlur SUNWlucfg는 Solaris Live Upgrade를 사용한 업그레이드에 필요한 소프트웨어를 구성합니다. 이들 패키지는 기존 소프트웨어, 새 기능, 버그 수정 등을 포함합니다. 기존 패키지를 제거하지 않고 Solaris Live Upgrade를 사용하기 전에 시스템에 새 패키지를 설치한 경우에는 대상 릴리스로의 업그레이드가 실패합니다. SUMWlucfg 패키지는 Solaris 10 8/07 릴리스부터 지원되는 새로운 기능입니다. Solaris 10 8/07 이전 릴리스의 Solaris Live Upgrade 패키지를 사용하는 경우에는 이 패키지를 제거하지 않아도 됩니다.


      주 –

      SUMWlucfg 패키지는 Solaris 10 8/07 릴리스부터 지원되는 새로운 기능입니다. 이전 릴리스의 Solaris Live Upgrade 패키지를 사용하는 경우에는 이 패키지를 제거하지 않아도 됩니다.



      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    3. 새 Solaris Live Upgrade 패키지를 설치합니다. 자세한 내용은 Solaris Live Upgrade 설치를 참조하십시오.

    4. Solaris Live Upgrade를 실행하기 전에 다음 패치를 설치해야 합니다. 이러한 패치에서는 최신 버그 수정과 릴리스의 새로운 기능을 설치합니다.

      SunSolve을 참조하여 가장 최근에 업데이트된 패치 목록이 있는지 확인합니다. SunSolve 웹 사이트에서 정보 설명서 206844(이전의 72099)를 검색합니다.

      • 패치를 로컬 디스크에 저장하려는 경우에는 /var/tmp/lupatches와 같은 디렉토리를 만들고 해당 디렉토리로 패치를 다운로드합니다.

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

      • 이 예에서처럼 패치 디렉토리를 변경합니다.


        # cd /var/tmp/lupatches
        
      • patchadd 명령을 사용하여 패치를 설치합니다.


        # patchadd -M path-to-patches patch_id patch_id
        

        path-to-patches는 패치 디렉토리의 경로(예: /var/tmp/lupatches)입니다. patch_id는 패치 번호입니다. 공백을 사용하여 여러 패치 이름을 구분합니다.


        주 –

        패치는 정보 설명서 206844에서 지정한 순서대로 적용해야 합니다.


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

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


        # init 6
        

        이제 성공적으로 마이그레이션하는 데 필요한 패키지 및 패치가 설치되었습니다.

  2. ZFS 루트 풀을 만듭니다.

    ZFS 루트 풀은 부트 가능하고 업그레이드 가능하도록 단일 슬라이스에 있어야 합니다.


    # zpool create rpool2 c0t1d0s5
    
    rpool2

    새 ZFS 루트 풀의 이름입니다.

    c0t1d0s5

    부트 가능 슬라이스 c0t1d0s5rpool2를 배치하도록 지정합니다.

    새 루트 풀을 만드는 방법에 대한 자세한 내용은 Solaris ZFS Administration Guide를 참조하십시오.

  3. 새 부트 환경을 만듭니다.


    # lucreate [-c zfsBE] -n new-zfsBE -p rpool2
    
    -c zfsBE

    이름 zfsBE를 현재 ZFS 부트 환경에 할당합니다.

    -n new-zfsBE

    만들려는 부트 환경에 이름을 할당합니다. 이름은 시스템에서 고유해야 합니다.

    -p rpool2

    새로 만든 ZFS 루트 부트 환경을 rpool2에 정의된 ZFS 루트 풀에 배치합니다.

    새 ZFS 부트 환경을 만들 때 약간 시간이 걸릴 수도 있습니다. 파일 시스템 데이터는 새 ZFS 루트 풀로 복사됩니다. 비활성 부트 환경이 만들어지면 luupgrade 또는 luactivate 명령을 사용하여 새 ZFS 부트 환경을 업그레이드하거나 활성화할 수 있습니다.

  4. (선택 사항) 부트 환경이 완전한지 확인합니다.

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


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy 
    Name               Complete  Now	 OnReboot   Delete	 Status 
    ------------------------------------------------------------------------ 
    zfsBE                       yes      yes     yes        no        - 
    new-zfsBE                   yes      no      no         yes        -
  5. (선택 사항) 시스템에서 기본 데이터 세트 정보를 확인합니다.

    다음 예에서는 시스템에 모든 데이터 세트 이름을 표시합니다. 새 부트 환경에 대해 나열된 마운트 지점은 luactivate 명령이 실행될 때까지 임시로 사용됩니다. 새 부트 환경은 볼륨 rpool2/dumprpool2/swaprpool2 ZFS 부트 환경과 공유합니다.


    # zfs list
    NAME                             USED    AVAIL   REFER   MOUNTPOINT 
    rpool2                           9.29G    57.6G     20K   /rpool2 
    rpool2/ROOT/                     5.38G    57.6G     18K   /rpool2/ROOT 
    rpool2/ROOT/new-zfsBE            5.38G    57.6G    551M  /tmp/.new.luupdall.109859
    rpool2/dump                      3.99G        -   3.99G   - 
    rpool2/swap                      3.99G        -   3.99G   - 
    rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
    rpool/ROOT                       5.46G    57.6G     18K   legacy
    rpool/ROOT/zfsBE                 5.46G    57.6G    551M  
    rpool/dump                       3.99G        -   3.99G   - 
    rpool/swap                       3.99G        -   3.99G   - 

    이제 새 부트 환경을 업그레이드하고 활성화할 수 있습니다. 예 13–3을 참조하십시오.


예 13–3 새 루트 풀에 부트 환경 만들기

이 예에서 새 ZFS 루트 풀인 rpool은 별도의 슬라이스 C0t2d0s5에서 만들어집니다. lucreate 명령은 새 ZFS 부트 환경 new-zfsBE를 만듭니다. 부트 환경이 서로 다른 루트 풀 내에 만들어지므로 -p 옵션이 필요합니다.


# zpool create rpool C0t1d0s5
# zfs list
NAME                             USED    AVAIL   REFER   MOUNTPOINT 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT					             5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G    551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   - 

# lucreate -c rpool -n new-zfsBE -p rpool2
Analyzing system configuration.
Current boot environment is named <rpool>.
Creating initial configuration for primary boot environment <rpool>.
The device </dev/dsk/c0t0d0> is not a root device for any 
boot environment; cannot get BE ID.
PBE configuration successful: PBE name <rpool> PBE Boot 
Device </dev/dsk/rpool>.
Comparing source boot environment <rpool> file systems with 
the file system(s) you specified for the new boot environment. 
Determining which file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
The device </dev/dsk/c1t0d0s0> is not a root device for any 
boot environment; cannot get BE ID.
Creating configuration for boot environment <new-zfsBE>.
Source boot environment is <rpool>.
Creating boot environment <new-zfsBE>.
Creating file systems on boot environment <new-zfsBE>.
Creating <zfs> file system for </> in zone <global> on 
<rpool2/ROOT/new-zfsBE>.
Populating file systems on boot environment <new-zfsBE>.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point </>.
Copying.
Creating shared file system mount points.
Creating compare databases for boot environment <zfsBE>.
Creating compare database for file system </>.
Making boot environment <new-zfsBE> bootable.
Creating boot_archive for /.alt.tmp.b-cBc.mnt
updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive
Population of boot environment <new-zfsBE> successful.
Creation of boot environment <new-zfsBE> successful.

# lustatus
boot environment   Is        Active  Active     Can	    Copy 
Name               Complete  Now	OnReboot   Delete	 Status 
------------------------------------------------------------------------ 
zfsBE                yes      yes     yes        no        - 
new-zfsBE            yes      no      no         yes        -
# zfs list
NAME                             USED    AVAIL   REFER   MOUNTPOINT 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool2/ROOT/                     5.38G    57.6G     18K   /rpool2/ROOT 
rpool2/ROOT/new-zfsBE            5.38G    57.6G    551M   /tmp/.new.luupdall.109859
rpool2/dump                      3.99G        -   3.99G   - 
rpool2/swap                      3.99G        -   3.99G   - 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT                       5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G    551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   - 

현재 실행 중인 시스템 이외의 소스에서 부트 환경 만들기

기존 ZFS 루트 풀이 있거나 현재 활성 부트 환경으로 사용되지 않는 UFS 부트 환경이 있는 경우 다음 예를 사용하여 이 부트 환경에서 새 ZFS 부트 환경을 만들 수 있습니다. 새 ZFS 부트 환경을 만든 후에는 편리한 시간에 새 부트 환경을 업그레이드하고 활성화할 수 있습니다.

부트 환경을 현재 실행 중인 시스템 이외의 소스에서 만들려는 경우 lucreate 명령을 -s 옵션과 함께 사용해야 합니다. -s 옵션은 UFS 파일 시스템의 경우와 동일하게 작동합니다. -s 옵션은 대체 루트(/) 파일 시스템의 경로를 제공합니다. 이 대체 루트(/) 파일 시스템은 새 ZFS 루트 풀을 만들기 위한 소스입니다. 대체 루트는 UFS(/) 루트 파일 시스템이거나 ZFS 루트 풀일 수 있습니다. 복사 프로세스는 사용 중인 시스템에 따라 시간이 걸릴 수 있습니다.

다음 예에서는 다른 ZFS 루트 풀에서 부트 환경을 만들 때 -s 옵션이 사용되는 방법을 보여 줍니다.


예 13–4 현재 실행 중인 시스템 이외의 소스에서 부트 환경을 만드는 방법

다음 명령은 기존 ZFS 루트 풀에서 새 ZFS 루트 풀을 만듭니다. -n 옵션은 만들려는 부트 환경에 이름 new-zfsBE를 할당합니다. -s 옵션은 부트 환경 rpool3이 현재 실행 중인 부트 환경 대신 복사본의 소스로 사용되도록 지정합니다. -p 옵션은 rpool2에 새 부트 환경을 배치하도록 지정합니다.


# lucreate -n new-zfsBE -s rpool3 -p rpool2
# lustatus
boot environment   Is        Active  Active     Can	    Copy 
Name               Complete  Now	 OnReboot   Delete	 Status 
------------------------------------------------------------------------ 
zfsBE               yes      yes     yes        no         - 
zfsBE2              yes      no      no         yes        -
zfsBE3              yes      no      no         yes        -
new-zfsBE           yes      no      no         yes        -

# zfs list
NAME                            USED    AVAIL   REFER   MOUNTPOINT 
rpool2                         9.29G    57.6G     20K   /rpool2 
rpool2/ROOT/                   5.38G    57.6G     18K   /rpool2/ROOT 
rpool2/ROOT/new-zfsBE          5.38G    57.6G    551M   /tmp/.new.luupdall.109859
rpool2/dump                    3.99G        -   3.99G   - 
rpool2/swap                    3.99G        -   3.99G   - 
rpool3                         9.29G    57.6G     20K   /rpool2 
rpool3/ROOT/                   5.38G    57.6G     18K   /rpool2/ROOT 
rpool3/ROOT/zfsBE3             5.38G    57.6G   551M    /tmp/.new.luupdall.109859
rpool3/dump                    3.99G        -   3.99G   - 
rpool3/swap                    3.99G        -   3.99G   - 
prool                          9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT                     5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE               5.46G    57.6G   551M  
rpool/dump                     3.99G        -   3.99G   - 
rpool/swap                     3.99G        -   3.99G   -

이제 새 부트 환경을 업그레이드하고 활성화할 수 있습니다.


ZFS 부트 환경으로 폴백

업그레이드 후 오류가 감지되거나 응용 프로그램이 업그레이드된 구성 요소와 호환되지 않는 경우 luactivate 명령을 사용하여 원래의 부트 환경으로 폴백할 수 있습니다.

UFS 부트 환경에서 ZFS 루트 풀로 마이그레이션한 다음 UFS 부트 환경으로 폴백하도록 결정하면 ZFS 부트 환경에서 만들었던 ZFS 저장소 풀을 다시 가져와야 합니다. 이 ZFS 저장소 풀은 UFS 부트 환경에서 자동으로 사용할 수 없습니다. UFS 부트 환경으로 다시 전환하는 경우 다음 예와 유사한 메시지가 표시될 수 있습니다.


# luactivate c0t0d0
WARNING: The following files have changed on both the current boot 
environment <new-ZFSbe> zone <global> and the boot environment 
to be activated <c0t0d0>: /etc/zfs/zpool.cache
INFORMATION: The files listed above are in conflict between the current 
boot environment <ZFSbe> zone <global> and the boot environment to be 
activated <c0t0d0>. These files will not be automatically synchronized 
from the current boot environment <new-ZFSbe> when boot 
environment <c0t0d0>

원래 부트 환경으로 폴백에 대한 예는 6 장오류 복구: 원래 부트 환경으로 폴백(작업)을 참조하십시오.

추가 자원

이 장에 포함된 항목에 대한 추가 정보는 표 13–1에 나열된 자원을 참조하십시오.

표 13–1 추가 자원

자원 

위치 

개요, 계획, 단계별 지침을 비롯한 ZFS 정보 

Solaris ZFS Administration Guide

UFS 파일 시스템이 있는 시스템에서 Solaris Live Upgrade 사용 

이 설명서의 제1부, Solaris Live Upgrade로 업그레이드