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

11장 Solaris Live Upgrade 및 ZFS(개요)

Solaris Live Upgrade를 사용하여 UFS 파일 시스템을 ZFS 루트 풀로 마이그레이션하고 기존 ZFS 루트 풀에서 ZFS 루트 파일 시스템을 만들 수 있습니다.


주 –

Solaris Live Upgrade를 사용하여 부트 환경을 만드는 작업은 Solaris 10 10/08 릴리스의 새로운 기능입니다. UFS 파일 시스템에서 Solaris Live Upgrade를 수행하면 명령줄 매개 변수와 Solaris Live Upgrade의 작동이 둘 다 변경되지 않는 상태로 유지됩니다. Solaris Live Upgrade를 UFS 파일 시스템이 있는 시스템에서 수행하려면 이 설명서의 제1부, Solaris Live Upgrade로 업그레이드를 참조하십시오.


다음 절에서는 이러한 작업에 대한 개요를 제공합니다.

ZFS와 함께 Solaris Live Upgrade 사용 소개

UFS 파일 시스템이 있는 경우 Solaris Live Upgrade는 이전 릴리스와 동일하게 작동합니다. 이제 UFS 파일 시스템에서 ZFS 루트 풀로 마이그레이션하고 ZFS 루트 풀에 새 부트 환경을 만들 수 있습니다. 이러한 작업을 위해 lucreate 명령이 -p 옵션을 사용하여 향상되었습니다. 명령 구문은 다음과 같습니다.


# lucreate [-c active_BE_name] -n BE_name [-p zfs_root_pool]

-p 옵션은 새 부트 환경이 있는 ZFS 풀을 지정합니다. 소스와 대상 부트 환경이 동일한 풀에 있는 경우 이 옵션은 생략할 수 있습니다.

lucreate 명령의 -m 옵션은 ZFS에서 지원되지 않습니다. 기타 lucreate 명령 옵션은 일부를 제외하고는 보통 때처럼 작동합니다. 제한 사항에 대한 자세한 내용은 Solaris Live Upgrade 사용 시 시스템 요구 사항 및 제한를 참조하십시오.

UFS 파일 시스템에서 ZFS 루트 풀로 마이그레이션

현재 실행 중인 시스템에서 부트 환경을 만드는 경우 lucreate 명령은 UFS 루트(/) 파일 시스템을 ZFS 루트 풀로 복사합니다. 복사 프로세스는 사용 중인 시스템에 따라 시간이 걸릴 수 있습니다.

UFS 파일 시스템에서 마이그레이션하는 경우 소스 부트 환경은 디스크 슬라이스에서 UFS 루트(/) 파일 시스템일 수 있습니다. ZFS 루트 풀의 소스 부트 환경에서 UFS 파일 시스템의 부트 환경을 만들 수 없습니다.

UFS 루트(/) 파일 시스템에서 ZFS 루트 풀로 마이그레이션

다음 명령은 ZFS 루트 풀을 만들고, 해당 ZFS 루트 풀의 UFS 루트(/) 파일 시스템에서 새 부트 환경을 만듭니다. ZFS 루트 풀은 lucreate 작업 전에 있어야 하며, 업그레이드 가능하고 부트 가능하도록 하려면 전체 디스크가 아닌 슬라이스로 만들어야 합니다. 디스크에는 EFI 레이블이 있을 수 없지만 SMI 레이블이 있어야 합니다. 제한 사항에 대한 자세한 내용은 Solaris Live Upgrade 사용 시 시스템 요구 사항 및 제한를 참조하십시오.

그림 11–1에서는 별도의 슬라이스 c0t1d0s5에 루트 풀 rpool을 만드는 zpool 명령을 보여 줍니다. 디스크 슬라이스 c0t0d0s0에는 UFS 루트(/) 파일 시스템이 들어 있습니다. lucreate 명령에서 -c 옵션은 현재 실행 중인 시스템 c0t0d0, 즉 UFS 루트(/) 파일 시스템의 이름을 지정합니다. -n 옵션은 만들려는 부트 환경에 이름 new-zfsBE를 할당합니다. -p 옵션은 새 부트 환경 rpool을 배치할 위치를 지정합니다. UFS /export 파일 시스템과 /swap 볼륨은 새 부트 환경에 복사되지 않습니다.

그림 11–1 UFS 파일 시스템에서 ZFS 루트 풀로 마이그레이션

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


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

이 예에서는 그림 11–1에서와 동일한 명령을 보여 줍니다. 명령은 새 루트 풀 rpool을 만들고 UFS 루트(/) 파일 시스템의 풀에 새 부트 환경을 만듭니다. 이 예에서 zfs list 명령은 zpool 명령을 통해 만든 ZFS 루트 풀을 보여 줍니다. 다음 zfs list 명령은 lucreate 명령을 통해 만든 데이터 세트를 보여 줍니다.


