JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1 관리: ZFS 파일 시스템     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

1.  Oracle Solaris ZFS 파일 시스템(소개)

2.  Oracle Solaris ZFS 시작하기

3.  Oracle Solaris ZFS 저장소 풀 관리

4.  ZFS 루트 풀 구성 요소 관리

5.  Oracle Solaris ZFS 파일 시스템 관리

ZFS 파일 시스템 관리(개요)

ZFS 파일 시스템 만들기, 삭제 및 이름 바꾸기

ZFS 파일 시스템 만들기

ZFS 파일 시스템 삭제

ZFS 파일 시스템 이름 바꾸기

ZFS 등록 정보 소개

ZFS 읽기 전용 고유 등록 정보

used 등록 정보

설정 가능한 ZFS 고유 등록 정보

canmount 등록 정보

casesensitivity 등록 정보

copies 등록 정보

dedup 등록 정보

encryption 등록 정보

recordsize 등록 정보

share.smb 등록 정보

volsize 등록 정보

ZFS 사용자 등록 정보

ZFS 파일 시스템 정보 질의

기본 ZFS 정보 나열

복잡한 ZFS 질의 만들기

ZFS 등록 정보 관리

ZFS 등록 정보 설정

ZFS 등록 정보 상속

ZFS 등록 정보 질의

스크립팅을 위한 ZFS 등록 정보 질의

ZFS 파일 시스템 마운트

ZFS 마운트 지점 관리

자동 마운트 지점

레거시 마운트 지점

ZFS 파일 시스템 마운트

임시 마운트 등록 정보 사용

ZFS 파일 시스템 마운트 해제

ZFS 파일 시스템 공유 및 공유 해제

레거시 ZFS 공유 구문

새 ZFS 공유 구문

등록 정보별 상속을 사용하여 ZFS 공유

이전 풀의 ZFS 공유 상속

ZFS 이름이 지정된 공유

ZFS 자동 공유

ZFS 공유 정보 표시

ZFS 공유 등록 정보 값 변경

ZFS 공유 게시 및 게시 해제

ZFS 공유 제거

비전역 영역 내의 ZFS 파일 공유

ZFS 공유 마이그레이션/전환 문제

ZFS 파일 시스템 공유 문제 해결

ZFS 쿼터 및 예약 설정

ZFS 파일 시스템에 대한 쿼터 설정

ZFS 파일 시스템에서 사용자 및 그룹 쿼터 설정

ZFS 파일 시스템에 대한 예약 설정

ZFS 파일 시스템 암호화

암호화된 ZFS 파일 시스템의 키 변경

ZFS 암호화 키 관리

ZFS 키 작업 권한 위임

암호화된 ZFS 파일 시스템 마운트

암호화된 ZFS 파일 시스템 업그레이드

ZFS 압축, 중복 제거 및 암호화 등록 정보 간의 상호 작용

ZFS 파일 시스템 암호화의 예

ZFS 파일 시스템 마이그레이션

파일 시스템을 ZFS 파일 시스템으로 마이그레이션하는 방법

ZFS 파일 시스템 마이그레이션 문제 해결

ZFS 파일 시스템 업그레이드

6.  Oracle Solaris ZFS 스냅샷 및 복제 작업

7.  ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호

8.  Oracle Solaris ZFS 위임 관리

9.  Oracle Solaris ZFS 고급 주제

10.  Oracle Solaris ZFS 문제 해결 및 풀 복구

11.  스냅샷 아카이브 및 루트 풀 복구

12.  Oracle Solaris ZFS 권장 방법

A.  Oracle Solaris ZFS 버전 설명

색인

ZFS 쿼터 및 예약 설정

quota 등록 정보를 사용하여 파일 시스템이 사용할 수 있는 디스크 공간에 대한 한도를 설정할 수 있습니다. 또한 reservation 등록 정보를 사용하여 지정된 디스크 공간을 파일 시스템에 사용할 수 있도록 보장할 수 있습니다. 두 가지 등록 정보는 모두 등록 정보가 설정된 파일 시스템 및 해당 파일 시스템의 모든 종속 항목에 적용됩니다.

즉, 쿼터가 tank/home 파일 시스템에 설정된 경우 tank/home모든 종속 항목에서 사용되는 총 디스크 공간은 쿼터를 초과할 수 없습니다. 이와 비슷하게 tank/home에 예약이 제공된 경우 tank/home모든 종속 항목은 해당 예약으로부터 공간을 가져옵니다. 파일 시스템 및 모든 종속 항목에서 사용되는 디스크 공간은 used 등록 정보로 보고됩니다.

