탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 관리: ZFS 파일 시스템 Oracle Solaris 11.1 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
3. Oracle Solaris ZFS 저장소 풀 관리
미러링된 루트 풀을 구성하는 방법(SPARC 또는 x86/VTOC)
미러링된 루트 풀을 구성하는 방법(x86/EFI(GPT))
ZFS 루트 풀의 디스크 교체 방법(SPARC 또는 x86/VTOC)
ZFS 루트 풀의 디스크 교체 방법(SPARC 또는 x86/EFI(GPT))
SPARC 기반 시스템의 ZFS 루트 파일 시스템에서 부트
x86 기반 시스템의 ZFS 루트 파일 시스템에서 부트
5. Oracle Solaris ZFS 파일 시스템 관리
6. Oracle Solaris ZFS 스냅샷 및 복제 작업
7. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
다음 절에서는 ZFS 루트 풀 설치 및 업데이트와 미러링된 루트 풀 구성에 대한 정보를 제공합니다.
Oracle Solaris 11 Live CD 설치 방법을 사용하면 단일 디스크에 기본 ZFS 루트 풀이 설치됩니다. Oracle Solaris 11 AI(자동 설치) 방법을 사용할 경우 ZFS 루트 풀의 디스크 또는 미러링된 디스크를 식별할 AI 매니페스트를 만들 수 있습니다.
AI 설치 프로그램은 기본 부트 디스크 또는 사용자가 식별한 대상 디스크에 ZFS 루트 풀을 설치하는 유연성을 제공합니다. c1t0d0과 같은 논리적 장치 또는 물리적 장치 경로를 지정할 수 있습니다. 또한 설치할 장치에 대해 MPxIO 식별자 또는 장치 ID를 사용할 수 있습니다.
설치 후 ZFS 저장소 풀 및 파일 시스템 정보를 검토하십시오. 이는 설치 유형 및 사용자 정의에 따라 다를 수 있습니다. 예를 들면 다음과 같습니다.
# zpool status rpool pool: rpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c8t0d0 ONLINE 0 0 0 c8t1d0 ONLINE 0 0 0 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 11.8G 55.1G 4.58M /rpool rpool/ROOT 3.57G 55.1G 31K legacy rpool/ROOT/solaris 3.57G 55.1G 3.40G / rpool/ROOT/solaris/var 165M 55.1G 163M /var rpool/VARSHARE 42.5K 55.1G 42.5K /var/share rpool/dump 6.19G 55.3G 6.00G - rpool/export 63K 55.1G 32K /export rpool/export/home 31K 55.1G 31K /export/home rpool/swap 2.06G 55.2G 2.00G -
ZFS BE 정보를 검토하십시오. 예를 들면 다음과 같습니다.
# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris NR / 3.75G static 2012-07-20 12:10
위 출력에서 Active 필드는 BE가 현재 활성 상태인지(N으로 표시됨), 재부트 시 활성화되는지(R로 표시됨) 또는 둘 다(NR로 표시됨)인지를 나타냅니다.
기본 ZFS BE(부트 환경)의 이름은 기본적으로 solaris입니다. beadm list 명령을 사용하여 BE를 식별할 수 있습니다. 예를 들면 다음과 같습니다.
# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris NR / 3.82G static 2012-07-19 13:44
위 출력에서 NR은 BE가 현재 활성 상태이며 재부트 시 활성 BE가 됨을 의미합니다.
pkg update 명령을 사용하여 ZFS 부트 환경을 업데이트할 수 있습니다. pkg update 명령을 사용하여 ZFS BE를 업데이트할 경우 기존 BE에 대한 업데이트가 매우 사소한 업데이트가 아닌 한 새 BE가 만들어지고 자동으로 활성화됩니다.
# pkg update DOWNLOAD PKGS FILES XFER (MB) Completed 707/707 10529/10529 194.9/194.9 . . .
새 BE solaris-1이 자동으로 만들어지고 활성화됩니다.
업데이트 프로세스 외부에서 백업 BE를 만들고 활성화할 수도 있습니다.
# beadm create solaris-1 # beadm activate solaris-1
# init 6 . . . # beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris - - 46.95M static 2012-07-20 10:25 solaris-1 NR / 3.82G static 2012-07-19 14:45
# beadm activate solaris # init 6
복구 용도로 다른 BE의 파일을 복사하거나 액세스해야 할 수도 있습니다.
# beadm mount solaris-1 /mnt
# ls /mnt bin export media pkg rpool tmp boot home mine platform sbin usr dev import mnt proc scde var devices java net project shared doe kernel nfs4 re src etc lib opt root system
# beadm umount solaris-1
자동 설치 도중 미러링된 루트 풀을 구성하지 않는 경우 설치 후에 미러링된 루트 풀을 쉽게 구성할 수 있습니다.
루트 풀의 디스크 교체에 대한 자세한 내용은 ZFS 루트 풀의 디스크 교체 방법(SPARC 또는 x86/VTOC)을 참조하십시오.
# zpool status rpool pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c2t0d0s0 ONLINE 0 0 0 errors: No known data errors
SPARC: 디스크의 디스크 레이블이 SMI(VTOC), 슬라이스가 0인지 확인합니다. 디스크 레이블을 재지정하고 슬라이스 0을 만들어야 할 경우 Oracle Solaris 11.1 관리: 장치 및 파일 시스템의 ZFS 루트 파일 시스템에 사용할 디스크 슬라이스를 만드는 방법을 참조하십시오.
x86: 디스크의 분할 영역이 fdisk, 디스크 레이블이 SMI, 슬라이스가 0인지 확인합니다. 디스크의 분할 영역을 재지정하고 슬라이스 0을 만들어야 할 경우 Oracle Solaris 11.1 관리: 장치 및 파일 시스템의 ZFS 루트 파일 시스템에 사용할 디스크 준비를 참조하십시오.
# zpool attach rpool c2t0d0s0 c2t1d0s0 Make sure to wait until resilver is done before rebooting.
올바른 디스크 레이블 지정 및 부트 블록은 자동으로 적용됩니다.
# zpool status rpool # zpool status rpool pool: rpool state: DEGRADED status: One or more devices is currently being resilvered. The pool will continue to function in a degraded state. action: Wait for the resilver to complete. Run 'zpool status -v' to see device specific details. scan: resilver in progress since Fri Jul 20 13:39:53 2012 938M scanned out of 11.7G at 46.9M/s, 0h3m to go 938M resilvered, 7.86% done config: NAME STATE READ WRITE CKSUM rpool DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c2t0d0s0 ONLINE 0 0 0 c2t1d0s0 DEGRADED 0 0 0 (resilvering)
위의 출력 결과에서는 리실버링 프로세스가 완료되지 않았습니다. 다음과 유사한 메시지가 표시되면 리실버링이 완료된 것입니다.
resilvered 11.6G in 0h5m with 0 errors on Fri Jul 20 13:57:25 2012
기존 rpool 풀 크기 결정:
# zpool list rpool NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 29.8G 152K 29.7G 0% 1.00x ONLINE -
# zpool set autoexpand=on rpool
확장된 rpool 풀 크기 검토:
# zpool list rpool NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 279G 146K 279G 0% 1.00x ONLINE -
Oracle Solaris 11.1 릴리스는 대부분의 경우 기본적으로 x86 기반 시스템에서 EFI(GPT) 레이블을 설치합니다.
자동 설치 도중 미러링된 루트 풀을 구성하지 않는 경우 설치 후에 미러링된 루트 풀을 쉽게 구성할 수 있습니다.
루트 풀의 디스크 교체에 대한 자세한 내용은 ZFS 루트 풀의 디스크 교체 방법(SPARC 또는 x86/VTOC)을 참조하십시오.
# zpool status rpool pool: rpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 errors: No known data errors
# zpool attach rpool c2t0d0 c2t1d0 Make sure to wait until resilver is done before rebooting.
올바른 디스크 레이블 지정 및 부트 블록은 자동으로 적용됩니다.
루트 풀 디스크에서 분할 영역을 사용자 정의한 경우 다음과 비슷한 구문이 필요할 수 있습니다.
# zpool attach rpool c2t0d0s0 c2t1d0
# zpool status rpool pool: rpool state: DEGRADED status: One or more devices is currently being resilvered. The pool will continue to function in a degraded state. action: Wait for the resilver to complete. Run 'zpool status -v' to see device specific details. scan: resilver in progress since Fri Jul 20 13:52:05 2012 809M scanned out of 11.6G at 44.9M/s, 0h4m to go 776M resilvered, 6.82% done config: NAME STATE READ WRITE CKSUM rpool DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c8t0d0 ONLINE 0 0 0 c8t1d0 DEGRADED 0 0 0 (resilvering) errors: No known data errors
위의 출력 결과에서는 리실버링 프로세스가 완료되지 않았습니다. 다음과 유사한 메시지가 표시되면 리실버링이 완료된 것입니다.
resilvered 11.6G in 0h5m with 0 errors on Fri Jul 20 13:57:25 2012
기존 rpool 풀 크기 결정:
# zpool list rpool NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 29.8G 152K 29.7G 0% 1.00x ONLINE -
# zpool set autoexpand=on rpool
확장된 rpool 풀 크기 검토:
# zpool list rpool NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 279G 146K 279G 0% 1.00x ONLINE -
다음과 같은 경우 루트 풀의 디스크를 교체해야 할 수 있습니다.
루트 풀이 너무 작은 상태에서 디스크를 더 큰 디스크로 교체하려는 경우
루트 풀 디스크가 실패하는 경우. 비중복 풀에서 디스크가 실패하여 시스템이 부트되지 않을 경우 루트 풀 디스크를 교체하기 전에 대체 매체(예: CD 또는 네트워크)에서 부트해야 합니다.
zpool replace 명령을 사용하여 루트 풀 디스크에서 디스크를 교체하는 경우 부트 블록을 수동으로 적용해야 합니다.
미러링된 루트 풀 구성에서 대체 매체로부터 부트하지 않고도 디스크 교체를 시도할 수 있습니다. zpool replace 명령을 사용하여 실패한 디스크를 교체하거나, 추가 디스크가 있는 경우 zpool attach 명령을 사용할 수 있습니다. 추가 디스크를 연결하고 루트 풀 디스크를 분리하는 예는 아래 단계를 참조하십시오.
SATA 디스크가 있는 시스템의 경우 장애가 발생한 디스크를 교체하기 위해 zpool replace 작업을 시도하기 전에 디스크를 오프라인 상태로 만들고 구성을 해제해야 합니다. 예를 들면 다음과 같습니다.
# zpool offline rpool c1t0d0s0 # cfgadm -c unconfigure c1::dsk/c1t0d0 <Physically remove failed disk c1t0d0> <Physically insert replacement disk c1t0d0> # cfgadm -c configure c1::dsk/c1t0d0 <Confirm that the new disk has an SMI label and a slice 0> # zpool online rpool c1t0d0s0 # zpool replace rpool c1t0d0s0 # zpool status rpool <Let disk resilver before installing the boot blocks> # bootadm install-bootloader
교체 디스크를 넣은 후 해당 디스크를 온라인 상태로 만들거나 재구성할 필요가 없는 하드웨어도 있습니다.
SPARC: 교체(새) 디스크의 레이블이 SMI(VTOC), 슬라이스가 0인지 확인합니다. 루트 풀에 사용할 디스크의 레이블 재지정에 대한 자세한 내용은 Oracle Solaris 11.1 관리: 장치 및 파일 시스템의 디스크에 레이블을 지정하는 방법을 참조하십시오.
x86: 디스크의 분할 영역이 fdisk, 디스크 레이블이 SMI, 슬라이스가 0인지 확인합니다. 디스크 분할 영역을 다시 지정하고 슬라이스 0을 만들어야 할 경우 Oracle Solaris 11.1 관리: 장치 및 파일 시스템의 ZFS 루트 파일 시스템에 사용할 디스크 설정 방법을 참조하십시오.
예를 들면 다음과 같습니다.
# zpool attach rpool c2t0d0s0 c2t1d0s0 Make sure to wait until resilver is done before rebooting.
올바른 디스크 레이블 지정 및 부트 블록은 자동으로 적용됩니다.
예를 들면 다음과 같습니다.
# zpool status rpool pool: rpool state: ONLINE scan: resilvered 11.7G in 0h5m with 0 errors on Fri Jul 20 13:45:37 2012 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0s0 ONLINE 0 0 0 c2t1d0s0 ONLINE 0 0 0 errors: No known data errors
예를 들어, SPARC 기반 시스템에서는 다음을 수행합니다.
ok boot /pci@1f,700000/scsi@2/disk@1,0
교체 디스크에서의 부트를 테스트하고 교체 디스크가 실패할 경우 기존 디스크에서 수동으로 부트할 수 있도록 현재 디스크와 새 디스크의 부트 장치 경로 이름을 식별합니다. 아래 예에서 현재 루트 풀 디스크(c2t0d0s0)는 다음과 같습니다.
/pci@1f,700000/scsi@2/disk@0,0
아래 예에서 교체 부트 디스크(c2t1d0s0)는 다음과 같습니다.
boot /pci@1f,700000/scsi@2/disk@1,0
예를 들면 다음과 같습니다.
# zpool detach rpool c2t0d0s0
# zpool set autoexpand=on rpool
또는 장치 확장:
# zpool online -e c2t1d0s0
SPARC: eeprom 명령 또는 부트 PROM의 setenv 명령을 사용하여 새 디스크에서 자동으로 부트되도록 시스템을 설정합니다.
x86: 시스템 BIOS를 재구성합니다.
Oracle Solaris 11.1 릴리스는 대부분의 경우 기본적으로 x86 기반 시스템에서 EFI(GPT) 레이블을 설치합니다.
다음과 같은 경우 루트 풀의 디스크를 교체해야 할 수 있습니다.
루트 풀이 너무 작은 상태에서 디스크를 더 큰 디스크로 교체하려는 경우
루트 풀 디스크가 실패하는 경우. 비중복 풀에서 디스크가 실패하여 시스템이 부트되지 않을 경우 루트 풀 디스크를 교체하기 전에 대체 매체(예: CD 또는 네트워크)에서 부트해야 합니다.
zpool replace 명령을 사용하여 루트 풀 디스크에서 디스크를 교체하는 경우 부트 블록을 수동으로 적용해야 합니다.
미러링된 루트 풀 구성에서 대체 매체로부터 부트하지 않고도 디스크 교체를 시도할 수 있습니다. zpool replace 명령을 사용하여 실패한 디스크를 교체하거나, 추가 디스크가 있는 경우 zpool attach 명령을 사용할 수 있습니다. 추가 디스크를 연결하고 루트 풀 디스크를 분리하는 예는 아래 단계를 참조하십시오.
SATA 디스크가 있는 시스템의 경우 장애가 발생한 디스크를 교체하기 위해 zpool replace 작업을 시도하기 전에 디스크를 오프라인 상태로 만들고 구성을 해제해야 합니다. 예를 들면 다음과 같습니다.
# zpool offline rpool c1t0d0 # cfgadm -c unconfigure c1::dsk/c1t0d0 <Physically remove failed disk c1t0d0> <Physically insert replacement disk c1t0d0> # cfgadm -c configure c1::dsk/c1t0d0 # zpool online rpool c1t0d0 # zpool replace rpool c1t0d0 # zpool status rpool <Let disk resilver before installing the boot blocks> x86# bootadm install-bootloader
교체 디스크를 넣은 후 해당 디스크를 온라인 상태로 만들거나 재구성할 필요가 없는 하드웨어도 있습니다.
예를 들면 다음과 같습니다.
# zpool attach rpool c2t0d0 c2t1d0 Make sure to wait until resilver is done before rebooting.
올바른 디스크 레이블 지정 및 부트 블록은 자동으로 적용됩니다.
예를 들면 다음과 같습니다.
# zpool status rpool pool: rpool state: ONLINE scan: resilvered 11.6G in 0h5m with 0 errors on Fri Jul 20 12:06:07 2012 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0 errors: No known data errors
예를 들면 다음과 같습니다.
# zpool detach rpool c2t0d0
# zpool set autoexpand=on rpool
또는 장치 확장:
# zpool online -e c2t1d0
시스템 BIOS를 재구성합니다.
다른 루트 풀에 기존 BE를 재생성하려는 경우 아래 단계를 수행합니다. 독립적인 스왑 및 덤프 장치가 있는 유사한 BE가 포함된 두 개의 루트 풀을 만들 것인지 또는 스왑 및 덤프 장치를 공유하는 다른 루트 풀에 BE를 만들 것인지에 따라 단계를 수정할 수 있습니다.
두번째 루트 풀의 새 BE를 활성화하고 부트하면 첫번째 루트 풀의 이전 BE에 대한 정보가 없습니다. 원래 BE로 재부트하려는 경우 원래 루트 풀의 부트 디스크에서 수동으로 시스템을 부트해야 합니다.
# zpool create rpool2 c4t2d0s0
# beadm create -p rpool2 solaris2
# zpool set bootfs=rpool2/ROOT/solaris2 rpool2
# beadm activate solaris2
ok boot disk2
시스템이 새 BE로 실행됩니다.
# zfs create -V 4g rpool2/swap
/dev/zvol/dsk/rpool2/swap - - swap - no -
# zfs create -V 4g rpool2/dump
# dumpadm -d /dev/zvol/dsk/rpool2/dump
SPARC - eeprom 명령 또는 부트 PROM의 setenv 명령을 사용하여 새 디스크에서 자동으로 부트되도록 시스템을 설정합니다.
x86 - 시스템 BIOS를 재구성합니다.
# init 6
Oracle Solaris 11.1 릴리스는 대부분의 경우 기본적으로 x86 기반 시스템에서 EFI(GPT) 레이블을 설치합니다.
다른 루트 풀에 기존 BE를 재생성하려는 경우 아래 단계를 수행합니다. 독립적인 스왑 및 덤프 장치가 있는 유사한 BE가 포함된 두 개의 루트 풀을 만들 것인지 또는 스왑 및 덤프 장치를 공유하는 다른 루트 풀에 BE를 만들 것인지에 따라 단계를 수정할 수 있습니다.
두번째 루트 풀의 새 BE를 활성화하고 부트하면 첫번째 루트 풀의 이전 BE에 대한 정보가 없습니다. 원래 BE로 재부트하려는 경우 원래 루트 풀의 부트 디스크에서 수동으로 시스템을 부트해야 합니다.
# zpool create -B rpool2 c2t2d0
또는 미러링된 다른 루트 풀을 만듭니다. 예를 들면 다음과 같습니다.
# zpool create -B rpool2 mirror c2t2d0 c2t3d0
# beadm create -p rpool2 solaris2
# bootadm install-bootloader -P rpool2
# zpool set bootfs=rpool2/ROOT/solaris2 rpool2
# beadm activate solaris2
SPARC - eeprom 명령 또는 부트 PROM의 setenv 명령을 사용하여 새 디스크에서 자동으로 부트되도록 시스템을 설정합니다.
x86 - 시스템 BIOS를 재구성합니다.
시스템이 새 BE로 실행됩니다.
# zfs create -V 4g rpool2/swap
/dev/zvol/dsk/rpool2/swap - - swap - no -
# zfs create -V 4g rpool2/dump
# dumpadm -d /dev/zvol/dsk/rpool2/dump
# init 6