# zpool create rpool c0t1d0s5
# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool

# lucreate -c c0t0d0 -n new-zfsBE -p rpool
# 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  - 

새 부트 환경은 rpool/ROOT/new-zfsBE입니다. 부트 환경 new-zfsBE는 이제 업그레이드하고 활성화할 수 있습니다.


Solaris Volume Manager 볼륨이 구성된 UFS 파일 시스템을 ZFS 루트 파일 시스템으로 마이그레이션

시스템에 SVM(Solaris Volume Manager)의 볼륨이 있는 경우 UFS 파일 시스템을 마이그레이션할 수 있습니다. 기존 SVM 구성에서 UFS 부트 환경을 만들려면 현재 실행 중인 시스템에서 새 부트 환경을 만듭니다. 그런 다음 새 UFS 부트 환경에서 ZFS 부트 환경을 만듭니다.

SVM(Solaris Volume Manager)의 개요. ZFS에서는 물리적 저장소를 관리하기 위해 저장소 풀 개념을 사용합니다. 기존의 파일 시스템은 단일 물리적 장치의 맨 위에서 구성되었습니다. 여러 장치의 주소를 지정하고 데이터 중복성을 제공하는 볼륨 관리자의 개념이 도입되어 단일 장치의 이미지가 제공됩니다. 따라서 여러 장치를 사용하기 위해 파일 시스템을 수정하지 않아도 되지만 이 설계로 인해 계층이 복잡해졌습니다. 해당 파일 시스템에 가상 볼륨에 있는 데이터의 물리적 배치에 대한 제어 권한이 없기에 이 복잡성으로 인해 특정 파일 시스템이 결국 향상되지 못했습니다.

SVM을 대체하는 ZFS 저장소 풀. ZFS는 볼륨 관리를 완벽하게 제거했습니다. 사용자에게 가상 볼륨을 만들도록 강제하는 대신 ZFS는 장치를 저장소 풀에 결합합니다. 저장소 풀은 저장소 장치 레이아웃 및 데이터 중복성과 같은 물리적 특성에 대해 설명하고, 파일 시스템을 만들 수 있는 임의의 데이터 저장소 역할을 수행합니다. 파일 시스템은 개별 장치에 대해 더 이상 제약을 받지 않으며, 장치를 활성화하여 풀에서 모든 파일 시스템과 공간을 공유합니다. 파일 시스템은 저장소 풀에 할당된 공간 내에서 자동으로 커지므로 파일 시스템의 크기를 미리 결정하지 않아도 됩니다. 새 저장소가 추가되면 풀에 있는 모든 파일 시스템은 추가 작업 없이 즉시 추가 공간을 사용할 수 있습니다. 저장소 풀은 여러 가지 방법으로 가상 메모리 시스템 역할을 합니다. 메모리 DIMM이 시스템에 추가되면 운영 체제는 사용자가 몇 가지 명령을 호출하여 메모리를 구성하고 개별 프로세스에 메모리를 할당하도록 강제하지 않습니다. 모든 시스템 프로세스에서 추가 메모리가 자동으로 사용됩니다.


예 11–2 SVM 볼륨이 있는 UFS 루트(/) 파일 시스템에서 ZFS 루트 풀로 마이그레이션

SVM 볼륨이 있는 시스템을 마이그레이션하는 경우 SVM 볼륨은 무시됩니다. 다음 예에서와 같이 루트 풀 내에서 미러를 설정할 수 있습니다.

이 예에서 lucreate 명령은 -m 옵션과 같이 사용되어 현재 실행 중인 시스템에서 새 부트 환경을 만듭니다. 디스크 슬라이스 c1t0d0s0에는 SVM 볼륨으로 구성된 UFS 루트(/) 파일 시스템이 들어 있습니다. zpool 명령은 루트 풀 c1t0d0s0과 RAID-1 볼륨(미러) c2t0d0s0을 만듭니다. 두 번째 lucreate 명령에서 -n 옵션은 만들려는 부트 환경에 이름 new-zfsBE-name을 할당합니다. -p 옵션은 새 부트 환경 rpool을 배치할 위치를 지정합니다.


# lucreate -n ufsBE -m /:/dev/md/dsk/d104:ufs
# zpool create rpool mirror c0t0d0s0 c0t1d0s0
# lucreate -n c0t0d0s0 -s ufsBE -p zpool

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


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

동일한 루트 풀이나 새 루트 풀에 새 ZFS 부트 환경을 만들 수 있습니다. 이 절에서는 다음에 대한 개요를 제공합니다.

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