refquotarefreservation 등록 정보는 스냅샷 및 복제본과 같은 종속 항목에서 소비되는 디스크 공간을 고려하지 않고 파일 시스템 공간을 관리하는 데 사용됩니다.

이 Solaris 릴리스에서는 특정 사용자 또는 그룹이 소유하는 파일에서 소비되는 디스크 공간에 대해 사용자 또는 그룹 쿼터를 설정할 수 있습니다. 사용자 및 그룹 쿼터 등록 정보는 볼륨, 파일 시스템 버전 4 이전의 파일 시스템, 풀 버전 15 이전의 풀에 설정할 수 없습니다.

파일 시스템 관리에 가장 효과적인 쿼터 및 예약 기능을 결정할 때는 다음과 같은 사항을 고려하십시오.

쿼터 및 예약 설정에 대한 자세한 내용은 ZFS 파일 시스템에 대한 쿼터 설정ZFS 파일 시스템에 대한 예약 설정을 참조하십시오.

ZFS 파일 시스템에 대한 쿼터 설정

ZFS 파일 시스템에서 쿼터는 zfs setzfs get 명령을 사용하여 설정하고 표시할 수 있습니다. 다음 예제에서는 tank/home/jeff에 10GB 쿼터를 설정합니다.

# zfs set quota=10G tank/home/jeff
# zfs get quota tank/home/jeff
NAME            PROPERTY  VALUE  SOURCE
tank/home/jeff  quota     10G    local

쿼터는 zfs listdf 명령의 출력 결과에도 영향을 줍니다. 예를 들면 다음과 같습니다.

# zfs list -r tank/home
NAME                USED  AVAIL  REFER  MOUNTPOINT
tank/home          1.45M  66.9G    36K  /tank/home
tank/home/eric      547K  66.9G   547K  /tank/home/eric
tank/home/jeff      322K  10.0G   291K  /tank/home/jeff
tank/home/jeff/ws    31K  10.0G    31K  /tank/home/jeff/ws
tank/home/lori      547K  66.9G   547K  /tank/home/lori
tank/home/mark       31K  66.9G    31K  /tank/home/mark
# df -h /tank/home/jeff
Filesystem            Size  Used Avail Use% Mounted on
tank/home/jeff         10G  306K   10G   1% /tank/home/jeff

tank/home에서 66.9GB의 디스크 공간을 사용할 수 있더라도 tank/home/jeff에 대한 쿼터로 인해 tank/home/jefftank/home/jeff/ws에는 각각 10GB의 디스크 공간만 사용할 수 있습니다.

파일 시스템에서 현재 사용 중인 공간보다 적은 양으로 쿼터를 설정할 수는 없습니다. 예를 들면 다음과 같습니다.

# zfs set quota=10K tank/home/jeff
cannot set property for 'tank/home/jeff': 
size is less than current used or reserved space

파일 시스템에서 파일 시스템이 사용할 수 있는 디스크 공간을 제한하는 refquota를 설정할 수 있습니다. 이러한 하드 한계에는 종속 항목에서 소비되는 디스크 공간이 포함되지 않습니다. 예를 들어, studentA의 10GB 쿼터는 스냅샷에서 소비되는 공간의 영향을 받지 않습니다.

# zfs set refquota=10g students/studentA
# zfs list -t all -r students
NAME                          USED  AVAIL  REFER  MOUNTPOINT
students                      150M  66.8G    32K  /students
students/studentA             150M  9.85G   150M  /students/studentA
students/studentA@yesterday      0      -   150M  -
# zfs snapshot students/studentA@today
# zfs list -t all -r students
students                      150M  66.8G    32K  /students
students/studentA             150M  9.90G   100M  /students/studentA
students/studentA@yesterday  50.0M      -   150M  -
students/studentA@today          0      -   100M  -

추가 편의를 위해 스냅샷에서 사용되는 디스크 공간을 쉽게 관리할 수 있도록 파일 시스템에 또 다른 쿼터를 설정할 수 있습니다. 예를 들면 다음과 같습니다.

# zfs set quota=20g students/studentA
# zfs list -t all -r students
NAME                          USED  AVAIL  REFER  MOUNTPOINT
students                      150M  66.8G    32K  /students
students/studentA             150M  9.90G   100M  /students/studentA
students/studentA@yesterday  50.0M      -   150M  -
students/studentA@today          0      -   100M  -

이 시나리오에서 studentArefquota(10GB) 하드 한계에 도달할 수 있지만 스냅샷이 존재하더라도 studentA가 파일을 제거하여 공간을 복구할 수 있습니다.

