lucreate 명령은 UFS 루트(/) 파일 시스템에서 ZFS 루트 풀의 부트 환경을 만듭니다. ZFS 루트 풀은 lucreate 작업 전에 있어야 하며, 업그레이드 가능하고 부트 가능하도록 하려면 전체 디스크가 아닌 슬라이스로 만들어야 합니다. 이 절차에서는 UFS 루트(/) 파일 시스템과 연결된 기존의 비전역 영역을 ZFS 루트 풀에 있는 새 부트 환경에 복사하는 방법에 대해 보여 줍니다.
다음 예에서는 기존 비전역 영역 myzone에 UFS 루트(/) 파일 시스템의 비전역 영역 루트가 있으며, 영역 zzone에는 기존 ZFS 저장소 풀 pool에 있는 ZFS 파일 시스템의 영역 루트가 있습니다. Solaris Live Upgrade는 UFS 부트 환경 c2t2d0s0을 ZFS 부트 환경 zfs2BE로 마이그레이션하는 데 사용됩니다. UFS 기반 myzone 영역은 Solaris Live Upgrade 작업 전에 만든 새 ZFS 저장소 풀 mpool로 마이그레이션합니다. ZFS 기반 비전역 영역 zzone은 복제되지만 ZFS 풀 pool에서 유지되며 새 zfs2BE 부트 환경으로 마이그레이션됩니다.
Solaris Live Upgrade를 맨 처음 수행할 때 다음 단계를 수행합니다.
Solaris Live Upgrade를 사용하여 새 ZFS 부트 환경을 만들려면 최소 Solaris 10 10/08 릴리스가 설치되어 있어야 합니다. 이전 릴리스에는 작업을 수행할 수 있는 ZFS 및 Solaris Live Upgrade 소프트웨어가 없습니다.
필요한 경우 시스템에서 기존 Solaris Live Upgrade 패키지를 제거합니다. 새 릴리스로 업그레이드하려면 해당 릴리스의 패키지를 설치해야 합니다.
세 개의 Solaris Live Upgrade 패키지 SUNWluu, SUNWlur 및 SUNWlucfg는 Solaris Live Upgrade를 사용한 업그레이드에 필요한 소프트웨어를 구성합니다. 이들 패키지는 기존 소프트웨어, 새 기능, 버그 수정 등을 포함합니다. 기존 패키지를 제거하지 않고 Solaris Live Upgrade를 사용하기 전에 시스템에 새 패키지를 설치한 경우에는 대상 릴리스로의 업그레이드가 실패합니다.
# pkgrm SUNWlucfg SUNWluu SUNWlur |
업그레이드 중인 릴리스에서 새 Solaris Live Upgrade 패키지를 설치합니다. 자세한 내용은 Solaris Live Upgrade 설치를 참조하십시오.
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 |
ZFS 루트 풀을 만듭니다.
ZFS 루트 풀은 부트 가능하고 업그레이드 가능하도록 단일 슬라이스에 있어야 합니다.
# zpool create rpool c3t0d0s0 |
이 예에서 만들려는 새 ZFS의 이름은 rpool입니다. 풀은 부트 가능한 슬라이스 c3t0d0s0에서 만들어집니다.
새 루트 풀을 만드는 방법에 대한 자세한 내용은 Solaris ZFS Administration Guide를 참조하십시오.
UFS 루트(/) 파일 시스템을 새 ZFS 루트 풀로 마이그레이션합니다.
# lucreate [-c ufsBE] -n new-zfsBE -p rpool |
이름 ufsBE를 현재 UFS 부트 환경에 할당합니다. 이 옵션은 필수 사항이 아니며 부트 환경을 처음 만들 때만 사용됩니다. 처음 lucreate를 실행할 때 -c 옵션을 생략하면 소프트웨어에서는 사용자의 기본 파일 이름을 사용합니다.
이름 new-zfsBE를 만들려는 부트 환경에 할당합니다. 이름은 시스템에서 고유해야 합니다.
새로 만든 ZFS 루트(/) 파일 시스템을 rpool에 정의된 ZFS 루트 풀에 배치합니다.
공유되지 않는 모든 비전역 영역은 중요 파일 시스템과 함께 새 부트 환경으로 복사됩니다. 새 ZFS 부트 환경을 만들 때 약간 시간이 걸릴 수도 있습니다. UFS 파일 시스템 데이터는 ZFS 루트 풀로 복사됩니다. 비활성 부트 환경이 만들어지면 luupgrade 또는 luactivate 명령을 사용하여 새 ZFS 부트 환경을 업그레이드하거나 활성화할 수 있습니다.
(선택 사항) 부트 환경이 완전한지 확인합니다.
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 - |
(선택 사항) 시스템에서 기본 데이터 세트 정보를 확인합니다.
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 루트 풀과 루트 풀에 있는 부트 환경 내에서는 공유됩니다.
다음 예에서는 기존 비전역 영역 myzone에 UFS 루트(/) 파일 시스템의 비전역 영역 루트가 있으며, 영역 zzone에는 기존 ZFS 저장소 풀 pool에 있는 ZFS 파일 시스템의 영역 루트가 있습니다. Solaris Live Upgrade는 UFS 부트 환경 c2t2d0s0을 ZFS 부트 환경 zfs2BE로 마이그레이션하는 데 사용됩니다. UFS 기반 myzone 영역은 Solaris Live Upgrade 작업 전에 만든 새 ZFS 저장소 풀 mpool로 마이그레이션합니다. ZFS 기반 비전역 영역 zzone은 복제되지만 ZFS 풀 pool에서 유지되며 새 zfs2BE 부트 환경으로 마이그레이션됩니다.
# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - myzone installed /zones/myzone native shared - zzone installed /pool/zones native shared # zpool create mpool mirror c3t0d0s0 c4td0s0 # lucreate -c c1t2d0s0 -n zfs2BE -p mpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <c1t2d0s0>. Creating initial configuration for primary boot environment <c1t2d0s0>. The device </dev/dsk/c1t2d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <c1t2d0s0> PBE Boot Device </dev/dsk/c1t2d0s0>. Comparing source boot environment <c1t2d0s0> 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 <zfsBE>. Source boot environment is <c1t2d0s0>. Creating boot environment <zfsBE>. Creating file systems on boot environment <zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>. Populating file systems on boot environment <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 <zfsBE> successful. Creation of boot environment <zfsBE> successful. |
lucreate 작업이 완료되면 lustatus 명령을 사용하여 이 예에서와 같이 부트 환경 상태를 살펴봅니다.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t2d0s0 yes yes yes no - zfsBE yes no no yes - |
# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - myzone installed /zones/myzone native shared - zzone installed /pool/zones native shared |
다음으로 luactivate 명령을 사용하여 새 ZFS 부트 환경을 활성화합니다. 예를 들면 다음과 같습니다.
# luactivate 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 <ZFSbe> successful. |
ZFS BE로 시스템을 재부트합니다.
# init 6 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. . . . |
이 예에서와 같이 새 부트 환경과 마이그레이션된 영역의 상태를 확인합니다.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t2d0s0 yes yes yes no - zfsBE yes no no yes - |
ZFS 저장소 풀은 UFS 부트 환경에서 자동으로 사용할 수 없으므로 UFS 부트 환경으로 폴백하면 ZFS 부트 환경에서 만들었던 ZFS 저장소 풀을 다시 가져와야 합니다. UFS 부트 환경으로 다시 전환하는 경우 다음과 유사한 메시지가 표시될 수 있습니다.
# luactivate c1t2d0s0 WARNING: The following files have changed on both the current boot environment <ZFSbe> zone <global> and the boot environment to be activated <c1t2d0s0>: /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 <c1t2d0s0>. These files will not be automatically synchronized from the current boot environment <ZFSbe> when boot environment <c1t2d0s0> |