동일한 ZFS 루트 풀에서 새 부트 환경을 만드는 경우 lucreate 명령은 소스 부트 환경에서 스냅샷을 만들고, 복제는 스냅샷에서 만들어집니다. 스냅샷과 복제는 거의 즉시 만들어지며, 디스크 공간은 최소로 사용됩니다. 결국 필요한 디스크 공간의 크기는 업그레이드 프로세스의 일부로 교체되는 파일 수에 따라 달라집니다. 스냅샷은 읽기 전용이지만 복제는 스냅샷의 읽기/쓰기 복사본입니다. 복제 부트 환경에서 변경된 내용은 스냅샷이나 스냅샷이 만들어진 소스 부트 환경에 반영되지 않습니다.


주 –

활성 데이터 세트에서 데이터가 변경되면 스냅샷은 기존 데이터를 계속 참조하여 공간을 소모합니다. 결과적으로 스냅샷으로 인해 해당 데이터가 풀에 다시 해제되지 않습니다. 스냅샷에 대한 자세한 내용은 Solaris ZFS Administration Guide의 7 장, Working With ZFS Snapshots and Clones를 참조하십시오.


현재 부트 환경이 동일한 ZFS 풀에 있는 경우 -p 옵션을 생략합니다.

그림 11–2에서는 ZFS 루트 풀에서 ZFS 부트 환경 만들기를 보여 줍니다. 슬라이스 c0t0d0s0에는 ZFS 루트 풀 rpool이 들어 있습니다. lucreate 명령에서 -n 옵션은 만들려는 부트 환경에 이름 new-zfsBE를 할당합니다. 원래 루트 풀의 스냅샷은 rpool@new-zfsBE로 만들어집니다. 스냅샷은 새 부트 환경 new-zfsBE인 복제를 만드는 데 사용됩니다. 부트 환경 new-zfsBE는 이제 업그레이드하고 활성화할 수 있습니다.

그림 11–2 동일한 루트 풀에서 새 부트 환경 만들기

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


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

이 예에서는 동일한 루트 풀에서 새 부트 환경을 만드는 그림 11–2에서와 동일한 명령을 보여 줍니다. lucreate 명령은 -c zfsBE 옵션을 사용하여 현재 실행 중인 부트 환경의 이름을 지정하며, -n new-zfsBE는 새 부트 환경을 만듭니다. zfs list 명령은 새 부트 환경과 스냅샷이 있는 ZFS 데이터 세트를 보여 줍니다.


# lucreate -c zfsBE -n new-zfsBE
# zfs list
AME                        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       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
rpool/dump                 1.95G      -  1.95G  - 
rpool/swap                 1.95G      -  1.95G  - 

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

lucreate 명령을 사용하여 기존 ZFS 루트 풀을 다른 ZFS 루트 풀로 복사할 수 있습니다. 복사 프로세스는 사용 중인 시스템에 따라 약간 시간이 걸릴 수 있습니다.

그림 11–3에서는 부트 가능한 ZFS 루트 풀이 아직 없기 때문에 c0t1d0s5에 ZFS 루트 풀 rpool2를 만드는 zpool 명령을 보여 줍니다. lucreate 명령을 -n 옵션과 함께 사용하면 만들려는 부트 환경에 new-zfsBE 이름을 할당합니다. -p 옵션은 새 부트 환경을 배치할 위치를 지정합니다.

그림 11–3 다른 루트 풀에 새 부트 환경 만들기

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


예 11–4 서로 다른 ZFS 루트 풀에 부트 환경 만들기

이 예에서는 새 루트 풀을 만들고 새로 만든 루트 풀에서 새 부트 환경을 만드는, 그림 11–3에서와 동일한 명령을 보여 줍니다. 이 예에서 zpool create 명령은 rpool2를 만듭니다. zfs list 명령은 rpool2에서 만든 ZFS 데이터 세트가 없음을 보여 줍니다. 데이터 세트는 lucreate 명령으로 만들어집니다.


# zpool create rpool2 c0t2d0s5
# 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   - 

새 ZFS 루트 풀 rpool2는 디스크 슬라이스 c0t2d0s5에 만들어집니다.


# lucreate -n new-zfsBE -p rpool2
# 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   - 

새 부트 환경 new-zfsBE는 다른 데이터 세트 ROOT, dumpswap과 함께 rpool2에 만들어집니다. 부트 환경 new-zfsBE는 이제 업그레이드하고 활성화할 수 있습니다.


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

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


예 11–5 대체 루트(/) 파일 시스템에서 부트 환경 만들기

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


# lucreate -n new-zfsBE  -s source-zfsBE -p rpool2

부트 환경 new-zfsBE는 이제 업그레이드하고 활성화할 수 있습니다.


비전역 영역이 설치된 시스템에서 ZFS 부트 환경 만들기

Solaris Live Upgrade를 사용하여 비전역 영역을 ZFS 루트 파일 시스템으로 마이그레이션할 수 있습니다. 개요, 계획 및 단계별 절차는 14 장비전역 영역이 설치된 ZFS용 Solaris Live Upgrade를 참조하십시오.

추가 자원

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

표 11–1 추가 자원

자원 

위치 

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

Solaris ZFS Administration Guide

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

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