앞의 예제에서는 두 쿼터(10GB와 20GB) 중 작은 쿼터가 zfs list 출력 결과에 표시되었습니다. 두 쿼터의 값을 보려면 zfs get 명령을 사용합니다. 예를 들면 다음과 같습니다.

# zfs get refquota,quota students/studentA
NAME               PROPERTY  VALUE              SOURCE
students/studentA  refquota  10G                local
students/studentA  quota     20G                local

ZFS 파일 시스템에서 사용자 및 그룹 쿼터 설정

각각 zfs userquota 또는 zfs groupquota 명령을 사용하여 사용자 쿼터 또는 그룹 쿼터를 설정할 수 있습니다. 예를 들면 다음과 같습니다.

# zfs create students/compsci
# zfs set userquota@student1=10G students/compsci
# zfs create students/labstaff
# zfs set groupquota@labstaff=20GB students/labstaff

현재 사용자 쿼터 또는 그룹 쿼터를 다음과 같이 표시합니다.

# zfs get userquota@student1 students/compsci
NAME              PROPERTY            VALUE               SOURCE
students/compsci  userquota@student1  10G                 local
# zfs get groupquota@labstaff students/labstaff
NAME               PROPERTY             VALUE                SOURCE
students/labstaff  groupquota@labstaff  20G                  local

다음 등록 정보를 질의하여 일반적인 사용자 디스크 공간 사용량 또는 그룹 디스크 공간 사용량을 표시할 수 있습니다.

# zfs userspace students/compsci
TYPE        NAME      USED  QUOTA  
POSIX User  root      350M   none  
POSIX User  student1  426M    10G  
# zfs groupspace students/labstaff
TYPE         NAME      USED  QUOTA  
POSIX Group  labstaff  250M    20G  
POSIX Group  root      350M   none  

개별 사용자 또는 그룹 디스크 공간 사용량을 식별하려면 다음 등록 정보를 질의합니다.

# zfs get userused@student1 students/compsci
NAME              PROPERTY           VALUE              SOURCE
students/compsci  userused@student1  550M               local
# zfs get groupused@labstaff students/labstaff
NAME               PROPERTY            VALUE               SOURCE
students/labstaff  groupused@labstaff  250                 local

사용자 및 그룹 쿼터 등록 정보는 다른 모든 파일 시스템 등록 정보의 목록을 표시하는 zfs get all dataset 명령을 사용하여 표시되지 않습니다.

다음과 같이 사용자 쿼터 또는 그룹 쿼터를 제거할 수 있습니다.

# zfs set userquota@student1=none students/compsci
# zfs set groupquota@labstaff=none students/labstaff

ZFS 파일 시스템에서 사용자 및 그룹 쿼터는 다음과 같은 기능을 제공합니다.

사용자 및 그룹 쿼터를 강제 적용하면 몇 초간 작업이 지연될 수 있습니다. 이러한 지연은 사용자가 자신의 쿼터를 초과한 후 시스템에서 쿼터 초과를 감지하여 EDQUOT 오류 메시지와 함께 추가 쓰기 작업을 거부할 수 있기 때문에 발생합니다.

ZFS 파일 시스템이 마운트된 것과 같은 NFS 환경에서 레거시 quota 명령을 사용하여 사용자 쿼터를 검토할 수 있습니다. 아무 옵션도 사용하지 않고 quota 명령을 실행하면 사용자의 쿼터가 초과되었는지를 나타내는 출력 결과만 표시됩니다. 예를 들면 다음과 같습니다.

# zfs set userquota@student1=10m students/compsci   
# zfs userspace students/compsci
TYPE        NAME      USED  QUOTA  
POSIX User  root      350M   none  
POSIX User  student1  550M    10M  
# quota student1
Block limit reached on /students/compsci

사용자 쿼터를 재설정할 때 쿼터 한도가 더 이상 초과되지 않으면 quota -v 명령을 사용하여 사용자의 쿼터를 검토할 수 있습니다. 예를 들면 다음과 같습니다.

# zfs set userquota@student1=10GB students/compsci 
# zfs userspace students/compsci
TYPE        NAME      USED  QUOTA  
POSIX User  root      350M   none  
POSIX User  student1  550M    10G 
# quota student1
# quota -v student1
Disk quotas for student1 (uid 102):
Filesystem     usage  quota  limit    timeleft  files  quota  limit    timeleft
/students/compsci
              563287 10485760 10485760           -      -      -      -           -

ZFS 파일 시스템에 대한 예약 설정

