설정 가능한 고유 등록 정보는 해당 값에 대해 검색 및 설정을 모두 수행할 수 있는 등록 정보입니다. 설정 가능한 고유 등록 정보는 ZFS 등록 정보 설정에 설명된 대로 ZFS 등록 정보 설정 명령을 사용하거나 ZFS 파일 시스템 만들기에 설명된 대로 ZFS 파일 시스템 만들기 명령을 사용하여 설정됩니다. 쿼터 및 예약을 제외하고, 설정 가능한 고유 등록 정보는 상속됩니다. 쿼터 및 예약에 대한 자세한 내용은 ZFS 쿼터 및 예약 설정을 참조하십시오.
일부 설정 가능한 고유 등록 정보는 특정 데이터 세트의 유형에 한정됩니다. Table 5–1에는 이러한 데이터 유형에 대한 설명이 포함되어 있습니다. 특별히 언급되지 않는 한 등록 정보는 파일 시스템, 볼륨, 복제본 및 스냅샷 등 모든 데이터 세트 유형에 적용됩니다.
설정 가능한 등록 정보는 여기에 나열되어 있고 Table 5–1에 설명되어 있습니다.
aclinherit
자세한 내용은 ACL 등록 정보를 참조하십시오.
aclmode
자세한 내용은 ACL 등록 정보를 참조하십시오.
atime
canmount
casesensitivity
checksum
compression
copies
devices
dedup
encryption
exec
keysource
logbias
mlslabel
mountpoint
nbmand
normalization
primarycache
quota
readonly
recordsize
자세한 내용은 recordsize 등록 정보를 참조하십시오.
refquota
refreservation
reservation
rstchown
secondarycache
share.smb
share.nfs
setuid
snapdir
version
vscan
utf8only
volsize
자세한 내용은 volsize 등록 정보를 참조하십시오.
volblocksize
zoned
xattr
canmount 등록 정보가 off로 설정된 경우 zfs mount 또는 zfs mount –a 명령을 사용하여 파일 시스템을 마운트할 수 없습니다. 파일 시스템에 상속 가능한 일반적인 mountpoint 등록 정보가 계속 포함된다는 점만 제외하면 이 등록 정보를 off로 설정하는 것은 mountpoint 등록 정보를 none으로 설정하는 것과 비슷합니다. 예를 들어, 이 등록 정보를 off로 설정하고, 종속 파일 시스템에 대해 상속 가능한 등록 정보를 설정할 수 있지만 부모 파일 시스템 자체는 마운트되지 않으며 사용자가 액세스할 수도 없습니다. 이 경우 부모 파일 시스템은 사용자가 컨테이너에 대한 등록 정보를 설정할 수 있도록 container로 작동하지만 컨테이너 자체는 액세스할 수 없습니다.
다음 예제에서는 userpool을 만들고 해당 canmount 등록 정보를 off로 설정합니다. 종속 사용자 파일 시스템의 마운트 지점은 하나의 공통 마운트 지점인 /export/home으로 설정됩니다. 부모 파일 시스템에 설정되는 등록 정보는 종속 파일 시스템에 의해 상속되지만 부모 파일 시스템 자체는 마운트되지 않습니다.
# zpool create userpool mirror c0t5d0 c1t6d0 # zfs set canmount=off userpool # zfs set mountpoint=/export/home userpool # zfs set compression=on userpool # zfs create userpool/user1 # zfs create userpool/user2 # zfs mount userpool/user1 /export/home/user1 userpool/user2 /export/home/user2
canmount 등록 정보를 noauto로 설정하면 파일 시스템을 자동이 아닌 명시적인 방식으로만 마운트할 수 있습니다.
이 등록 정보는 파일 시스템에서 사용되는 파일 이름 일치 알고리즘이 casesensitive인지, caseinsensitive인지 또는 두 일치 스타일의 조합 허용(mixed)인지 나타냅니다.
대소문자 무시 일치 요청이 혼합된 민감도 파일 시스템으로 구성된 경우 동작은 일반적으로 대소문자 무시 파일 시스템에 예상되는 동작과 같습니다. 차이점은 혼합된 민감도 파일 시스템에는 대소문자 구분 관점에서 고유하지만 대소문자 무시 관점에서는 고유하지 않은 여러 이름이 있는 디렉토리가 포함될 수 있다는 것입니다.
예를 들어, 디렉토리에 foo, Foo 및 FOO 파일이 포함될 수 있습니다. foo의 가능한 모든 형태에 대해 대소문자를 무시하고 일치시키도록 요청할 경우(예: foo, FOO, FoO, fOo 등) 일치 알고리즘에서 기존 파일 3개 중 하나를 일치 항목으로 선택합니다. 알고리즘이 일치 항목으로 선택하는 파일이 정확하게 보장되지는 않지만 foo 형태의 일치 항목으로 항상 동일한 파일이 선택됩니다. foo, FOO, foO, Foo 등의 대소문자 무시 일치 항목으로 선택되는 파일은 디렉토리를 변경하지 않는 한 항상 동일합니다.
utf8only, normalization 및 casesensitivity 등록 정보는 ZFS 위임 관리를 사용하여 권한 없는 사용자에게 지정할 수 있는 새 권한도 제공합니다. 자세한 내용은 ZFS 권한 위임을 참조하십시오.
안정성을 확보하기 위해 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)은 중복되지 않은 풀을 실수로 만드는 경우 그리고 데이터 보존 정책을 설정해야 할 경우에 사용할 수 있습니다.
dedup 등록 정보는 파일 시스템에서 중복 데이터를 제거할지 여부를 제어합니다. 파일 시스템의 dedup 등록 정보가 사용으로 설정된 경우 중복 데이터 블록이 동기적으로 제거됩니다. 그 결과, 고유한 데이터만 저장되고 공통 구성 요소는 파일 간에 공유됩니다.
다음 고려 사항을 검토할 때까지 운용 시스템에 있는 파일 시스템에서 dedup 등록 정보를 사용으로 설정하지 마십시오.
중복 제거를 통해 공간 절약이 가능한 데이터인지 확인합니다. zdb –S 명령을 실행하여 풀에 중복 제거를 사용하도록 설정할 경우 가능한 공간 절약을 시뮬레이션할 수 있습니다. 사용률이 낮은 풀에서 이 명령을 실행해야 합니다. 데이터가 중복 제거 가능이 아닌 경우 중복 제거를 사용으로 설정해도 아무 의미가 없습니다. 예를 들면 다음과 같습니다.
# zdb -S tank Simulated DDT histogram: bucket allocated referenced ______ ______________________________ ______________________________ refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE ------ ------ ----- ----- ----- ------ ----- ----- ----- 1 2.27M 239G 188G 194G 2.27M 239G 188G 194G 2 327K 34.3G 27.8G 28.1G 698K 73.3G 59.2G 59.9G 4 30.1K 2.91G 2.10G 2.11G 152K 14.9G 10.6G 10.6G 8 7.73K 691M 529M 529M 74.5K 6.25G 4.79G 4.80G 16 673 43.7M 25.8M 25.9M 13.1K 822M 492M 494M 32 197 12.3M 7.02M 7.03M 7.66K 480M 269M 270M 64 47 1.27M 626K 626K 3.86K 103M 51.2M 51.2M 128 22 908K 250K 251K 3.71K 150M 40.3M 40.3M 256 7 302K 48K 53.7K 2.27K 88.6M 17.3M 19.5M 512 4 131K 7.50K 7.75K 2.74K 102M 5.62M 5.79M 2K 1 2K 2K 2K 3.23K 6.47M 6.47M 6.47M 8K 1 128K 5K 5K 13.9K 1.74G 69.5M 69.5M Total 2.63M 277G 218G 225G 3.22M 337G 263G 270G dedup = 1.20, compress = 1.28, copies = 1.03, dedup * compress / copies = 1.50
예상 중복 제거 비율이 2보다 클 경우 중복 제거를 통한 공간 절약 효과가 있습니다.
위 예에서는 중복 제거 비율이 2보다 작기 때문에 중복 제거를 사용으로 설정하지 않는 것이 좋습니다.
시스템 메모리가 중복 제거를 지원할 정도로 충분한지 확인합니다.
코어 내 중복 제거 테이블 항목은 각각 약 320바이트입니다.
할당된 블록 수에 320을 곱합니다. 예를 들면 다음과 같습니다.
in-core DDT size = 2.63M x 320 = 841.60M
중복 제거 테이블이 메모리에 적합할 때 중복 제거 성능이 가장 좋습니다. 중복 제거 테이블을 디스크에 기록해야 할 경우 성능이 저하됩니다. 예를 들어, 중복 제거가 사용으로 설정된 대형 파일 시스템을 제거할 경우 시스템이 위에 설명된 메모리 요구 사항을 충족하지 않으면 시스템 성능이 크게 저하됩니다.
dedup가 사용으로 설정된 경우 dedup 체크섬 알고리즘이 checksum 등록 정보를 대체합니다. 등록 정보 값을 verify로 설정하는 것은 sha256,verify를 지정하는 것과 같습니다. 등록 정보가 verify로 설정되고 두 블록에 동일한 서명이 있는 경우 ZFS는 기존 블록과 바이트 단위 비교를 수행하여 컨텐츠가 동일한지 확인합니다.
파일 시스템별로 이 등록 정보를 사용으로 설정할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs set dedup=on tank/home
zfs get 명령을 사용하여 dedup 등록 정보가 설정되었는지 확인할 수 있습니다.
중복 제거는 파일 시스템 등록 정보로 설정되지만 범위가 풀 전체입니다. 예를 들어, 중복 제거 비율을 식별할 수 있습니다. 예를 들면 다음과 같습니다.
# zpool list tank NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 136G 55.2G 80.8G 40% 2.30x ONLINE -
DEDUP 열은 발생한 중복 제거 양을 나타냅니다. dedup 등록 정보가 어떤 파일 시스템에서도 사용으로 설정되지 않았거나 dedup 등록 정보가 파일 시스템에서 방금 사용으로 설정된 경우 DEDUP 비율은 1.00x입니다.
zpool get 명령을 사용하여 dedupratio 등록 정보 값을 확인할 수 있습니다. 예를 들면 다음과 같습니다.
# zpool get dedupratio export NAME PROPERTY VALUE SOURCE rpool dedupratio 3.00x -
이 풀 등록 정보는 이 풀에서 발생한 데이터 중복 제거 양을 보여줍니다.
encryption 등록 정보를 사용하여 ZFS 파일 시스템을 암호화할 수 있습니다. 자세한 내용은 ZFS 파일 시스템 암호화를 참조하십시오.
recordsize 등록 정보는 파일 시스템에서 파일의 권장 블록 크기를 지정합니다.
이 등록 정보는 고정 크기 레코드의 파일을 액세스하는 데이터베이스 작업 부하에서만 사용하도록 디자인되었습니다. ZFS는 일반적인 액세스 패턴에 맞게 최적화된 내부 알고리즘에 따라 블록 크기를 자동으로 조정합니다. 매우 큰 파일을 만들지만 작은 모든 청크로 파일을 액세스하는 데이터베이스의 경우 이러한 알고리즘은 최적의 방식이 아닐 수 있습니다. 데이터베이스의 레코드 크기보다 크거나 같은 recordsize 값을 지정하면 상당한 성능상의 이점을 얻을 수 있습니다. 일반 목적의 파일 시스템에서는 이 등록 정보를 사용하지 않는 것이 좋으며, 이 등록 정보를 사용할 경우 성능에 부정적인 영향을 줄 수 있습니다. 크기는 512바이트에서 1MB 이하의 값 중 임의 값에 대한 2배 값으로 지정해야 합니다. 파일 시스템의 recordsize 값을 변경하면 이후에 만들어지는 파일에만 영향을 줍니다. 기존 파일에는 영향을 주지 않습니다.
이 등록 정보의 약어는 recsize입니다.
이 등록 정보는 Oracle Solaris SMB 서비스와 ZFS 파일 시스템 공유를 사용으로 설정하고 사용할 옵션을 식별합니다.
등록 정보가 off에서 on으로 변경되면 이 등록 정보를 상속하는 모든 공유가 현재 옵션으로 다시 공유됩니다. 등록 정보가 off로 설정된 경우 이 등록 정보를 상속하는 공유가 해제됩니다. share.smb 등록 정보 사용 예를 보려면 ZFS 파일 시스템 공유 및 공유 해제를 참조하십시오.
volsize 등록 정보는 볼륨의 논리적 크기를 지정합니다. 기본적으로 볼륨을 만들면 동일 크기의 예약이 설정됩니다. volsize를 변경하면 예약에도 변경 사항이 동일하게 반영됩니다. 이러한 검사는 사용자에게 예상치 않은 동작이 발생하지 않도록 방지하기 위해 사용됩니다. 볼륨에 요청한 것보다 적은 공간이 포함된 경우 볼륨의 사용 방식에 따라 정의되지 않은 동작이 발생하거나 데이터 손상이 일어날 수 있습니다. 또한 볼륨을 사용 중일 때 볼륨 크기를 변경하는 경우, 특히 크기를 줄이는 경우에도 이러한 효과가 발생할 수 있습니다. 볼륨 크기를 조정할 때는 특히 주의가 필요합니다.
볼륨 사용에 대한 자세한 내용은 ZFS 볼륨을 참조하십시오.