탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
Oracle Solaris ZFS 관리 설명서 Oracle Solaris 10 1/13 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
Oracle Solaris ZFS와 전통적인 파일 시스템의 차이
3. Oracle Solaris ZFS 저장소 풀 관리
4. Oracle Solaris ZFS 루트 파일 시스템 설치 및 부트
5. Oracle Solaris ZFS 파일 시스템 관리
6. Oracle Solaris ZFS 스냅샷 및 복제 작업
7. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
이 절에서는 ZFS 파일 시스템의 새 기능을 요약해서 보여 줍니다.
Oracle Solaris 10 1/13: zfs 및 zpool 명령에는 zfs 및 zpool 하위 명령과 지원되는 옵션에 대한 자세한 정보를 제공하기 위해 사용할 수 있는 help 하위 명령이 포함되어 있습니다. 예를 들면 다음과 같습니다.
# zfs help The following commands are supported: allow clone create destroy diff get groupspace help hold holds inherit list mount promote receive release rename rollback send set share snapshot unallow unmount unshare upgrade userspace For more info, run: zfs help <command> # zfs help create usage: create [-p] [-o property=value] ... <filesystem> create [-ps] [-b blocksize] [-o property=value] ... -V <size> <volume>
# zpool help The following commands are supported: add attach clear create destroy detach export get help history import iostat list offline online remove replace scrub set split status upgrade For more info, run: zpool help <command> # zpool help attach usage: attach [-f] <pool> <device> <new-device>
자세한 내용은 zfs(1M) 및 zpool(1M)을 참조하십시오.
Oracle Solaris 10 1/13: 이 릴리스에는 다음과 같이 ZFS 스냅샷에 대한 향상된 기능이 포함됩니다.
zfs snapshot 명령에는 이 명령에 대한 축약 구문을 제공하는 snap 별칭이 포함됩니다. 예를 들면 다음과 같습니다.
# zfs snap -r users/home@snap1
zfs diff 명령은 두 스냅샷 사이에 추가되었거나 수정된 모든 파일을 식별하기 위한 열거형 옵션 -e를 제공합니다. 생성된 출력 결과는 추가된 모든 파일을 식별하지만 가능한 삭제 항목을 제공하지 않습니다. 예를 들면 다음과 같습니다.
# zfs diff -e tank/cindy@yesterday tank/cindy@now + /tank/cindy/ + /tank/cindy/file.1
또한 -o 옵션을 사용하여 표시하도록 선택한 필드를 식별할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs diff -e -o size -o name tank/cindy@yesterday tank/cindy@now + 7 /tank/cindy/ + 206695 /tank/cindy/file.1
ZFS 스냅샷 만들기에 대한 자세한 내용은 6 장Oracle Solaris ZFS 스냅샷 및 복제 작업을 참조하십시오.
Oracle Solaris 10 1/13: aclmode 등록 정보는 chmod 작업 중 파일에 대한 ACL 권한이 수정될 때마다 ACL(액세스 제어 목록) 동작을 수정합니다. aclmode 등록 정보는 다음 등록 정보 값을 사용하여 재도입되었습니다.
discard – aclmode 등록 정보가 discard인 파일 시스템은 파일 모드를 나타내지 않는 ACL 항목을 모두 삭제합니다. 이것이 기본값입니다.
mask – aclmode 등록 정보가 mask인 파일 시스템은 사용자 또는 그룹 권한을 줄입니다. 파일 또는 디렉토리의 소유자와 동일한 UID를 가진 사용자 항목이 아닌 경우 그룹 권한 비트보다 크지 않도록 권한이 감소합니다. 이 경우 소유자 권한 비트보다 크지 않도록 ACL 권한이 감소합니다. 또한 명시적 ACL 세트 작업이 수행되지 않은 경우 모드 변경 후에도 마스크 값이 ACL을 유지합니다.
passthrough – aclmode 등록 정보가 passthrough인 파일 시스템은 파일 또는 디렉토리의 새 모드를 나타내는 데 필요한 ACL 항목의 생성 외에 ACL에 대한 변경 사항이 없음을 나타냅니다.
자세한 내용은 예 7-13을 참조하십시오.
Oracle Solaris 10 8/11: 이 릴리스에서는 다음과 같은 새로운 설치 기능을 사용할 수 있습니다.
텍스트 모드 설치 방법을 사용하여 ZFS 플래시 아카이브로 시스템을 설치할 수 있습니다. 자세한 내용은 예 4-3을 참조하십시오.
Oracle Solaris Live Upgrade luupgrade 명령을 사용하여 ZFS 루트 플래시 아카이브를 설치할 수 있습니다. 자세한 내용은 예 4-8을 참조하십시오.
Oracle Solaris Live Upgrade lucreate 명령을 사용하여 별도의 /var 파일 시스템을 지정할 수 있습니다. 자세한 내용은 예 4-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 명령을 사용하여 누락된 로그로 풀을 가져올 수 있습니다. 자세한 내용은 누락된 로그 장치가 있는 풀 가져오기를 참조하십시오.
읽기 전용 모드로 풀을 가져올 수 있습니다. 이 기능은 주로 풀 복구에 사용됩니다. 기본 장치가 고장나서 손상된 풀에 액세스할 수 없는 경우 읽기 전용 풀을 가져와서 데이터를 복구할 수 있습니다. 자세한 내용은 읽기 전용 모드로 풀 가져오기를 참조하십시오.
이 릴리스에서 생성된 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 릴리스에서 더 이상 사용할 수 없습니다.
자세한 내용은 표 5-1을 참조하십시오.
Oracle Solaris 10 8/11: 이 릴리스에서는 -T 옵션을 사용하여 zpool list 및 zpool status 명령에 대한 간격 및 개수 값을 제공하여 추가 정보를 표시할 수 있습니다.
또한 다음과 같이 추가로 풀 스크러빙 및 리실버링 정보가 zpool status 명령으로 제공됩니다.
리실버링 진행 중 보고입니다. 예를 들면 다음과 같습니다.
scan: resilver in progress since Thu Jun 7 14:41:11 2012 3.83G scanned out of 73.3G at 106M/s, 0h11m to go 3.80G resilvered, 5.22% done
스크러빙 진행 중 보고입니다. 예를 들면 다음과 같습니다.
scan: scrub in progress since Thu Jun 7 14:59:25 2012 1.95G scanned out of 73.3G at 118M/s, 0h10m to go 0 repaired, 2.66% done
리실버링 완료 메시지입니다. 예를 들면 다음과 같습니다.
resilvered 73.3G in 0h13m with 0 errors on Thu Jun 7 14:54:16 2012
스크러빙 완료 메시지입니다. 예를 들면 다음과 같습니다.
scan: scrub repaired 512B in 1h2m with 0 errors on Thu Jun 7 15:10:32 2012
진행 중인 스크러빙 취소 메시지입니다. 예를 들면 다음과 같습니다.
scan: scrub canceled on Thu Jun 7 15:19:20 MDT 2012
스크러빙 및 리실버링 완료 메시지는 시스템 재부트 시에도 지속됩니다.
다음 구문에서는 간격 및 카운트 옵션을 사용하여 지속적인 풀 리실버링 정보를 표시할 수 있습니다. -T d 값을 사용하여 표준 날짜 형식으로 정보를 표시하거나 -T u를 사용하여 내부 형식으로 정보를 표시할 수 있습니다.
# zpool status -T d tank 3 2 Wed Nov 14 15:44:34 MST 2012 pool: tank 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. scan: resilver in progress since Wed Nov 14 15:44:34 2012 2.96G scanned out of 4.19G at 189M/s, 0h0m to go 1.48G resilvered, 70.60% done config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 DEGRADED 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 DEGRADED 0 0 0 (resilvering) errors: No known data errors
Oracle Solaris 10 8/11: 이 릴리스에서는 다음과 같은 ACL의 향상된 기능이 제공됩니다.
단순 ACL에는 비정상적 권한을 제외하고 deny ACE(액세스 제어 항목)가 필요하지 않습니다. 예를 들어, 0644, 0755 또는 0664 모드에는 deny ACE가 필요하지 않지만 0705, 0060 등의 모드에는 deny ACE가 필요합니다.
이전 동작에는 단순 ACL(예: 644)에 deny 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
단순 ACL(예: 644)에 대한 새 동작에는 deny 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에 파일 소유자이기도 한 user ACE가 있는 경우 해당 권한이 권한 모드 계산에 포함됩니다. group ACE가 파일의 그룹 소유자인 경우 동일한 규칙이 적용됩니다.
자세한 내용은 7 장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: 이 릴리스에서는 풀의 디스크가 더 큰 디스크로 교체될 때 시스템 이벤트 또는 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 루트 풀의 Flash 아카이브를 식별하기 위해 JumpStart 프로파일을 설정할 수 있습니다. 자세한 내용은 ZFS 루트 파일 시스템 설치(Oracle Solaris Flash 아카이브 설치)를 참조하십시오.
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 지원도 제공됩니다. 자세한 내용은 4 장Oracle Solaris ZFS 루트 파일 시스템 설치 및 부트를 참조하십시오.
이 릴리스에서 알려진 문제에 대한 목록을 보려면 Solaris 10 10/08 릴리스 노트를 참조하십시오.
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 저장소 풀이나 파일 시스템을 관리할 수 없습니다.