탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 관리: ZFS 파일 시스템 Oracle Solaris 11.1 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
3. Oracle Solaris ZFS 저장소 풀 관리
미러링된 ZFS 저장소 풀을 분할하여 새로운 풀 만들기
5. Oracle Solaris ZFS 파일 시스템 관리
6. Oracle Solaris ZFS 스냅샷 및 복제 작업
7. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
다음 절에서는 ZFS 저장소 풀을 만들고 삭제하는 여러 시나리오를 설명합니다.
풀 만들기 및 삭제는 빠르고 쉽습니다. 하지만 이러한 작업을 수행할 때 주의하십시오. 새 풀에서 사용될 것으로 알려진 장치 사용을 막기 위한 확인이 수행되지만 ZFS에서 장치가 이미 사용 중인지 항상 알 수 있는 것은 아닙니다. 풀 삭제는 풀 만들기보다 쉽습니다. zpool destroy를 주의해서 사용하십시오. 이 단순한 명령이 막대한 결과를 가져올 수 있습니다.
저장소 풀을 만들려면 zpool create 명령을 사용합니다. 이 명령은 풀 이름 및 가상 장치 수를 인수로 사용합니다. 풀 이름은 ZFS 구성 요소 명명 요구 사항의 조건을 충족해야 합니다.
다음 명령은 c1t0d0 및 c1t1d0 디스크로 구성된 tank 이름의 새 풀을 만듭니다.
# zpool create tank c1t0d0 c1t1d0
전체 디스크를 나타내는 장치 이름은 /dev/dsk 디렉토리에서 찾을 수 있으며, 단일 대형 슬라이스를 포함하도록 ZFS에 의해 알맞게 레이블이 지정됩니다. 데이터는 두 디스크에 걸쳐 동적으로 스트라이프됩니다.
미러된 풀을 만들려면 mirror 키워드 다음에 미러를 구성할 저장 장치 수를 사용합니다. 명령줄에 mirror 키워드를 반복하면 여러 미러를 지정할 수 있습니다. 다음 명령은 2개의 이중 미러를 갖춘 풀을 만듭니다.
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
두번째 mirror 키워드는 새 최상위 레벨 가상 장치가 지정됨을 나타냅니다. 데이터는 두 미러에 걸쳐 동적으로 스트라이프되어, 두 디스크 사이에 알맞게 데이터가 중복됩니다.
권장되는 미러링된 구성에 대한 자세한 내용은 12 장Oracle Solaris ZFS 권장 방법을 참조하십시오.
현재 ZFS 미러된 구성에서는 다음 작업이 지원됩니다.
기존 미러된 구성에 추가 최상위 레벨 가상 장치(vdev)를 위한 다른 디스크 모음 추가. 자세한 내용은 저장소 풀에 장치 추가를 참조하십시오.
기존 미러된 구성에 추가 디스크 연결. 또는 복제되지 않는 구성에 추가 디스크를 연결하여 미러된 구성 만들기. 자세한 내용은 저장소 풀에서 장치 연결 및 분리를 참조하십시오.
기존 미러된 구성에서 디스크 교체(교체 디스크가 교체될 디스크의 크기보다 크거나 같은 경우에만). 자세한 내용은 저장소 풀의 장치 교체를 참조하십시오.
미러된 구성에서 디스크 분리(나머지 장치가 구성에 대한 충분한 중복성을 제공하는 경우에만). 자세한 내용은 저장소 풀에서 장치 연결 및 분리를 참조하십시오.
디스크 중 하나를 분리하여 미러된 구성을 분할하고 새로운 동일 풀 만들기. 자세한 내용은 미러링된 ZFS 저장소 풀을 분할하여 새로운 풀 만들기를 참조하십시오.
미러링된 저장소 풀에서 스페어, 로그 장치 또는 캐시 장치가 아닌 장치는 절대로 제거할 수 없습니다.
다음 루트 풀 구성 요구 사항을 고려해 보십시오.
Oracle Solaris 11.1에서 루트 풀에 사용되는 디스크는 x86 기반 시스템 또는 GPT 지원 펌웨어가 포함된 지원되는 SPARC 시스템에서 EFI(GPT) 레이블로 설치됩니다. 또는 GPT 지원 펌웨어가 포함되지 않은 SPARC 기반 시스템의 경우 SMI(VTOC) 레이블이 적용됩니다. Oracle Solaris 11.1 설치 프로그램은 가능한 경우 EFI(GPT) 레이블을 적용합니다. 설치 후 ZFS 루트 풀을 다시 만들어야 할 경우에는 다음 명령을 사용하여 EFI(GPT) 디스크 레이블 및 올바른 부트 정보를 적용할 수 있습니다.
# zpool create -B rpool2 c1t0d0
루트 풀은 미러된 구성 또는 단일 디스크 구성으로 만들어야 합니다. zpool add 명령을 사용하여 디스크를 추가함으로써 여러 미러된 최상위 레벨 가상 장치를 만들 수 없지만, zpool attach 명령을 사용하여 미러된 가상 장치를 확장할 수는 있습니다.
RAID-Z 또는 스트라이프 구성은 지원되지 않습니다.
루트 풀은 별도의 로그 장치를 가질 수 없습니다.
루트 풀에 대해 지원되지 않는 구성을 사용하려고 시도할 경우 다음과 유사한 메시지가 나타납니다.
ERROR: ZFS pool <pool-name> does not support boot environments
# zpool add -f rpool log c0t6d0s0 cannot add to 'rpool': root pool can not have multiple vdevs or separate logs
ZFS 루트 파일 시스템 설치 및 부트에 대한 자세한 내용은 4 장ZFS 루트 풀 구성 요소 관리를 참조하십시오.
단일 패리티 RAID-Z 풀을 만드는 것은 raidz 또는 raidz1 키워드가 mirror 대신 사용된다는 점을 제외하고 미러된 풀을 만드는 것과 동일합니다. 다음 예는 5개의 디스크로 구성된 단일 RAID-Z 장치의 풀을 만드는 방법을 보여줍니다.
# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0
이 예는 단축 장치 이름 또는 전체 장치 이름을 사용하여 디스크를 지정할 수 있다는 것을 보여줍니다. /dev/dsk/c5t0d0 및 c5t0d0은 모두 동일 디스크를 가리킵니다.
풀을 만들 때 raidz2 또는 raidz3 키워드를 사용하여 이중 패리티 또는 삼중 패리티 RAID-Z 구성을 만들 수 있습니다. 예:
# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 # zpool status -v tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 c4t0d0 ONLINE 0 0 0 c5t0d0 ONLINE 0 0 0 errors: No known data errors
# zpool create tank raidz3 c0t0d0 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 c8t0d0 # zpool status -v tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz3-0 ONLINE 0 0 0 c0t0d0 ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 c4t0d0 ONLINE 0 0 0 c5t0d0 ONLINE 0 0 0 c6t0d0 ONLINE 0 0 0 c7t0d0 ONLINE 0 0 0 c8t0d0 ONLINE 0 0 0 errors: No known data errors
현재 ZFS RAID-Z 구성에서는 다음 작업이 지원됩니다.
기존 RAID-Z 구성에 추가 최상위 레벨 가상 장치를 위한 다른 디스크 모음 추가. 자세한 내용은 저장소 풀에 장치 추가를 참조하십시오.
기존 RAID-Z 구성에서 디스크 교체(교체 디스크가 교체될 디스크의 크기보다 크거나 같은 경우에만). 자세한 내용은 저장소 풀의 장치 교체를 참조하십시오.
현재 RAID-Z 구성에서는 다음 작업이 지원되지 않습니다.
기존 RAID-Z 구성에 추가 디스크 연결
RAID-Z 구성에서 디스크 분리(스페어 디스크로 교체되는 디스크를 분리하거나 스페어 디스크를 분리해야 하는 경우는 제외)
RAID-Z 구성에서 로그 장치 또는 캐시 장치가 아닌 장치는 절대로 제거할 수 없습니다. RFE가 이 기능을 위해 마련되었습니다.
RAID-Z 구성에 대한 자세한 내용은 RAID-Z 저장소 풀 구성을 참조하십시오.
동기식 트랜잭션에 대한 POSIX 요구 사항을 충족하기 위해 ZIL(ZFS 계획 로그)이 제공됩니다. 예를 들어, 데이터베이스의 트랜잭션이 시스템 호출에서 반환될 때 안정된 저장 장치에서 이루어져야 할 경우가 자주 있습니다. NFS 및 기타 응용 프로그램은 fsync()를 사용하여 데이터 안정성을 보장할 수도 있습니다.
기본적으로 ZIL은 기본 풀 내의 블록에서 할당됩니다. 하지만 NVRAM 또는 전용 디스크와 같은 별도의 의도 로그 장치를 사용하면 성능을 높일 수도 있습니다.
ZFS 로그 장치 설정이 해당 환경에 적합한지 여부를 확인하려면 다음과 같은 요소를 고려하십시오.
ZFS 의도 로그용 로그 장치는 데이터베이스 로그 파일과 관련이 없습니다.
별도의 로그 장치를 구현하여 얻을 수 있는 성능 향상은 장치 유형, 풀의 하드웨어 구성 및 응용 프로그램 작업 부하에 따라 달라집니다. 기본적인 성능 정보를 보려면 다음 블로그를 참조하십시오.
http://blogs.oracle.com/perrin/entry/slog_blog_or_blogging_on
로그 장치는 복제를 취소하거나 미러링할 수 있지만 RAID-Z는 로그 장치에 지원되지 않습니다.
별도의 로그 장치가 미러링되지 않았고 장치에 로그 오류가 포함된 경우 로그 블록을 저장하면 저장소 풀로 복구됩니다.
로그 장치는 더 큰 저장소 풀의 일부로 추가, 교체, 제거, 연결, 분리, 가져오기 및 내보내기를 수행할 수 있습니다.
로그 장치를 기존 로그 장치에 연결하여 미러된 로그 장치를 만들 수 있습니다. 이 작업은 미러링되지 않은 저장소 풀에서 장치를 연결하는 것과 동일합니다.
로그 장치의 최소 크기는 풀에 있는 각 장치의 최소 크기(64MB)와 동일합니다. 로그 장치에 저장할 수 있는 in-play 데이터의 양은 비교적 적습니다. 로그 블록은 로그 트랜잭션(시스템 호출)이 커밋될 때 비워집니다.
로그 장치의 최대 크기는 저장 가능한 in-play 데이터의 최대 크기이므로 실제 메모리 크기의 약 1/2이어야 합니다. 예를 들어 시스템의 실제 메모리가 16GB인 경우 최대 로그 장치 크기는 8GB가 적당합니다.
저장소 풀을 만들 때 또는 해당 풀이 만들어진 후 ZFS 로그 장치를 설정할 수 있습니다.
다음 예는 미러된 로그 장치가 있는 미러된 저장소 풀을 만드는 방법을 보여줍니다.
# zpool create datap mirror c0t5000C500335F95E3d0 c0t5000C500335F907Fd0 mirror c0t5000C500335BD117d0 c0t5000C500335DC60Fd0 log mirror c0t5000C500335E106Bd0 c0t5000C500335FC3E7d0 # zpool status datap pool: datap state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM datap ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 logs mirror-2 ONLINE 0 0 0 c0t5000C500335E106Bd0 ONLINE 0 0 0 c0t5000C500335FC3E7d0 ONLINE 0 0 0 errors: No known data errors
로그 장치 실패에서 복구에 대한 자세한 내용은 예 10-2를 참조하십시오.
캐시 장치에서 주 메모리와 디스크 간에 추가 캐싱 계층을 제공합니다. 캐시 장치를 사용하면 대부분 정적 컨텐츠로 구성된 모든 읽기 작업 부하에 대한 성능이 최대한 향상됩니다.
캐시 장치가 있는 저장소 풀을 만들어 저장소 풀 데이터를 캐시에 저장할 수 있습니다. 예:
# zpool create tank mirror c2t0d0 c2t1d0 c2t3d0 cache c2t5d0 c2t8d0 # zpool status tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0 c2t3d0 ONLINE 0 0 0 cache c2t5d0 ONLINE 0 0 0 c2t8d0 ONLINE 0 0 0 errors: No known data errors
캐시 장치가 추가되면 해당 장치가 점차적으로 주 메모리의 컨텐츠로 채워집니다. 캐시 장치의 크기에 따라 장치가 채워지는 시간이 1시간 이상 걸릴 수 있습니다. 다음과 같이 zpool iostat 명령을 사용하여 용량 및 읽기 작업을 모니터할 수 있습니다.
# zpool iostat -v pool 5
풀을 만든 후 풀에서 캐시 장치를 추가하거나 제거할 수 있습니다.
캐시 장치가 있는 ZFS 저장소 풀을 만들지 여부를 결정할 때 다음 사항을 고려하십시오.
캐시 장치를 사용하면 대부분 정적 컨텐츠로 구성된 모든 읽기 작업 부하에 대한 성능이 최대한 향상됩니다.
zpool iostat 명령을 사용하여 용량 및 읽기를 모니터할 수 있습니다.
풀을 만들 때 단일 또는 여러 캐시 장치를 추가할 수 있습니다. 풀을 만든 후 추가하고 제거할 수도 있습니다. 자세한 내용은 예 3-4를 참조하십시오.
캐시 장치는 미러링하거나 RAID-Z 구성의 일부가 될 수 없습니다.
캐시 장치에서 읽기 오류가 발생할 경우 해당 읽기 I/O는 미러된 구성 또는 RAID-Z 구성의 일부일 수 있는 원래 저장소 풀 장치에 다시 내려집니다. 캐시 장치의 내용은 다른 시스템 캐시와 마찬가지로 휘발성으로 간주됩니다.
ZFS 저장소 풀을 만들고 관리할 때는 다음 주의 사항을 검토하십시오.
기존 저장소 풀에 속하는 디스크의 분할 영역을 재지정하거나 레이블을 재지정하지 마십시오. 루트 풀 디스크의 분할 영역을 재지정하거나 레이블을 재지정하려고 시도하면 OS를 다시 설치해야 할 수 있습니다.
다른 저장소 풀(예: 파일 또는 볼륨)의 구성 요소를 포함하는 저장소 풀을 만들지 마십시오. 이와 같이 지원되지 않는 구성에서는 교착 상태가 발생할 수 있습니다.
단일 슬라이스 또는 단일 디스크로 만들어진 풀의 경우 중복성이 없고 데이터 손실의 위험이 있습니다. 중복성 없이 여러 슬라이스로 만들어진 풀의 경우에도 데이터 손실의 위험이 있습니다. 여러 디스크에 걸쳐 있는 여러 슬라이스로 만들어진 풀은 전체 디스크로 만들어진 풀보다 관리하기가 어렵습니다.
ZFS 중복성(RAIDZ 또는 미러) 없이 만들어진 풀은 데이터 불일치를 보고할 수만 있습니다. 데이터 불일치를 복구할 수는 없습니다.
ZFS 중복성을 사용하여 만들어진 풀은 하드웨어 고장으로 인한 작동 중지 시간을 줄이는 데 도움이 되지만 하드웨어 고장, 정전 또는 연결 해제된 케이블의 영향을 받습니다. 정기적으로 데이터를 백업해야 합니다. 비엔터프라이즈급 하드웨어에서는 일상적인 풀 데이터 백업을 수행해야 합니다.
풀은 시스템 전체에서 공유될 수 없습니다. ZFS는 클러스터 파일 시스템이 아닙니다.
각 저장소 풀에는 하나 이상의 가상 장치가 포함됩니다. 가상 장치는 물리적 저장소의 레이아웃 및 저장소 풀의 결함 특성을 설명하는 저장소 풀의 내부 표현입니다. 따라서 가상 장치는 저장소 풀을 만드는 데 사용된 디스크 장치나 파일을 나타냅니다. 풀에는 구성 최상위에 많은 수의 가상 장치(최상위 레벨 vdev라고 함)가 있을 수 있습니다.
최상위 레벨 가상 장치에 둘 이상의 물리적 장치가 포함되어 있을 경우 구성은 미러 또는 RAID-Z 가상 장치로 데이터 중복성을 제공합니다. 이러한 가상 장치는 디스크, 디스크 슬라이스 또는 파일로 구성됩니다. 스페어는 풀에 대해 사용 가능한 핫 스패어를 추적하는 특수한 가상 장치입니다.
다음 예는 각각 두 디스크의 미러인 2개의 최상위 레벨 가상 장치로 구성된 풀을 만드는 방법을 보여줍니다.
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
다음 예는 4개의 디스크가 있는 하나의 최상위 레벨 가상 장치로 구성된 풀을 만드는 방법을 보여줍니다.
# zpool create mypool raidz2 c1d0 c2d0 c3d0 c4d0
zpool add 명령을 사용하면 이 풀에 다른 최상위 레벨 가상 장치를 추가할 수 있습니다. 예를 들면 다음과 같습니다.
# zpool add mypool raidz2 c2d1 c3d1 c4d1 c5d1
중복되지 않은 풀에서 사용되는 디스크, 디스크 슬라이스 또는 파일은 최상위 레벨 가상 장치로 동작합니다. 저장소 풀은 일반적으로 여러 최상위 레벨 가상 장치를 포함합니다. ZFS는 풀의 모든 최상위 레벨 가상 장치 사이에 동적으로 데이터를 스트라이프합니다.
ZFS 저장소 풀에 포함된 가상 장치 및 물리적 장치는 zpool status 명령으로 표시됩니다. 예를 들면 다음과 같습니다.
# zpool status tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c1t2d0 ONLINE 0 0 0 mirror-2 ONLINE 0 0 0 c0t3d0 ONLINE 0 0 0 c1t3d0 ONLINE 0 0 0 errors: No known data errors
풀 만들기 오류는 여러 가지 원인으로 발생할 수 있습니다. 지정된 장치가 존재하지 않는 경우와 같이 일부 원인은 분명하지만, 기타 원인은 좀더 미묘할 수 있습니다.
장치를 포맷하기 전에 ZFS는 먼저 디스크가 ZFS 또는 운영 체제의 다른 부분에서 사용되고 있는지 여부를 확인합니다. 디스크가 사용 중인 경우 다음과 같은 오류가 나타날 수 있습니다.
# zpool create tank c1t0d0 c1t1d0 invalid vdev specification use '-f' to override the following errors: /dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M). /dev/dsk/c1t0d0s1 is currently mounted on swap. Please see swap(1M). /dev/dsk/c1t1d0s0 is part of active ZFS pool zeepool. Please see zpool(1M).
일부 오류는 -f 옵션을 대체할 수 있지만, 대부분의 오류는 그럴 수 없습니다. 다음 조건은 -f 옵션을 사용하여 대체할 수 없으며 수동으로 해결해야 합니다.
디스크 또는 해당 슬라이스 중 하나가 현재 마운트된 파일 시스템을 포함하고 있습니다. 이 오류를 해결하려면 umount 명령을 사용합니다.
디스크가 /etc/vfstab 파일에 나열된 파일 시스템을 포함하지만, 파일 시스템이 현재 마운트되어 있지 않습니다. 이 오류를 해결하려면 /etc/vfstab 파일에서 라인을 제거하거나 주석 처리합니다.
디스크가 시스템에 대한 전용 덤프 장치로 사용 중입니다. 이 오류를 해결하려면 dumpadm 명령을 사용합니다.
디스크 또는 파일이 활성 ZFS 저장소 풀의 일부입니다. 이 오류를 해결하려면 zpool destroy 명령을 사용하여 다른 풀을 삭제합니다(더 이상 필요하지 않은 경우). 또는 zpool detach 명령을 사용하여 다른 풀에서 디스크를 분리합니다. 미러된 저장소 풀에서만 디스크를 분리할 수 있습니다.
다음 사용 중 여부 확인은 유용한 경고로 사용되며 -f 옵션을 사용하여 대체하고 풀을 만들 수 있습니다.
마운트되어 있지 않고 사용 중이 아닌 것으로 보이지만 디스크가 알려진 파일 시스템을 포함하고 있습니다.
디스크가 Solaris Volume Manager 볼륨의 일부입니다.
디스크가 시스템에서 내보내졌거나 수동으로 제거된 저장소 풀의 일부입니다. 후자의 경우 디스크가 다른 시스템에서 사용 중인 네트워크 연결 드라이브이거나 아닐 수 있으므로 풀은 잠재적으로 활성 상태로 보고됩니다. 잠재적으로 활성 상태인 풀을 대체할 때 주의하십시오.
다음 예는 -f 옵션 사용 방법을 보여줍니다.
# zpool create tank c1t0d0 invalid vdev specification use '-f' to override the following errors: /dev/dsk/c1t0d0s0 contains a ufs filesystem. # zpool create -f tank c1t0d0
이상적으로는 -f 옵션을 사용하여 대체하는 대신 오류를 해결해야 합니다.
복제 레벨이 서로 다른 가상 장치로 풀을 만드는 것은 권장되지 않습니다. zpool 명령은 일치하지 않는 레벨의 중복성으로 풀을 만들지 못하도록 시도합니다. 이러한 구성으로 풀을 만들려고 시도할 경우 다음과 유사한 오류가 표시됩니다.
# zpool create tank c1t0d0 mirror c2t0d0 c3t0d0 invalid vdev specification use '-f' to override the following errors: mismatched replication level: both disk and mirror vdevs are present # zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0 c5t0d0 invalid vdev specification use '-f' to override the following errors: mismatched replication level: 2-way mirror and 3-way mirror vdevs are present
이러한 오류는 -f 옵션으로 대체할 수 있지만, 이 방식은 피해야 합니다. 명령은 크기가 다른 장치를 사용하여 미러된 풀 또는 RAID-Z 풀을 만드는 것에 대해 경고하기도 합니다. 이 구성이 허용되기는 하지만, 중복성 레벨이 일치하지 않으면 큰 용량의 장치에서 사용되지 않는 디스크 공간이 생기게 됩니다. 경고를 대체하려면 -f 옵션이 필요합니다.
풀을 만들려는 시도는 여러 가지 방식으로 예상치 않게 실패할 수 있으며, 디스크 포맷은 위험한 작업이 될 수 있습니다. 이러한 이유로 zpool create 명령에는 실제로 장치에 쓰지 않고 풀 만들기를 시뮬레이션하는 추가 옵션인 -n이 있습니다. 이 dry run 옵션은 장치 사용 중 여부 확인 및 복제 레벨 검증을 수행하고 이 과정에서 발생하는 모든 오류를 보고합니다. 오류가 발견되지 않으면 다음과 유사한 출력 결과가 표시됩니다.
# zpool create -n tank mirror c1t0d0 c1t1d0 would create 'tank' with the following layout: tank mirror c1t0d0 c1t1d0
일부 오류는 실제로 풀을 만들지 않으면 감지할 수 없습니다. 가장 일반적인 예는 동일 구성에서 동일한 장치를 두 번 지정하는 것입니다. 이 오류는 실제로 데이터를 쓰지 않으면 사실상 감지할 수 없으므로 zpool create -n 명령에서 성공으로 보고할 수 있지만, 이 옵션 없이 명령을 실행하면 풀 만들기를 실패합니다.
풀을 만들 때 최상위 레벨 파일 시스템의 기본 마운트 지점은 /pool-name입니다. 이 디렉토리는 존재하지 않거나 비어 있어야 합니다. 디렉토리가 존재하지 않을 경우 자동으로 생성됩니다. 디렉토리가 비어 있을 경우 루트 파일 시스템이 기존 디렉토리 위에 마운트됩니다. 다른 기본 마운트 지점으로 풀을 만들려면 zpool create 명령의 -m 옵션을 사용합니다. 예:
# zpool create home c1t0d0 default mountpoint '/home' exists and is not empty use '-m' option to provide a different default # zpool create -m /export/zfs home c1t0d0
이 명령은 마운트 지점이 /export/zfs인 home 파일 시스템 및 새로운 풀 home을 만듭니다.
마운트 지점에 대한 자세한 내용은 ZFS 마운트 지점 관리를 참조하십시오.
풀은 zpool destroy 명령을 사용하여 삭제됩니다. 이 명령은 마운트된 데이터 세트가 포함되어 있더라도 풀을 삭제합니다.
# zpool destroy tank
주의 - 풀을 삭제할 때 주의하십시오. 올바른 풀을 삭제하고 있는지 및 항상 데이터의 복사본을 가지고 있는지 확인하십시오. 실수로 잘못된 풀을 삭제할 경우 풀 복구를 시도할 수 있습니다. 자세한 내용은 삭제된 ZFS 저장소 풀 복구를 참조하십시오. |
zpool destroy 명령으로 풀을 삭제할 경우 삭제된 ZFS 저장소 풀 복구에 설명된 대로 풀을 계속 가져올 수 있습니다. 따라서 풀에 속한 디스크에서 기밀 데이터를 계속 사용할 수 있습니다. 삭제된 풀의 디스크에서 데이터를 삭제하려면 삭제된 풀의 모든 디스크에서 format 유틸리티의 analyze->purge 옵션과 같은 기능을 사용해야 합니다.
암호화된 ZFS 파일 시스템을 만들어 파일 시스템 데이터를 기밀로 유지할 수도 있습니다. 암호화된 파일 시스템의 풀이 삭제되면 삭제된 풀이 복구된 경우에도 암호화 키 없이 데이터에 액세스할 수 없습니다. 자세한 내용은 ZFS 파일 시스템 암호화를 참조하십시오.
풀을 삭제하려면 풀이 더 이상 유효하지 않음을 나타내는 데이터를 디스크에 기록해야 합니다. 이 상태 정보는 가져오기를 수행할 때 해당 장치가 잠재적인 풀로 표시되지 않도록 합니다. 하나 이상의 장치를 사용할 수 없어도 풀을 삭제할 수 있습니다. 하지만 필요한 상태 정보는 이러한 사용할 수 없는 장치에 기록되지 않습니다.
이러한 장치가 제대로 복구되면 새 풀을 만들 때 잠재적으로 활성 상태로 보고됩니다. 가져올 풀을 검색할 때 유효한 장치로 나타납니다. 풀에 포함된 UNAVAIL 상태의 장치가 많아져서 풀 자체가 UNAVAIL 상태가 될 경우(최상위 레벨의 가상 장치가 UNAVAIL 상태인 경우), 이 명령으로 경고가 출력되며, -f 옵션을 사용하지 않으면 명령을 완료할 수 없습니다. 이 옵션은 풀을 열 수 없어 거기에 저장된 데이터를 알 수 없으므로 필요합니다. 예를 들면 다음과 같습니다.
# zpool destroy tank cannot destroy 'tank': pool is faulted use '-f' to force destruction anyway # zpool destroy -f tank
풀 및 장치 건전성에 대한 자세한 내용은 ZFS 저장소 풀의 건전성 상태 확인을 참조하십시오.
풀 가져오기에 대한 자세한 내용은 ZFS 저장소 풀 가져오기를 참조하십시오.