탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris ZFS 관리 설명서 Oracle Solaris 10 8/11 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
미러링된 ZFS 저장소 풀 분할(zpool split)
ZFS 명령 기록의 향상된 기능(zpool history)
반복해서 ZFS 스냅샷 이름 바꾸기(zfs rename -r)
ZFS 파일 시스템을 ZFS 복제본으로 교체(zfs promote)
3. Oracle Solaris ZFS와 전통적인 파일 시스템의 차이
4. Oracle Solaris ZFS 저장소 풀 관리
5. Oracle Solaris ZFS 루트 파일 시스템 설치 및 부트
6. Oracle Solaris ZFS 파일 시스템 관리
7. Oracle Solaris ZFS 스냅샷 및 복제 작업
8. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
이 섹션에서는 ZFS 파일 시스템의 새 기능을 요약해서 보여 줍니다.
Oracle Solaris 10 8/11: 이 릴리스에서는 다음과 같은 새로운 설치 기능을 사용할 수 있습니다.
텍스트 모드 설치 방법을 사용하여 ZFS 플래시 아카이브로 시스템을 설치할 수 있습니다. 자세한 내용은 예 5-3을 참조하십시오.
Oracle Solaris Live Upgrade luupgrade 명령을 사용하여 ZFS 루트 플래시 아카이브를 설치할 수 있습니다. 자세한 내용은 예 5-8을 참조하십시오.
Oracle Solaris Live Upgrade lucreate 명령을 사용하여 별도의 /var 파일 시스템을 지정할 수 있습니다. 자세한 내용은 예 5-5를 참조하십시오.
Oracle Solaris 10 8/11 릴리스: 이 릴리스에서는 스냅샷 스트림에서 전송 및 수신되는 파일 시스템 등록 정보를 설정할 수 있습니다. 이러한 향상된 기능은 전송 스트림의 파일 시스템 등록 정보를 수신 파일 시스템에 적용하거나 mountpoint 등록 정보 값과 같은 로컬 파일 시스템 등록 정보가 수신될 때 이를 무시할지 여부를 결정할 수 있는 유연성을 제공합니다.
자세한 내용은 ZFS 스냅샷 스트림에 다른 등록 정보 값 적용을 참조하십시오.
Oracle Solaris 10 8/11 릴리스: 이 릴리스에서는 zfs diff 명령을 사용하여 ZFS 스냅샷 차이를 확인할 수 있습니다.
예를 들어, 다음 두 스냅샷이 생성된다고 가정해 보겠습니다.
$ ls /tank/cindy fileA $ zfs snapshot tank/cindy@0913 $ ls /tank/cindy fileA fileB $ zfs snapshot tank/cindy@0914
예를 들어, 두 스냅샷 간의 차이를 확인하려면 다음과 비슷한 구문을 사용하십시오.
$ zfs diff tank/cindy@0913 tank/cindy@0914 M /tank/cindy/ + /tank/cindy/fileB
출력 결과에서 M은 디렉토리가 수정되었음을 나타냅니다. +는 fileB가 나중 스냅샷에 존재함을 나타냅니다.
자세한 내용은 ZFS 스냅샷 차이 식별(zfs diff)을 참조하십시오.
Oracle Solaris 10 8/11 릴리스: 이 릴리스에서는 다음과 같은 새 ZFS 저장소 풀 기능이 제공됩니다.
zpool import -m 명령을 사용하여 누락된 로그로 풀을 가져올 수 있습니다. 자세한 내용은 누락된 로그 장치가 있는 풀 가져오기를 참조하십시오.
읽기 전용 모드로 풀을 가져올 수 있습니다. 이 기능은 주로 풀 복구에 사용됩니다. 기본 장치가 고장나서 손상된 풀에 액세스할 수 없는 경우 읽기 전용 풀을 가져와서 데이터를 복구할 수 있습니다. 자세한 내용은 읽기 전용 모드로 풀 가져오기를 참조하십시오.
이 릴리스에서 만들어져서 최소한 풀 버전 29로 업그레이드된 RAID-Z(raidz1, raidz2 또는 raidz3) 저장소 풀은 읽기 I/O 처리 성능을 향상시키기 위해 일부 지연 시간에 민감한 메타 데이터가 자동으로 미러링되어 있습니다. 최소한 풀 버전 29로 업그레이드된 기존 RAID-Z 풀의 경우 새로 작성되는 모든 데이터에 대해 일부 메타 데이터가 미러링됩니다.
RAID-Z 풀에서 미러링된 메타 데이터는 미러링된 저장소 풀이 제공하는 것과 비슷한 하드웨어 오류에 대한 추가 보호를 제공하지 않습니다. 미러링된 메타 데이터로는 추가 공간이 소비되지만 RAID-Z 보호는 이전 릴리스와 동일하게 유지됩니다. 이러한 향상된 기능은 오직 성능에 한정됩니다.
Solaris 10 8/11 릴리스: 이 릴리스에서는 sync 등록 정보를 사용하여 ZFS 파일 시스템의 동기식 동작을 확인할 수 있습니다.
기본 동기식 동작은 모든 동기식 파일 시스템 트랜잭션을 의도한 로그에 쓰고 모든 장치를 비워서 데이터가 안정되도록 하는 것입니다. 기본 동기식 동작을 사용 안함으로 설정하는 것은 권장되지 않습니다. 동기식 지원에 의존하는 응용 프로그램에 영향을 줄 수 있으며 데이터 손실이 발생할 수 있습니다.
sync 등록 정보는 파일 시스템이 만들어지기 전 또는 후에 설정할 수 있습니다. 어느 경우에든 등록 정보 값이 즉시 적용됩니다. 예를 들면 다음과 같습니다.
# zfs set sync=always tank/neil
zil_disable 매개변수는 sync 등록 정보가 포함된 Oracle Solaris 릴리스에서 더 이상 사용할 수 없습니다.
자세한 내용은 표 6-1을 참조하십시오.
Oracle Solaris 10 8/11 릴리스: 이 릴리스에서는 -T 옵션을 사용하여 zpool list 및 zpool status 명령에 대한 간격 및 개수 값을 제공하여 추가 정보를 표시할 수 있습니다.
또한 다음과 같이 추가로 풀 스크러빙 및 리실버링 정보가 zpool status 명령으로 제공됩니다.
리실버링 진행 중 보고입니다. 예를 들면 다음과 같습니다.
scan: resilver in progress since Thu May 26 11:26:32 2011 1.26G scanned out of 2.40G at 6.15M/s, 0h3m to go 1.26G resilvered, 56.3% done
스크러빙 진행 중 보고입니다. 예를 들면 다음과 같습니다.
scan: scrub in progress since Fri May 27 08:24:17 2011 18.0M scanned out of 2.35G at 8.99M/s, 0h4m to go 0 repaired, 0.75% done
리실버링 완료 메시지입니다. 예를 들면 다음과 같습니다.
scan: resilvered 2.34G in 1h2m with 0 errors on Thu May 26 11:56:40 2011
스크러빙 완료 메시지입니다. 예를 들면 다음과 같습니다.
scan: scrub repaired 512B in 1h2m with 0 errors on Fri May 27 08:54:50 2011
진행 중인 스크러빙 취소 메시지입니다. 예를 들면 다음과 같습니다.
scan: scrub canceled on Wed Fri Jun 10 09:06:24 2011
스크러빙 및 리실버링 완료 메시지는 시스템 재부트 시에도 지속됩니다.
다음 구문에서는 간격 및 카운트 옵션을 사용하여 지속적인 풀 리실버링 정보를 표시할 수 있습니다. -T d 값을 사용하여 표준 날짜 형식으로 정보를 표시하거나 -T u를 사용하여 내부 형식으로 정보를 표시할 수 있습니다.
# zpool status -T d tank 3 2 Wed Jun 22 14:35:40 GMT 2011 pool: tank state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Wed Jun 22 14:33:29 2011 3.42G scanned out of 7.75G at 28.2M/s, 0h2m to go 3.39G resilvered, 44.13% done config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t3d0 ONLINE 0 0 0 c2t4d0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c2t7d0 ONLINE 0 0 0 c2t8d0 ONLINE 0 0 0 (resilvering) errors: No known data errors
Oracle Solaris 10 8/11 릴리스: 이 릴리스에서는 다음과 같은 ACL의 향상된 기능이 제공됩니다.
단순 ACL에는 비정상적 권한을 제외하고 ACE 거부 권한이 필요하지 않습니다. 예를 들어, 0644, 0755 또는 0664 모드에는 ACE 거부가 필요하지 않지만 0705, 0060 등의 모드에는 ACE 거부가 필요합니다.
이전 동작에는 644와 같은 단순 ACL에 ACE 거부가 포함됩니다. 예를 들면 다음과 같습니다.
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 14 11:52 file.1 0:owner@:execute:deny 1:owner@:read_data/write_data/append_data/write_xattr/write_attributes /write_acl/write_owner:allow 2:group@:write_data/append_data/execute:deny 3:group@:read_data:allow 4:everyone@:write_data/append_data/write_xattr/execute/write_attributes /write_acl/write_owner:deny 5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
644와 같은 단순 ACL에 대한 새 동작에는 ACE 거부가 포함되지 않습니다. 예를 들면 다음과 같습니다.
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 22 14:30 file.1 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
ACL이 원래의 수정되지 않은 권한을 보존하기 위해 상속 도중 더 이상 여러 ACE로 분할되지 않습니다. 대신, 파일 만들기 모드를 강제하기 위해 필요에 따라 권한이 수정됩니다.
aclinherit 등록 정보 동작에는 해당 등록 정보가 restricted로 설정된 경우 권한 감소가 포함됩니다. 즉, ACL이 상속 도중에 더 이상 여러 ACE로 분할되지 않습니다.
기존 ACL은 기본적으로 chmod(2) 작업 중 폐기됩니다. 이 변경에 따라 ZFS aclmode 등록 정보는 더 이상 사용할 수 없습니다.
새 권한 모드 계산 규칙에 따르면, ACL에 파일 소유자이기도 한 user ACE가 있는 경우 해당 권한이 권한 모드 계산에 포함됩니다. group ACE가 파일의 그룹 소유자인 경우 동일한 규칙이 적용됩니다.
자세한 내용은 8 장ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호를 참조하십시오.
Oracle Solaris 10 9/10 릴리스: 이 릴리스에서는 zpool split 명령을 사용하여 미러링된 저장소 풀을 분할하고, 원래 미러링된 풀에서 디스크를 분리하여 다른 동일한 풀을 만들 수 있습니다.
자세한 내용은 미러링된 ZFS 저장소 풀을 분할하여 새로운 풀 만들기를 참조하십시오.
Oracle Solaris 10 9/10 릴리스: 이 릴리스에서는 각 ZFS 저장소 풀에 연관된 프로세스인 zpool-poolname이 포함됩니다. 이 프로세스의 스레드는 압축 및 체크섬 검증과 같이 풀과 연관된 I/O 작업을 처리하기 위한 풀의 I/O 처리 스레드입니다. 이 프로세스의 목적은 각 저장소 풀의 CPU 사용량을 표시하기 위한 것입니다.
이러한 실행 중인 프로세스에 대한 정보는 ps 및 prstat 명령을 사용하여 검토할 수 있습니다. 이러한 프로세스는 전역 영역에서만 사용할 수 있습니다. 자세한 내용은 SDC(7)을 참조하십시오.
Oracle Solaris 10 9/10 릴리스: 이 릴리스에서는 보다 효과적으로 공간 할당 정보를 제공할 수 있도록 zpool list 출력 결과가 변경되었습니다. 예를 들면 다음과 같습니다.
# zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 136G 55.2G 80.8G 40% ONLINE -
이전의 USED 및 AVAIL 필드가 ALLOC 및 FREE로 교체되었습니다.
ALLOC 필드는 모든 데이터 집합 및 내부 메타 데이터에 할당된 실제 공간을 나타냅니다. FREE 필드는 풀에 할당되지 않은 공간을 나타냅니다.
자세한 내용은 ZFS 저장소 풀에 대한 정보 표시를 참조하십시오.
Oracle Solaris 10 9/10 릴리스: 저장소 풀은 기본 장치를 사용할 수 없게 된 경우, 전원 오류가 발생한 경우, 중복 ZFS 구성에서 지원되는 개수 이상의 장치가 실패한 경우에 손상될 수 있습니다. 이 릴리스에서는 손상된 저장소 풀을 복구하기 위한 새로운 명령 기능을 제공합니다. 그러나 이 복구 기능을 사용한다는 것은 풀 중단 전에 발생한 마지막 트랙잭션 일부가 손실될 수 있음을 의미합니다.
zpool clear 및 zpool import 명령 모두 손상된 풀을 복구하기 위한 -F 옵션을 지원합니다. 또한 zpool status, zpool clear 또는 zpool import 명령은 손상된 풀을 자동으로 보고하고 풀을 복구하는 방법을 설명합니다.
자세한 내용은 ZFS 저장소 풀 전반의 손상 복구를 참조하십시오.
Oracle Solaris 10 9/10 릴리스: 로그 장치의 향상된 기능은 다음과 같습니다.
logbias 등록 정보 – 이 등록 정보를 사용하여 ZFS에 특정 데이터 집합에 대한 동기적 요청 처리 방법을 지시할 수 있습니다. logbias가 latency로 설정되어 있으면 ZFS가 풀의 별도 로그 장치(있는 경우)를 사용하여 짧은 대기 시간으로 요청을 처리합니다. logbias를 throughput으로 설정하면 ZFS는 풀에 있는 별도의 로그 장치를 사용하지 않습니다. 대신 ZFS는 전역 풀 처리량 및 효율적인 리소스 사용을 위해 동기식 작업을 최적화합니다. 기본값은 latency입니다. 대부분의 구성에서는 기본값이 권장됩니다. logbias=throughput 값을 사용하면 데이터베이스 파일 쓰기 성능이 향상될 수 있습니다.
로그 장치 제거 – 이제 zpool remove 명령을 사용하여 ZFS 저장소 풀에서 로그 장치를 제거할 수 있습니다. 장치 이름을 지정하여 단일 로그 장치를 제거할 수 있습니다. 로그에 대해 최상위 미러를 지정하여 미러링된 로그 장치를 제거할 수 있습니다. 시스템에서 별도의 로그 장치를 제거하면 ZIL 트랜잭션 레코드가 기본 풀에 기록됩니다.
중복 최상위 가상 장치는 이제 숫자 식별자로 표시됩니다. 예를 들어 두 개의 디스크로 구성된 미러링된 저장소 풀에서 최상위 가상 장치는 mirror-0입니다. 이러한 향상된 기능 덕분에 이제는 해당 숫자 식별자를 지정하여 미러링된 로그 장치를 제거할 수 있습니다.
자세한 내용은 예 4-3을 참조하십시오.
Oracle Solaris 10 9/10 릴리스: 이 릴리스에서는 중복 RAID-Z 구성으로 단일 패리티, 이중 패리티 또는 삼중 패리티 보호를 설정할 수 있습니다. 즉, 데이터 손실 없이 각각 1개, 2개 또는 3개까지 장치 오류를 허용할 수 있습니다. 삼중 패리티 RAID-Z 구성에는 raidz3 키워드를 지정할 수 있습니다. 자세한 내용은 RAID-Z 저장소 풀 만들기를 참조하십시오.
Oracle Solaris 10 9/10 릴리스: 오래된 스냅샷이 전송 측에 더 이상 존재하지 않기 때문에 zfs receive로 오래된 스냅샷이 실수로 삭제될 때와 같이 서로 다른 자동 스냅샷 정책을 구현할 경우 이 릴리스의 스냅샷 유지 기능을 사용할 것을 고려해 볼 수 있습니다.
스냅샷 유지 기능을 사용하면 스냅샷이 삭제되지 않습니다. 또한 이 기능을 사용하면 마지막 복제본의 제거를 보류하고 zfs destroy -d 명령을 사용하여 복제본이 있는 스냅샷을 삭제할 수 있습니다.
스냅샷 또는 스냅샷 집합을 유지할 수 있습니다. 예를 들어, 다음 구문은 tank/home/cindy/snap@1에 유지 태그인 keep을 삽입합니다.
# zfs hold keep tank/home/cindy@snap1
자세한 내용은 ZFS 스냅샷 유지를 참조하십시오.
Oracle Solaris 10 9/10 릴리스: 이 릴리스에서는 풀의 디스크가 더 큰 디스크로 교체될 때 시스템 이벤트 또는 sysevent가 제공됩니다. ZFS는 이러한 이벤트를 인식하고 autoexpand 등록 정보 설정에 따라 새로운 디스크 크기를 기반으로 풀을 조정할 수 있도록 향상되었습니다. 큰 디스크로 작은 디스크를 교체할 경우 autoexpand 풀 등록 정보를 사용하여 자동 풀 확장을 사용 또는 사용 안함으로 설정할 수 있습니다.
이러한 향상된 기능을 통해서는 풀을 내보내고 가져오거나 시스템을 재부트할 필요 없이 풀 크기를 늘릴 수 있습니다.
예를 들어, tank 풀에서는 자동 LUN 확장이 사용으로 설정되어 있습니다.
# zpool set autoexpand=on tank
또는 autoexpand 등록 정보를 사용으로 설정하여 풀을 만들 수 있습니다.
# zpool create -o autoexpand=on tank c1t13d0
autoexpand 등록 정보는 기본적으로 사용 안함으로 설정되므로 큰 디스크가 작은 디스크를 대체할 때 풀 크기를 확장할지 여부를 결정할 수 있습니다.
또한 zpool online -e 명령을 사용하여 풀 크기를 확장할 수도 있습니다. 예를 들면 다음과 같습니다.
# zpool online -e tank c1t6d0
또는 큰 디스크가 연결되었거나 zpool replace 명령을 사용하여 설정된 다음 autoexpand 등록 정보를 재설정할 수 있습니다. 예를 들어, 다음 풀은 8GB 디스크 한 개(c0t0d0)를 포함하여 만들어졌습니다. 8GB 디스크가 16GB 디스크(c1t13d0)로 교체되지만 autoexpand 등록 정보가 사용으로 설정되기 전에는 풀 크기가 확장되지 않습니다.
# zpool create pool c0t0d0 # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 8.44G 76.5K 8.44G 0% ONLINE - # zpool replace pool c0t0d0 c1t13d0 # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 8.44G 91.5K 8.44G 0% ONLINE - # zpool set autoexpand=on pool # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 16.8G 91.5K 16.8G 0% ONLINE -
autoexpand 등록 정보를 사용으로 설정하지 않고 디스크를 확장할 수 있는 또 다른 방법은 장치가 이미 온라인 상태일지라도 zpool online -e 명령을 사용하는 것입니다. 예를 들면 다음과 같습니다.
# zpool create tank c0t0d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 8.44G 76.5K 8.44G 0% ONLINE - # zpool replace tank c0t0d0 c1t13d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 8.44G 91.5K 8.44G 0% ONLINE - # zpool online -e tank c1t13d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 16.8G 90K 16.8G 0% ONLINE -
이 릴리스에서는 다음과 같은 추가적인 장치 교체의 향상된 기능이 포함되었습니다.
이전 릴리스에서는 교체 디스크의 크기가 약간 다를 경우 ZFS가 기존 디스크를 다른 디스크로 교체하거나 디스크를 연결할 수 없었습니다. 이 릴리스에서는 풀이 완전히 꽉 차지 않는 한 크기가 약간 다르더라도 기존 디스크를 다른 디스크로 교체하거나 새 디스크를 연결할 수 있습니다.
이 릴리스에서는 풀 크기를 확장하기 위해 시스템을 재부트하거나 풀을 내보내고 가져올 필요가 없습니다. 앞에서 설명한 것처럼 autoexpand 등록 정보를 사용으로 설정하거나 zpool online -e 명령을 사용하여 풀 크기를 확장할 수 있습니다.
장치 교체에 대한 자세한 내용은 저장소 풀의 장치 교체를 참조하십시오.
Solaris 10 10/09 릴리스: 이 릴리스에서는 ZFS 루트 풀의 플래시 아카이브를 식별하기 위해 JumpStart 프로필을 설정할 수 있습니다. 자세한 내용은 ZFS 루트 파일 시스템 설치(Oracle Solaris Flash 아카이브 설치)를 참조하십시오.
Solaris 10 10/09 릴리스: 이전 릴리스에서는 쿼터 및 예약을 ZFS 파일 시스템에 적용하여 디스크 공간을 관리 및 예약할 수 있었습니다.
이 릴리스에서는 특정 사용자나 그룹이 소유한 파일에서 소비되는 디스크 공간에 쿼터를 설정할 수 있습니다. 대량의 사용자나 그룹이 있는 환경의 경우 사용자 또는 그룹 쿼터를 설정할 수도 있습니다.
사용자 쿼터는 zfs userquota 등록 정보를 사용하여 설정할 수 있습니다. 그룹 쿼터를 설정하려면 zfs groupquota 등록 정보를 사용합니다. 예를 들면 다음과 같습니다.
# zfs set userquota@user1=5G tank/data # zfs set groupquota@staff=10G tank/staff/admins
다음과 같이 사용자 또는 그룹의 현재 쿼터 값을 표시할 수 있습니다.
# zfs get userquota@user1 tank/data NAME PROPERTY VALUE SOURCE tank/data userquota@user1 5G local # zfs get groupquota@staff tank/staff/admins NAME PROPERTY VALUE SOURCE tank/staff/admins groupquota@staff 10G local
일반적인 쿼터 정보는 다음과 같이 표시할 수 있습니다.
# zfs userspace tank/data TYPE NAME USED QUOTA POSIX User root 3K none POSIX User user1 0 5G
# zfs groupspace tank/staff/admins TYPE NAME USED QUOTA POSIX Group root 3K none POSIX Group staff 0 10G
userused@user 등록 정보 값을 보면 개별 사용자의 디스크 공간 사용량을 표시할 수 있습니다. groupused@ group 등록 정보 값을 보면 그룹의 디스크 공간 사용량을 표시할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs get userused@user1 tank/staff NAME PROPERTY VALUE SOURCE tank/staff userused@user1 213M local # zfs get groupused@staff tank/staff NAME PROPERTY VALUE SOURCE tank/staff groupused@staff 213M local
사용자 쿼터 설정에 대한 자세한 내용은 ZFS 쿼터 및 예약 설정을 참조하십시오.
Solaris 10 10/09 릴리스: 이전 릴리스에서는 모든 파일이 0664 또는 0666 권한으로 만들어지도록 ACL 상속성을 적용할 수 있었습니다. 이 릴리스에서는 파일 만들기 모드의 실행 비트를 상속된 ACL에 선택적으로 포함하려는 경우 실행 권한을 상속된 ACL에 전달할 수 있도록 aclinherit 모드를 설정할 수 있습니다.
ZFS 데이터 집합에서 aclinherit=passthrough-x가 사용으로 설정된 경우 cc 또는 gcc 컴파일러 도구에서 생성되는 출력 결과 파일에 대해 실행 권한을 포함시킬 수 있습니다. 상속된 ACL에 실행 권한이 포함되지 않은 경우에는 chmod 명령을 사용하여 파일의 권한을 변경하기 전에는 컴파일러에서 출력한 실행 파일을 실행할 수 없습니다.
자세한 내용은 예 8-12를 참조하십시오.
Solaris 10 10/09 및 Oracle Solaris 10 9/10 릴리스: 이러한 릴리스에는 다음과 같은 ZFS 파일 시스템의 향상된 기능이 포함되었습니다.
ZFS 스냅샷 스트림 등록 정보의 향상된 기능 – 로컬 등록 정보 설정과 다른 수신된 등록 정보를 설정할 수 있습니다. 예를 들어, 압축 등록 정보가 사용 안함으로 설정된 스트림이 수신되었지만 수신 파일 시스템에서 압축을 사용으로 설정해야 할 수 있습니다. 즉, 수신된 스트림의 수신된 압축 값은 off이고 로컬 압축 값은 on입니다. 로컬 값은 수신된 값을 대체하므로 송신 측에서 수신 측의 값을 바꾸는 설정은 신경쓰지 않아도 됩니다. zfs get 명령은 VALUE 열 아래에 있는 압축 등록 정보의 유효 값을 보여 줍니다.
송신 및 로컬 등록 정보 값을 지원하는 새로운 ZFS 명령 옵션 및 등록 정보는 다음과 같습니다.
로컬 등록 정보 값을 수신 값(있는 경우)으로 되돌리려면 zfs inherit -S를 사용합니다. 등록 정보에 수신 값이 없는 경우 zfs inherit -S 명령은 -S 옵션 없이 zfs inherit 명령을 실행하는 것과 동일합니다. 등록 정보에 수신 값이 없으면 zfs inherit -S 명령을 실행하여 수신 값으로 되돌릴 때까지 zfs inherit 명령이 수신 값을 상속된 값으로 마스킹합니다.
zfs get -o를 사용하여 새로운 기본값이 아닌 RECEIVED 열을 포함할 수 있습니다. 또는 zfs get -o all 명령을 사용하여 RECEIVED를 비롯한 모든 열을 포함할 수 있습니다.
-R 옵션 없이 zfs send -p 옵션을 사용하면 송신 스트림에 등록 정보를 포함할 수 있습니다.
또한 zfs send -e 옵션을 사용하면 전송된 스냅샷 이름의 마지막 요소를 사용하여 새 스냅샷 이름을 확인할 수 있습니다. 다음 예제에서는 poola/bee/cee@1 스냅샷을 poold/eee 파일 시스템에 전송하고 스냅샷 이름의 마지막 요소(cee@1)만 사용하여 수신된 파일 시스템 및 스냅샷을 만듭니다.
# zfs list -rt all poola NAME USED AVAIL REFER MOUNTPOINT poola 134K 134G 23K /poola poola/bee 44K 134G 23K /poola/bee poola/bee/cee 21K 134G 21K /poola/bee/cee poola/bee/cee@1 0 - 21K - # zfs send -R poola/bee/cee@1 | zfs receive -e poold/eee # zfs list -rt all poold NAME USED AVAIL REFER MOUNTPOINT poold 134K 134G 23K /poold poold/eee 44K 134G 23K /poold/eee poold/eee/cee 21K 134G 21K /poold/eee/cee poold/eee/cee@1 0 - 21K -
풀 생성 시 ZFS 파일 시스템 등록 정보 설정 – 저장소 풀을 만들 때 ZFS 파일 시스템 등록 정보를 설정할 수 있습니다. 다음 예제에서는 풀을 만들 때 생성되는 ZFS 파일 시스템에서 압축이 사용으로 설정됩니다.
# zpool create -O compression=on pool mirror c0t1d0 c0t2d0
ZFS 파일 시스템에서 캐시 등록 정보 설정 – 두 개의 새로운 ZFS 파일 시스템 등록 정보를 사용하면 기본 캐시(ARC) 및 보조 캐시(L2ARC)에서 캐시되는 항목을 제어할 수 있습니다. 캐시 등록 정보는 다음과 같이 설정됩니다.
primarycache – ARC에 캐시될 항목을 제어합니다.
secondarycache – L2ARC에 캐시될 항목을 제어합니다.
두 등록 정보에 대해 가능한 값은 all, none 및 metadata입니다. all로 설정된 경우 사용자 데이터 및 메타 데이터가 모두 캐시됩니다. none으로 설정된 경우 사용자 데이터 또는 메타 데이터가 캐시되지 않습니다. metadata로 설정된 경우 메타 데이터만 캐시됩니다. 기본값은 all입니다.
이러한 등록 정보는 기존 파일 시스템에 설정하거나 파일 시스템이 만들어질 때 설정할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs set primarycache=metadata tank/datab # zfs create -o primarycache=metadata tank/newdatab
이러한 등록 정보가 기존 파일 시스템에 설정되어 있으면 해당 등록 정보의 값에 따라 새로운 I/O만 캐시됩니다.
일부 데이터베이스 환경은 사용자 데이터를 캐시하지 않는 것이 도움이 될 수 있습니다. 캐시 등록 정보 설정이 환경에 적합한지 여부를 확인합니다.
디스크 공간 계산 등록 정보 보기 – 새로운 읽기 전용 파일 시스템 등록 정보를 통해 복제본, 파일 시스템, 볼륨 및 스냅샷에 대한 디스크 공간 사용량을 식별할 수 있습니다. 등록 정보는 다음과 같습니다.
usedbychildren – 이 데이터 집합의 자식이 사용하는 디스크 공간(모든 데이터 집합의 자식이 삭제된 경우 비워짐)을 식별합니다. 이 등록 정보의 약어는 usedchild입니다.
usedbydataset – 이 데이터 집합 자체에서 사용하는 디스크 공간(먼저 모든 스냅샷을 삭제하고 모든 refreservation을 제거한 후 데이터 집합이 삭제된 경우 비워짐)을 식별합니다. 이 등록 정보의 약어는 usedds입니다.
usedbyrefreservation – 이 데이터 집합에 설정된 refreservation에서 사용하는 디스크 공간(refreservation이 제거되는 경우 지워짐)을 식별합니다. 이 등록 정보의 약어는 usedrefreserv입니다.
usedbysnapshots – 이 데이터 집합의 스냅샷이 소비하는 디스크 공간(이 데이터 집합의 모든 스냅샷이 삭제된 경우 비워짐)을 식별합니다. 여러 스냅샷에서 디스크 공간을 공유할 수 있으므로 이 값은 단순히 스냅샷의 used 등록 정보의 합계가 아닙니다. 이 등록 정보의 약어는 usedsnap입니다.
이러한 새 등록 정보는 used 등록 정보의 값을 디스크 공간을 소비하는 여러 요소로 분할합니다. 특히 used 등록 정보 값은 다음과 같이 분할됩니다.
used property = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots
이러한 등록 정보는zfs list -o space 명령을 사용하여 볼 수 있습니다. 예를 들면 다음과 같습니다.
$ zfs list -o space NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD rpool 25.4G 7.79G 0 64K 0 7.79G rpool/ROOT 25.4G 6.29G 0 18K 0 6.29G rpool/ROOT/snv_98 25.4G 6.29G 0 6.29G 0 0 rpool/dump 25.4G 1.00G 0 1.00G 0 0 rpool/export 25.4G 38K 0 20K 0 18K rpool/export/home 25.4G 18K 0 18K 0 0 rpool/swap 25.8G 512M 0 111M 401M 0
위의 명령은 zfs list -o name,avail,used,usedsnap,usedds,usedrefreserv,usedchild -t filesystem,volume 명령과 동일합니다.
Listing snapshots – listsnapshots 풀 등록 정보는 스냅샷 정보가 zfs list 명령으로 표시되는지 여부를 제어합니다. 기본값은 on이며 이는 스냅샷 정보가 기본적으로 표시됨을 의미합니다.
시스템에 여러 ZFS 스냅샷이 있고 zfs list 명령에서 스냅샷 정보 표시를 사용 안함으로 설정하려면 다음과 같이 listsnapshots 등록 정보를 사용 안함으로 설정합니다.
# zpool get listsnapshots pool NAME PROPERTY VALUE SOURCE pool listsnapshots on default # zpool set listsnaps=off pool
listsnapshots 등록 정보를 사용 안함으로 설정하면 zfs list -t snapshots 명령을 사용하여 스냅샷 정보를 나열할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT pool/home@today 16K - 22K - pool/home/user1@today 0 - 18K - pool/home/user2@today 0 - 18K - pool/home/user3@today 0 - 18K -
Solaris 10 10/09 릴리스: 이 릴리스에서는 ZFS가 zpool status 명령의 출력 결과에서 의도적인 로그 오류를 식별합니다. FMA(Fault Management Architecture)에서는 이러한 오류도 보고됩니다. ZFS 및 FMA 모두 의도 로그 오류에서 복구하는 방법을 설명합니다.
예를 들어 별도의 로그 장치가 있는 풀에 동기식 쓰기 작업이 커밋되기 전에 시스템이 갑자기 종료된 경우에는 다음과 비슷한 메시지가 표시됩니다.
# zpool status -x pool: pool state: FAULTED status: One or more of the intent logs could not be read. Waiting for adminstrator intervention to fix the faulted pool. action: Either restore the affected device(s) and run 'zpool online', or ignore the intent log records by running 'zpool clear'. scrub: none requested config: NAME STATE READ WRITE CKSUM pool FAULTED 0 0 0 bad intent log mirror ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 logs FAULTED 0 0 0 bad intent log c0t5d0 UNAVAIL 0 0 0 cannot open
로그 장치 오류는 다음과 같은 방식으로 해결할 수 있습니다.
로그 장치를 교체하거나 복구합니다. 이 예제에서 로그 장치는 c0t5d0입니다.
로그 장치를 다시 온라인으로 설정합니다.
# zpool online pool c0t5d0
실패한 로그 장치 오류 조건을 재설정합니다.
# zpool clear pool
실패한 로그 장치를 교체하지 않고 이 오류로부터 복구하려면 zpool clear 명령을 사용하여 오류를 지울 수 있습니다. 이 시나리오에서 풀은 성능 저하 모드로 작동하며 별도의 로그 장치가 교체될 때까지 로그 레코드가 기본 풀에 작성됩니다.
로그 장치 오류 시나리오를 방지하려면 미러링된 로그 장치를 사용하는 것이 좋습니다.
Solaris 10 10/09 릴리스: 이 릴리스에서는 풀을 만들 때 저장소 풀 데이터를 캐시하기 위해 사용되는 캐시 장치를 지정할 수 있습니다.
캐시 장치에서 주 메모리와 디스크 간에 추가 캐싱 계층을 제공합니다. 캐시 장치를 사용하면 대부분 정적 컨텐츠로 구성된 임의 읽기 작업 부하에 대한 성능이 최대한 향상됩니다.
풀을 만들 때 하나 이상의 캐시 장치를 지정할 수 있습니다. 예를 들면 다음과 같습니다.
# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0 # zpool status pool pool: pool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM pool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 cache c0t0d0 ONLINE 0 0 0 errors: No known data errors
캐시 장치가 추가되면 해당 장치가 점차적으로 주 메모리의 컨텐츠로 채워집니다. 캐시 장치의 크기에 따라 장치가 채워지는 시간이 1시간 이상 걸릴 수 있습니다. 다음과 같이 zpool iostat 명령을 사용하여 용량 및 읽기 작업을 모니터할 수 있습니다.
# zpool iostat -v pool 5
풀을 만든 후 풀에서 캐시 장치를 추가하거나 제거할 수 있습니다.
자세한 내용은 캐시 장치를 사용하여 ZFS 저장소 풀 만들기 및 예 4-4를 참조하십시오.
Solaris 10 5/09 릴리스: 이 릴리스에서는 Oracle Solaris Live Upgrade를 통해 ZFS 환경에서 영역 마이그레이션에 대한 지원이 확장되었습니다. 자세한 내용은 Oracle Solaris Live Upgrade를 사용하여 영역이 있는 시스템 마이그레이션 또는 업그레이드(Solaris 10 5/09 이상)를 참조하십시오.
이 릴리스에서 알려진 문제에 대한 목록을 보려면 Solaris 10 5/09 릴리스 노트를 참조하십시오.
Solaris 10 10/08 릴리스: 이 릴리스에서는 ZFS 루트 파일 시스템을 설치하고 부트할 수 있습니다. 초기 설치 옵션 또는 JumpStart 기능을 사용하여 ZFS 루트 파일 시스템을 설치할 수 있습니다. Oracle Solaris Live Upgrade 기능을 사용하여 UFS 루트 파일 시스템을 ZFS 루트 파일 시스템으로 마이그레이션할 수 있습니다. 스왑 및 덤프 장치에 대한 ZFS 지원도 제공됩니다. 자세한 내용은 5 장Oracle Solaris ZFS 루트 파일 시스템 설치 및 부트를 참조하십시오.
이 릴리스에서 알려진 문제 목록을 보려면 다음 사이트로 이동하십시오.
http://hub.opensolaris.org/bin/view/Community+Group+zfs/boot
또한 Solaris 10 10/08 릴리스 노트를 참조하십시오.
Solaris 10 10/08 릴리스: 이 릴리스에서는 먼저 마운트 해제하지 않더라도 데이터 집합을 롤백할 수 있습니다. 따라서 마운트 해제 작업을 강제로 적용하기 위해 zfs rollback -f 옵션이 더 이상 필요하지 않습니다. -f 옵션은 더 이상 지원되지 않으며 지정된 경우 무시됩니다.
Solaris 10 10/08 릴리스: 이 릴리스에는 zfs send 명령에 대한 다음과 같은 향상된 기능이 포함됩니다. 이제 이 명령을 사용하여 다음과 같은 작업을 수행할 수 있습니다.
하나의 스냅샷에서 누적 스냅샷으로 모든 증분 스트림을 보냅니다. 예를 들면 다음과 같습니다.
# zfs list NAME USED AVAIL REFER MOUNTPOINT pool 428K 16.5G 20K /pool pool/fs 71K 16.5G 21K /pool/fs pool/fs@snapA 16K - 18.5K - pool/fs@snapB 17K - 20K - pool/fs@snapC 17K - 20.5K - pool/fs@snapD 0 - 21K - # zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@combo
이 구문은 fs@snapA, fs@snapD, fs@combo 사이의 모든 증분 스냅샷을 전송합니다.
원본 스냅샷의 모든 증분 스트림을 전송하여 복제본을 만듭니다. 증분 스트림을 수락하려면 수신측에 원본 스냅샷이 있어야 합니다. 예를 들면 다음과 같습니다.
# zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I . . # zfs receive -F pool/clone < /snaps/fsclonesnap-I
명명된 스냅샷을 포함하여 모든 하위 파일 시스템의 복제 스트림을 보냅니다. 복제 스트림을 받으면 모든 등록 정보, 스냅샷, 종속 파일 시스템 및 복제본이 보존됩니다. 예를 들면 다음과 같습니다.
# zfs send -R pool/fs@snap > snaps/fs-R
확장 예제를 보려면 예 7-1을 참조하십시오.
증분 복제 스트림을 전송합니다. 예를 들면 다음과 같습니다.
# zfs send -R -[iI] @snapA pool/fs@snapD
확장 예제를 보려면 예 7-1을 참조하십시오.
자세한 내용은 복잡한 ZFS 스냅샷 스트림 전송 및 수신을 참조하십시오.
Solaris 10 10/08 릴리스: 기존 ZFS 쿼터 및 예약 기능 외에도 이 릴리스에는 스냅샷 및 복제본과 같은 종속 항목이 디스크 공간 계산에 포함되지 않는 데이터 집합 쿼터 및 예약이 포함됩니다.
refquota 등록 정보는 데이터 집합이 소비할 수 있는 디스크 공간에 대한 하드 한계를 강제 적용합니다. 이 하드 한계에 스냅샷 및 복제본과 같은 종속 항목에서 사용되는 공간은 포함되지 않습니다.
refreservation 등록 정보는 해당 종속 항목을 제외하고 데이터 집합에 대해 보장되는 최소 디스크 공간을 설정합니다.
예를 들어, studentA에 대해 하드 한계가 10GB인 참조 공간을 설정하는 10GB refquota를 설정할 수 있습니다. 추가 유연성을 위해 studentA의 스냅샷을 관리할 수 있도록 20GB 쿼터를 설정할 수 있습니다.
# zfs set refquota=10g tank/studentA # zfs set quota=20g tank/studentA
자세한 내용은 ZFS 쿼터 및 예약 설정을 참조하십시오.
Solaris 10 10/08 릴리스: ZFS 저장소 풀 등록 정보는 이전 이전 릴리스에서 소개되었습니다. 이 릴리스에서는 cachefile 및 failmode의 두 등록 정보를 제공합니다.
다음은 이 릴리스의 새로운 저장소 풀 및 등록 정보에 대한 설명입니다.
cachefile 등록 정보 – 이 등록 정보는 풀 구성 정보가 캐시되는 위치를 제어합니다. 시스템이 부트되면 캐시에 있는 모든 풀을 자동으로 가져옵니다. 그러나 설치 및 클러스터링 환경에서는 풀을 자동으로 가져오지 않도록 이 정보를 다른 위치에 캐시해야 할 수 있습니다.
zpool import -c 명령을 사용하여 나중에 가져올 수 있는 다른 위치에 풀 구성을 캐시하도록 이 등록 정보를 설정할 수 있습니다. 대부분의 ZFS 구성의 경우 이 등록 정보가 사용되지 않습니다.
cachefile 등록 정보는 지속되지 않으며 디스크에 저장되지 않습니다. 이 등록 정보는 이전 Solaris 릴리스에서 풀 정보를 캐시하지 않도록 지정하기 위해 사용된 temporary 등록 정보를 대체합니다.
failmode 등록 정보 – 이 등록 정보는 장치 연결 손실 또는 풀의 모든 장치 오류로 인해 catastrophic 풀 오류가 발생할 경우의 동작을 결정합니다. failmode 등록 정보는 wait, continue 또는 panic과 같은 값으로 설정할 수 있습니다. 기본값은 wait입니다. 이 경우에는 장치를 다시 연결하거나 실패한 장치를 교체한 후 zpool clear 명령을 사용하여 오류를 지워야 합니다.
failmode 등록 정보는 다른 설정 가능한 ZFS 등록 정보와 같이 설정되며, 풀을 만들기 전이나 후에 설정할 수 있습니다. 예를 들면 다음과 같습니다.
# zpool set failmode=continue tank # zpool get failmode tank NAME PROPERTY VALUE SOURCE tank failmode continue local
# zpool create -o failmode=continue users mirror c0t1d0 c1t1d0
풀 등록 정보에 대한 자세한 내용은 표 4-1을 참조하십시오.
Solaris 10 10/08 릴리스: zpool history 명령이 다음과 같은 새로운 기능을 제공하도록 향상되었습니다.
이제 ZFS 파일 시스템 이벤트 정보가 표시됩니다.
-l 옵션을 사용하여 사용자 이름, 호스트 이름 및 작업이 수행된 영역을 포함하는 긴 형식을 표시할 수 있습니다.
-i 옵션을 사용하면 진단 목적으로 내부 이벤트 정보를 표시할 수 있습니다.
zpool history 명령 사용에 대한 자세한 내용은 ZFS 관련 문제 해결을 참조하십시오.
Solaris 10 10/08 릴리스: 이 릴리스에는 기존 파일 시스템에 대해 이후의 ZFS 파일 시스템의 향상된 기능을 제공할 수 있도록 zfs upgrade 명령이 포함되었습니다. 기존 저장소 풀에 풀의 향상된 기능을 제공할 수 있도록 ZFS 저장소 풀에도 비슷한 업그레이드 기능이 포함되었습니다.
예를 들면 다음과 같습니다.
# zfs upgrade This system is currently running ZFS filesystem version 3. All filesystems are formatted with the current version.
주 - 업그레이드된 파일 시스템 및 zfs send 명령으로 업그레이드된 파일 시스템으로부터 만들어진 모든 스트림은 이전 버전의 소프트웨어 릴리스를 실행 중인 시스템에서 액세스할 수 없습니다.
Solaris 10 10/08 릴리스: 이 릴리스에서는 권한이 없는 사용자가 ZFS 관리 작업을 수행할 수 있도록 세부적으로 조정된 권한을 부여할 수 있습니다.
zfs allow 및 zfs unallow 명령을 사용하여 권한을 위임 및 제거할 수 있습니다.
풀의 delegation 등록 정보를 사용하여 위임된 관리를 수정할 수 있습니다. 예를 들면 다음과 같습니다.
# zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation on default # zpool set delegation=off users # zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation off local
기본적으로 delegation 등록 정보는 사용으로 설정됩니다.
자세한 내용은 9 장Oracle Solaris ZFS 위임 관리 및 zfs(1M)을 참조하십시오.
Solaris 10 10/08 릴리스: 동기식 트랜잭션에 대한 POSIX 요구 사항을 충족시키기 위해 ZIL(ZFS 의도 로그)이 제공됩니다. 예를 들어, 데이터베이스의 트랜잭션이 시스템 호출에서 반환될 때 안정된 저장소 장치에서 이루어져야 할 경우가 자주 있습니다. NFS 및 기타 응용 프로그램은 fsync()를 사용하여 데이터 안정성을 보장할 수도 있습니다. 기본적으로 ZIL은 기본 저장소 풀 내의 블록에서 할당됩니다. 이 릴리스에서는 ZIL 블록을 기본 저장소 풀에서 계속 할당할지 또는 별도의 로그 장치에서 할당할지를 결정할 수 있습니다. NVRAM 또는 전용 디스크와 같이 ZFS 저장소 풀에서 별도의 의도 로그 장치를 사용하면 더 나은 성능을 얻을 수 있습니다.
ZFS 의도 로그용 로그 장치는 데이터베이스 로그 파일과 관련이 없습니다.
저장소 풀을 만들 때 또는 해당 풀이 만들어진 후 ZFS 로그 장치를 설정할 수 있습니다. 로그 장치 설정에 대한 예제는 로그 장치를 사용하여 ZFS 저장소 풀 만들기 및 저장소 풀에 장치 추가를 참조하십시오.
로그 장치를 기존 로그 장치에 연결하여 미러된 로그 장치를 만들 수 있습니다. 이 작업은 미러링되지 않은 저장소 풀에서 장치를 연결하는 것과 동일합니다.
ZFS 로그 장치 설정이 해당 환경에 적합한지 여부를 확인하려면 다음과 같은 요소를 고려하십시오.
별도의 로그 장치를 구현하여 얻을 수 있는 성능 향상은 장치 유형, 풀의 하드웨어 구성 및 응용 프로그램 작업 부하에 따라 달라집니다. 기본적인 성능 정보를 보려면 다음 블로그를 참조하십시오.
http://blogs.oracle.com/perrin/entry/slog_blog_or_blogging_on
로그 장치는 복제를 취소하거나 미러링할 수 있지만 RAID-Z는 로그 장치에 지원되지 않습니다.
별도의 로그 장치가 미러링되지 않았고 장치에 로그 오류가 포함된 경우 로그 블록을 저장하면 저장소 풀로 복구됩니다.
로그 장치는 추가, 교체, 연결, 연결 해제할 수 있으며, 더 큰 저장소 풀의 일부로 가져오고 내보낼 수 있습니다. Solaris 10 9/10 릴리스부터는 로그 장치를 제거할 수 있습니다.
로그 장치의 최소 크기는 풀에 있는 각 장치의 최소 크기(64MB)와 동일합니다. 로그 장치에 저장할 수 있는 in-play 데이터의 양은 비교적 적습니다. 로그 블록은 로그 트랜잭션(시스템 호출)이 커밋될 때 비워집니다.
로그 장치의 최대 크기는 저장 가능한 in-play 데이터의 최대 크기이므로 실제 메모리 크기의 약 1/2이어야 합니다. 예를 들어 시스템의 실제 메모리가 16GB인 경우 최대 로그 장치 크기는 8GB가 적당합니다.
Solaris 10 10/08 릴리스: zfs create, zfs clone 및 zfs rename 명령에 -p 옵션을 사용하여 존재하지 않는 중간 데이터 집합(없는 경우)을 신속하게 만들 수 있습니다.
다음 예제에서는 ZFS 데이터 집합(users/area51)이 datab 저장소 풀에 만들어집니다.
# zfs list NAME USED AVAIL REFER MOUNTPOINT datab 106K 16.5G 18K /datab # zfs create -p -o compression=on datab/users/area51
만들기 작업 중에 중간 데이터 집합이 이미 있으면 작업이 성공적으로 완료됩니다.
지정된 등록 정보는 중간 데이터 집합이 아니라 대상 데이터 집합에 적용됩니다. 예를 들면 다음과 같습니다.
# zfs get mountpoint,compression datab/users/area51 NAME PROPERTY VALUE SOURCE datab/users/area51 mountpoint /datab/users/area51 default datab/users/area51 compression on local
기본 마운트 지점을 사용하여 중간 데이터 집합이 만들어집니다. 중간 데이터 집합에 대한 모든 추가 등록 정보는 사용 안함으로 설정됩니다. 예를 들면 다음과 같습니다.
# zfs get mountpoint,compression datab/users NAME PROPERTY VALUE SOURCE datab/users mountpoint /datab/users default datab/users compression off default
자세한 내용은 zfs(1M)를 참조하십시오.
Solaris 10 10/08 릴리스: 이 릴리스에서는 ZFS가 제거된 장치에 보다 효과적으로 응답하며, 삽입된 장치를 이제 자동으로 식별할 수 있습니다.
zpool replace 명령을 사용하지 않고도 기존 장치를 동급 장치로 대체할 수 있습니다.
autoreplace 등록 정보는 장치 자동 대체를 제어합니다. off로 설정된 경우, 관리자가 zpool replace 명령을 사용하여 장치 교체를 시작해야 합니다. on으로 설정된 경우, 이전에 풀에 속하던 장치와 동일한 실제 위치에 있는 새 장치가 발견되면 자동으로 포맷되고 교체됩니다. 기본 동작은 off입니다.
시스템을 실행하는 동안 장치 또는 핫 스페어가 실제로 제거되면 저장소 풀 상태 REMOVED가 제공됩니다. 가능한 경우, 제거된 장치 대신 핫 스페어 장치가 대체됩니다.
장치를 제거한 후 다시 삽입하면 장치가 온라인으로 배치됩니다. 장치를 다시 삽입할 때 핫 스페어가 활성화된 경우, 온라인 작업이 완료되면 핫 스페어가 제거됩니다.
장치 제거 또는 삽입 자동 감지는 하드웨어에 따라 다르며 일부 플랫폼에서는 지원되지 않을 수 있습니다. 예를 들어, USB 장치는 삽입 즉시 자동으로 구성됩니다. 그러나 cfgadm -c configure 명령을 사용하여 SATA 드라이브를 구성해야 할 수 있습니다.
핫 스페어는 온라인 상태이고 사용 가능한지 정기적으로 점검됩니다.
자세한 내용은 zpool(1M)을 참조하십시오.
Solaris 10 10/08 릴리스: zfs rename -r 명령을 사용하여 모든 종속 ZFS 스냅샷의 이름을 반복해서 바꿀 수 있습니다. 예를 들면 다음과 같습니다.
먼저 ZFS 파일 시스템 집합에 대한 스냅샷이 만들어집니다.
# zfs snapshot -r users/home@today # zfs list -t all -r users/home NAME USED AVAIL REFER MOUNTPOINT users/home 2.00G 64.9G 33K /users/home users/home@today 0 - 33K - users/home/mark 1.00G 64.9G 1.00G /users/home/mark users/home/mark@today 0 - 1.00G - users/home/neil 1.00G 64.9G 1.00G /users/home/neil users/home/neil@today 0 - 1.00G -
그런 후 다음 날 스냅샷 이름이 바뀝니다.
# zfs rename -r users/home@today @yesterday # zfs list -t all -r users/home users/home 2.00G 64.9G 33K /users/home users/home@yesterday 0 - 33K - users/home/mark 1.00G 64.9G 1.00G /users/home/mark users/home/mark@yesterday 0 - 1.00G - users/home/neil 1.00G 64.9G 1.00G /users/home/neil users/home/neil@yesterday 0 - 1.00G -
스냅샷은 반복해서 이름을 바꿀 수 있는 유일한 데이터 집합 유형입니다.
스냅샷에 대한 자세한 내용은 ZFS 스냅샷 개요 및 롤링 스냅샷 만들기 방법을 설명하는 다음 블로그 항목을 참조하십시오.
http://blogs.oracle.com/mmusante/entry/rolling_snapshots_made_easy
Solaris 10 10/08 릴리스: 이 릴리스에서는 lzjb 압축 외에도 ZFS 파일 시스템에서 gzip 압축을 설정할 수 있습니다. gzip 또는 gzip- N으로 압축을 지정할 수 있습니다. 여기서 N은 1부터 9까지입니다. 예를 들면 다음과 같습니다.
# zfs create -o compression=gzip users/home/snapshots # zfs get compression users/home/snapshots NAME PROPERTY VALUE SOURCE users/home/snapshots compression gzip local # zfs create -o compression=gzip-9 users/home/oldfiles # zfs get compression users/home/oldfiles NAME PROPERTY VALUE SOURCE users/home/oldfiles compression gzip-9 local
ZFS 등록 정보 설정에 대한 자세한 내용은 ZFS 등록 정보 설정을 참조하십시오.
Solaris 10 10/08 릴리스: 안정성을 확보하기 위해 ZFS 파일 시스템 메타 데이터는 가능한 한 여러 디스크에 여러 번 자동으로 저장됩니다. 이 기능은 복제 블록(ditto blocks)으로 알려져 있습니다.
이 릴리스에서는 사용자 데이터도 zfs set copies 명령을 사용하여 파일 시스템당 여러 개의 사본을 저장할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs set copies=2 users/home # zfs get copies users/home NAME PROPERTY VALUE SOURCE users/home copies 2 local
사용 가능한 값은 1, 2 또는 3입니다. 기본값은 1입니다. 이러한 사본은 미러링된 구성 또는 RAID-Z 구성에서와 같이 모든 풀 레벨의 중복성에 대해 추가로 설정됩니다.
ZFS 사용자 데이터의 사본을 여러 개 저장했을 때 얻을 수 있는 이점은 다음과 같습니다.
모든 ZFS 구성에서 미디어 오류(비트 로트(bit rot)라고도 부름)와 같은 복구할 수 없는 블록 읽기 결함을 복구할 수 있도록 지원하여 데이터 보존 기능이 강화됩니다.
단일 디스크만 사용할 수 있는 경우에도 데이터 보호를 제공합니다.
저장소 풀의 기능을 넘어 파일 시스템 단위로 데이터 보호 정책을 선택할 수 있습니다.
주 - 저장소 풀의 복제 블록(ditto block) 할당에 따라 여러 복사본이 단일 디스크에 배치될 수도 있습니다. 이후 전체 디스크 오류가 발생하면 모든 복제 블록(ditto block)을 사용하지 못하게 될 수 있습니다.
복제 블록(ditto block)은 중복되지 않은 풀을 실수로 만드는 경우 그리고 데이터 보존 정책을 설정해야 할 경우에 사용할 수 있습니다.
단일 디스크 풀 또는 다중 디스크 풀을 사용하여 시스템에 여러 복사본을 저장할 경우에 전반적인 데이터 보호에 미치는 영향에 대한 자세한 내용을 보려면 다음 블로그를 참조하십시오.
http://blogs.oracle.com/relling/entry/zfs_copies_and_data_protection
ZFS 등록 정보 설정에 대한 자세한 내용은 ZFS 등록 정보 설정을 참조하십시오.
Solaris 10 8/07 릴리스: zpool status -v 명령을 사용하여 지속되는 오류가 있는 파일 목록을 표시할 수 있습니다. 이전에는 find -inum 명령을 사용하여 표시된 Inode 목록에서 파일 이름을 식별해야 했습니다.
지속적인 오류가 있는 파일 목록 표시에 대한 자세한 내용은 손상된 파일 또는 디렉토리 복구를 참조하십시오.
Solaris 10 8/07 릴리스: 이 릴리스에서는 ZFS 볼륨에 shareiscsi 등록 정보를 설정하여 ZFS 볼륨을 Solaris iSCSI 대상 장치로 만들 수 있습니다. 이 방법을 사용하면 Solaris iSCSI 대상을 신속하고 간편하게 설정할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs create -V 2g tank/volumes/v2 # zfs set shareiscsi=on tank/volumes/v2 # iscsitadm list target Target: tank/volumes/v2 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0
iSCSI 대상을 만든 후에는 iSCSI 초기화 프로그램을 설정할 수 있습니다. Solaris iSCSI 초기화 프로그램 설정에 대한 자세한 내용은 System Administration Guide: Devices and File Systems의 14 장, Configuring Oracle Solaris iSCSI Targets and Initiators (Tasks)를 참조하십시오.
ZFS 볼륨을 iSCSI 대상으로 관리에 대한 자세한 내용은 ZFS 볼륨을 Solaris iSCSI 대상으로 사용을 참조하십시오.
Solaris 10 8/07 릴리스: 이 릴리스에서는 ZFS에서 풀 상태 정보가 수정되는 성공한 zfs 및 zpool 명령이 자동으로 기록됩니다. 예를 들면 다음과 같습니다.
# zpool history History for 'newpool': 2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0 2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0 2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0 2007-04-25.11:38:09 zfs create newpool/user1 2007-04-25.11:38:15 zfs destroy newpool/user1 History for 'tank': 2007-04-25.11:46:28 zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0
이 기능을 사용하면 사용자 또는 Oracle 지원 담당자가 오류 시나리오의 문제를 해결하기 위해 실행된 실제 ZFS 명령을 식별할 수 있습니다.
zpool history 명령을 사용하여 특정 저장소 풀을 식별할 수 있습니다. 예를 들면 다음과 같습니다.
# zpool history newpool History for 'newpool': 2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0 2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0 2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0 2007-04-25.11:38:09 zfs create newpool/user1 2007-04-25.11:38:15 zfs destroy newpool/user1
이 릴리스에서 zpool history 명령은 user-ID, hostname 또는 zone-name을 기록하지 않습니다. 하지만 이 정보는 Solaris 10 10/08 릴리스에서부터 기록됩니다. 자세한 내용은 ZFS 명령 기록의 향상된 기능(zpool history)을 참조하십시오.
ZFS 문제 해결에 대한 자세한 내용은 ZFS 관련 문제 해결을 참조하십시오.
Solaris 10 8/07 릴리스: xattr 등록 정보를 사용하여 특정 ZFS 파일 시스템에 대한 확장 속성을 사용 또는 사용 안함으로 설정할 수 있습니다. 기본값은 on입니다. ZFS 등록 정보에 대한 설명은 ZFS 등록 정보 소개를 참조하십시오.
Solaris 10 8/07 릴리스: 새로운 canmount 등록 정보를 사용하면 zfs mount 명령을 사용하여 데이터 집합을 마운트할 수 있는지 여부를 지정할 수 있습니다. 자세한 내용은 canmount 등록 정보를 참조하십시오.
Solaris 10 8/07 릴리스: 내부 통계를 내보내거나 ZFS 파일 시스템 동작을 제어하기 위해 사용할 수 있는 표준 고유 등록 정보 외에도 ZFS에서는 사용자 등록 정보가 제공됩니다. 사용자 등록 정보는 ZFS 동작에 영향을 주지 않지만 이를 사용하여 해당 환경에 필요한 정보를 사용하여 데이터 집합에 주석으로 달 수 있습니다.
자세한 내용은 ZFS 사용자 등록 정보를 참조하십시오.
Solaris 10 8/07 릴리스: 이 릴리스에서는 파일 시스템이 만들어진 바로 직후가 아니라 파일 시스템을 만들 때 등록 정보를 설정할 수 있습니다.
다음 예제에서는 이러한 구문을 보여 줍니다.
# zfs create tank/home # zfs set mountpoint=/export/zfs tank/home # zfs set quota=50g tank/home # zfs set compression=on tank/home
# zfs create -o mountpoint=/export/zfs -o quota=50g -o compression=on tank/home
Solaris 10 8/07 릴리스: 이 릴리스에서는 zfs get 명령을 다양한 형태로 사용하여 사용자가 데이터 집합을 지정하지 않았거나 all을 지정한 경우 모든 데이터 집합에 대한 정보를 표시할 수 있습니다. 이전 릴리스에서는 zfs get 명령을 사용하여 모든 데이터 집합 정보를 검색할 수 없었습니다.
예를 들면 다음과 같습니다.
# zfs get -r -s local all tank/home NAME PROPERTY VALUE SOURCE tank/home atime off local tank/home/jeff atime off local tank/home/mark quota 50G local
Solaris 10 8/07 릴리스: 이 릴리스에서는 새로운 -F 옵션을 zfs receive 명령에 사용하여 수신이 시작되기 전에 가장 최근의 스냅샷으로 파일 시스템의 롤백을 강제 적용할 수 있습니다. 롤백이 발생한 후 파일 시스템이 수정되었지만 아직 수신이 시작되지 않은 경우 이 옵션을 사용해야 할 수 있습니다.
자세한 내용은 ZFS 스냅샷 수신을 참조하십시오.
Solaris 10 11/06 릴리스: zfs snapshot 명령을 사용하여 파일 시스템 스냅샷을 만들 때는 -r 옵션을 사용하여 모든 종속 파일에 대한 스냅샷을 반복해서 만들 수 있습니다. 또한 스냅샷을 삭제할 때에도 -r 옵션을 사용하여 모든 종속 스냅샷을 반복해서 삭제할 수 있습니다.
반복적인 ZFS 스냅샷은 하나의 원자성 작업으로 신속하게 만들어집니다. 스냅샷은 한꺼번에 동시에 생성되거나, 아니면 전혀 생성되지 않습니다. 이러한 작업의 이점은 종속 파일 시스템이 분산되어 있더라도 스냅샷 데이터를 항상 한 번에 일관적으로 만들 수 있다는 것입니다.
자세한 내용은 ZFS 스냅샷 만들기 및 삭제를 참조하십시오.
Solaris 10 11/06 릴리스: 중복 RAID-Z 구성은 이제 단일 또는 이중 패리티 구성을 포함할 수 있습니다. 즉, 데이터 손실 없이 각각 한 개 또는 두 개의 장치 오류를 허용할 수 있습니다. 이중 패리티 RAID-Z 구성에는 raidz2 키워드를 지정할 수 있습니다. 또는 단일 패리티 RAID-Z 구성의 경우 raidz 또는 raidz1 키워드를 지정할 수 있습니다.
자세한 내용은 RAID-Z 저장소 풀 만들기 또는 zpool(1M)을 참조하십시오.
Solaris 10 11/06 릴리스: ZFS 핫 스페어 기능을 사용하면 하나 이상의 저장소 풀에서 실패한 또는 결함이 발생한 장치를 교체하기 위해 사용할 수 있는 디스크를 식별할 수 있습니다. 장치를 핫 스페어로 지정하면 풀의 활성 장치가 실패하더라도 핫 스페어가 자동으로 실패한 장치를 교체합니다. 또는 저장소 풀의 장치를 핫 스페어로 수동으로 교체할 수도 있습니다.
자세한 내용은 저장소 풀에서 핫 스페어 지정 및 zpool(1M)을 참조하십시오.
Solaris 10 11/06 릴리스: zfs promote 명령을 사용하면 기존 ZFS 파일 시스템을 해당 파일 시스템의 복제본으로 교체할 수 있습니다. 이 기능은 대체 버전의 파일 시스템에서 테스트를 실행한 다음 해당 대체 버전을 활성 파일 시스템으로 만들려는 경우에 유용합니다.
자세한 내용은 ZFS 복제본으로 ZFS 파일 시스템 대체 및 zfs(1M)을 참조하십시오.
Solaris 10 6/06 릴리스: 저장소 풀을 새 버전의 ZFS로 업그레이드하면 zpool upgrade 명령을 사용하여 최신 기능을 활용할 수 있습니다. 또한 zpool status 명령은 풀에서 이전 버전의 ZFS를 실행할 경우 이를 사용자에게 알리도록 수정되었습니다.
자세한 내용은 ZFS 저장소 풀 업그레이드 및 zpool(1M)을 참조하십시오.
이전 Solaris 릴리스의 풀을 사용하는 시스템에서 ZFS 관리 콘솔을 사용하려면 콘솔을 사용하기 전에 풀을 업그레이드해야 합니다. 풀을 업그레이드해야 하는지 확인하려면 zpool status 명령을 사용합니다. ZFS 관리 콘솔에 대한 자세한 내용은 ZFS 웹 기반 관리를 참조하십시오.
Solaris 10 6/06 릴리스: 이 릴리스에서는 zfs backup 및 zfs restore 명령의 이름이 이러한 명령의 기능을 보다 정확하게 나타내기 위해 zfs send 및 zfs receive로 바뀌었습니다. 이러한 명령은 ZFS 데이터 스트림 표시를 전송 및 수신합니다.
이러한 명령에 대한 자세한 내용은 ZFS 데이터 전송 및 수신을 참조하십시오.
Solaris 10 6/06 릴리스: 이 릴리스에는 이전에 zpool destroy 명령을 사용하여 삭제된 풀을 복구할 수 있게 해주는 zpool import -D 명령이 포함되었습니다.
자세한 내용은 삭제된 ZFS 저장소 풀 복구를 참조하십시오.
Solaris 10 6/06 릴리스: 이 릴리스에는 풀 오류 및 장치 오류를 진단하고 보고할 수 있는 ZFS 진단 엔진이 포함되었습니다. 풀 또는 장치 오류와 연관된 체크섬, I/O, 장치 및 풀 오류도 보고됩니다.
진단 엔진에는 체크섬 및 I/O 오류에 대한 예측 분석이 포함되지 않으며 결함 분석에 따른 사전 조치도 포함되지 않습니다.
ZFS 오류가 발생하면 다음과 비슷한 메시지가 표시됩니다.
SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major EVENT-TIME: Wed Jun 30 14:53:39 MDT 2010 PLATFORM: SUNW,Sun-Fire-880, CSN: -, HOSTNAME: neo SOURCE: zfs-diagnosis, REV: 1.0 EVENT-ID: 504a1188-b270-4ab0-af4e-8a77680576b8 DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information. AUTO-RESPONSE: No automated response will occur. IMPACT: Fault tolerance of the pool may be compromised. REC-ACTION: Run 'zpool status -x' and replace the bad device.
zpool status 명령에서 보다 구체적인 지침을 따르는 권장 조치를 검토하여 오류를 신속하게 식별하고 해결할 수 있습니다.
보고된 ZFS 문제로부터 복구하는 예제는 누락된 장치 해결을 참조하십시오.
Solaris 10 6/06 릴리스: 이 릴리스에는 장치 또는 풀과 연관된 오류 수를 지울 수 있는 zpool clear 명령이 포함되었습니다. 이전에는 zpool online 명령을 사용하여 풀의 장치를 온라인 상태로 만들 경우 오류 수가 지워졌습니다. 자세한 내용은 저장소 풀 장치 오류 지우기 및 zpool(1M)을 참조하십시오.
Solaris 10 6/06 릴리스: 이 릴리스에서는 verbose 및 compact의 두 가지 형식으로 NFSv4 ACL을 설정하고 표시할 수 있습니다. chmod 명령을 사용하면 ACL 형식을 설정할 수 있습니다. ls -V 명령을 사용하면 Compact ACL 형식으로 표시할 수 있습니다. ls -v 명령을 사용하면 Verbose ACL 형식으로 표시할 수 있습니다.
자세한 내용은 Compact 형식으로 ZFS 파일에서 ACL 설정 및 표시, chmod(1) 및 ls(1)을 참조하십시오.
Solaris 10 6/06 릴리스: 새로운 파일 시스템 모니터링 도구인 fsstat는 파일 시스템 작업을 보고합니다. 마운트 지점이나 파일 시스템 유형별로 작업을 보고할 수 있습니다. 다음 예제에서는 일반적인 ZFS 파일 시스템 작업을 보여 줍니다.
$ fsstat zfs new name name attr attr lookup rddir read read write write file remov chng get set ops ops ops bytes ops bytes 7.82M 5.92M 2.76M 1.02G 3.32M 5.60G 87.0M 363M 1.86T 20.9M 251G zfs
자세한 내용은 fsstat(1M)을 참조하십시오.
Solaris 10 6/06 릴리스: 웹 기반 ZFS 관리 도구인 ZFS 관리 콘솔을 사용하면 다음과 같은 관리 작업을 수행할 수 있습니다.
새 저장소 풀 만들기
기존 풀에 용량 추가
다른 시스템으로 저장소 풀 이동(내보내기)
이전에 내보낸 저장소 풀을 가져와서 다른 시스템에서 사용 가능하도록 지정
저장소 풀에 대한 정보 보기
파일 시스템 만들기
볼륨 만들기
파일 시스템 또는 볼륨에 대한 스냅샷 만들기
이전 스냅샷에 파일 시스템 롤백
보안 웹 브라우저를 통해 ZFS 관리 콘솔에 액세스할 수 있습니다.
https://system-name:6789/zfs
적합한 URL을 입력해도 ZFS 관리 콘솔에 연결할 수 없으면 서버가 시작되지 않았을 수 있습니다. 서버를 시작하려면 다음 명령을 실행합니다.
# /usr/sbin/smcwebserver start
시스템이 부트될 때 서버가 자동으로 실행되도록 하려면 다음 명령을 실행합니다.
# /usr/sbin/smcwebserver enable
주 - Solaris Management Console(smc)을 사용해서는 ZFS 저장소 풀이나 파일 시스템을 관리할 수 없습니다.