ZFS 예약은 데이터 세트에 사용할 수 있도록 보장되었고 풀에서 할당된 디스크 공간입니다. 따라서 풀에서 현재 사용할 수 있는 공간이 없으면 데이터 세트에 대한 디스크 공간을 예약할 수 없습니다. 모든 미해결된 미소비 예약의 총량은 풀에서 사용되지 않은 디스크 공간을 초과할 수 없습니다. ZFS 예약은 zfs setzfs get 명령을 사용하여 설정 및 표시할 수 있습니다. 예를 들면 다음과 같습니다.

# zfs set reservation=5G tank/home/bill
# zfs get reservation tank/home/bill
NAME            PROPERTY     VALUE   SOURCE
tank/home/bill  reservation  5G      local

예약은 zfs list 명령의 출력 결과에 영향을 줄 수 있습니다. 예를 들면 다음과 같습니다.

# zfs list -r tank/home
NAME                USED  AVAIL  REFER  MOUNTPOINT
tank/home          5.00G  61.9G    37K  /tank/home
tank/home/bill       31K  66.9G    31K  /tank/home/bill
tank/home/jeff      337K  10.0G   306K  /tank/home/jeff
tank/home/lori      547K  61.9G   547K  /tank/home/lori
tank/home/mark       31K  61.9G    31K  /tank/home/mark

tank/home 및 해당 종속 항목에서 참조하는 총 디스크 공간이 5GB보다 훨씬 적지만 tank/home에서는 5GB의 디스크 공간을 사용하는 중입니다. used 공간은 tank/home/bill에 대해 예약된 공간을 나타냅니다. 예약은 부모 파일 시스템에서 사용된 디스크 공간 계산에 포함되며 해당 쿼터, 예약 또는 두 항목 모두에서 공제됩니다.

# zfs set quota=5G pool/filesystem
# zfs set reservation=10G pool/filesystem/user1
cannot set reservation for 'pool/filesystem/user1': size is greater than 
available space

풀에서 사용 가능한 예약되지 않은 공간이 있고 데이터 세트의 현재 사용량이 해당 쿼터 미만인 경우 데이터 세트는 해당 예약보다 많은 디스크 공간을 사용할 수 있습니다. 데이터 세트는 다른 데이터 세트에 대해 예약된 디스크 공간을 소비할 수 없습니다.

예약은 누적되지 않습니다. 즉, 예약을 설정하기 위해 zfs set를 두번째로 호출해도 해당 예약이 기존 예약에 추가되지 않습니다. 그 대신 첫번째 예약이 두번째 예약으로 대체됩니다. 예를 들면 다음과 같습니다.

# zfs set reservation=10G tank/home/bill
# zfs set reservation=5G tank/home/bill
# zfs get reservation tank/home/bill
NAME            PROPERTY     VALUE   SOURCE
tank/home/bill  reservation  5G      local

refreservation 예약을 설정하여 스냅샷 및 복제본이 소비하는 디스크 공간을 포함하지 않는 데이터 세트에 대한 디스크 공간을 보장할 수 있습니다. 이 예약은 부모 데이터 세트의 used 공간 계산에 포함되며 부모 데이터 세트의 쿼터 및 예약에서 공제됩니다. 예를 들면 다음과 같습니다.

# zfs set refreservation=10g profs/prof1
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
profs                    10.0G  23.2G    19K  /profs
profs/prof1                10G  33.2G    18K  /profs/prof1

또한 데이터 세트 공간과 스냅샷 공간을 보장할 수 있도록 동일한 데이터 세트에서 예약을 설정할 수도 있습니다. 예를 들면 다음과 같습니다.

# zfs set reservation=20g profs/prof1
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
profs                    20.0G  13.2G    19K  /profs
profs/prof1                10G  33.2G    18K  /profs/prof1

일반 예약은 부모의 used 공간 계산에 포함됩니다.

앞의 예제에서는 두 쿼터(10GB와 20GB) 중 작은 쿼터가 zfs list 출력 결과에 표시되었습니다. 두 쿼터의 값을 보려면 zfs get 명령을 사용합니다. 예를 들면 다음과 같습니다.

# zfs get reservation,refreserv profs/prof1
NAME         PROPERTY        VALUE        SOURCE
profs/prof1  reservation     20G          local
profs/prof1  refreservation  10G          local

refreservation이 설정된 경우에는 이 예약 외에도 데이터 세트에서 현재 참조되는 바이트 수를 수용할 수 있도록 예약되지 않은 충분한 풀 공간이 존재하는 경우에만 스냅샷이 허용됩니다.