탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
Oracle Solaris 11.1 관리: ZFS 파일 시스템 Oracle Solaris 11.1 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
미러링된 ZFS 저장소 풀 분할(zpool split)
3. Oracle Solaris ZFS 저장소 풀 관리
5. Oracle Solaris ZFS 파일 시스템 관리
6. Oracle Solaris ZFS 스냅샷 및 복제 작업
7. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
이전에는 파일 시스템이 하나의 장치로, 그리고 이로 인해 해당 장치의 크기로 제약되었습니다. 파일 제약 조건으로 인해 기존 파일 시스템을 만들고 다시 만드는 작업은 시간이 오래 걸리고 어렵기도 했습니다. 기존의 볼륨 관리 제품이 이 프로세스를 관리하는 데 도움이 되었습니다.
ZFS 파일 시스템은 특정 장치로 제약되지 않으므로 디렉토리를 만드는 과정처럼 쉽고 빠르게 만들 수 있습니다. ZFS 파일 시스템은 상주하는 저장소 풀에 할당된 디스크 공간 내에서 자동으로 커집니다.
여러 사용자 하위 디렉토리를 관리하려는 경우 파일 시스템(예: /export/home)을 하나만 만들지 않고 사용자당 하나씩 만들 수 있습니다. 계층에 포함된 종속 파일 시스템이 상속할 수 있는 등록 정보를 적용하여 여러 파일 시스템을 간편하게 설정하고 관리할 수 있습니다.
파일 시스템 계층을 만드는 방법을 보여 주는 예는 ZFS 파일 시스템 계층 만들기를 참조하십시오.
ZFS는 풀링된 저장소라는 개념을 기반으로 합니다. 물리적 저장소에 매핑되는 일반 파일 시스템과 달리, 풀의 모든 ZFS 파일 시스템은 풀에서 사용 가능한 저장소를 공유합니다. 따라서 특정 파일 시스템이 비활성 상태인 경우에도 풀의 다른 파일 시스템이 디스크 공간을 사용하거나 해제함에 따라 유틸리티(예: df)가 보고하는 사용 가능한 디스크 공간이 바뀔 수 있습니다.
쿼터를 사용하여 최대 파일 시스템 크기를 제한할 수 있습니다. 쿼터에 대한 자세한 내용은 ZFS 파일 시스템에 대한 쿼터 설정을 참조하십시오. 예약을 사용하여 파일 시스템이 지정된 디스크 공간을 사용하도록 보장할 수 있습니다. 예약에 대한 자세한 내용은 ZFS 파일 시스템에 대한 예약 설정을 참조하십시오. 이 모델은 여러 디렉토리가 동일한 파일 시스템(예: /home)에서 마운트되는 NFS 모델과 매우 유사합니다.
ZFS에서는 모든 메타 데이터가 동적으로 할당되는 반면, 대부분의 다른 파일 시스템에서는 많은 양의 메타 데이터가 미리 할당되므로 파일 시스템을 만들 때 이 메타 데이터에 대한 공간이 바로 계산되어야 합니다. 즉, 파일 시스템에서 지원하는 총 파일 수가 미리 정해집니다. 하지만 ZFS는 필요에 따라 메타 데이터를 할당하므로 초기 공간 계산이 필요하지 않고 파일 수도 사용 가능한 디스크 공간으로만 제한됩니다. ZFS의 경우 df -g 명령 출력 결과를 다른 파일 시스템과 다르게 해석해야 합니다. 보고되는 total files는 풀에서 사용 가능한 저장소의 양을 기반으로 한 예측일 뿐입니다.
ZFS는 트랜잭션 파일 시스템입니다. 대부분의 파일 시스템 수정 사항은 트랜잭션 그룹으로 번들되고 비동기적으로 디스크에 커밋됩니다. 디스크에 커밋되기 전까지의 수정 사항을 보류 중인 변경 사항이라고 합니다. 사용된 디스크 공간, 사용 가능한 디스크 공간 및 파일 또는 파일 시스템에서 참조하는 디스크 공간은 보류 중인 변경 사항으로 간주되지 않습니다. 일반적으로 변경 사항은 몇 초 동안 보류됩니다. fsync(3c) 또는 O_SYNC를 사용하여 디스크에 변경 사항을 커밋해도 디스크 공간 사용량 정보가 바로 업데이트되지는 않습니다.
UFS 파일 시스템에서 du 명령은 파일 내 데이터 블록의 크기를 보고합니다. ZFS 파일 시스템에서 du는 디스크에 저장된 파일의 실제 크기를 보고합니다. 이 크기에는 메타 데이터와 압축이 포함됩니다. 실제로 이 보고 기능은 "이 파일을 제거할 경우 확보되는 추가 공간의 크기"를 확인하는 데 도움이 됩니다. 따라서 압축이 해제된 경우에도 ZFS와 UFS에서 다른 결과가 나타납니다.
df 명령에서 보고된 공간 사용을 zfs list 명령과 비교할 경우 df는 파일 시스템 크기만이 아니라 풀 크기를 보고한다는 것에 주의합니다. 또한 df는 종속 파일 시스템 또는 스냅샷 존재 여부를 인식하지 못합니다. 압축, 할당량 등의 ZFS 등록 정보가 파일 시스템에 설정된 경우 df에서 보고된 공간 사용을 조정하기 어려울 수 있습니다.
보고된 공간 사용에도 영향을 줄 수 있는 다음 시나리오를 고려해 보십시오.
recordsize보다 큰 파일의 경우 파일의 마지막 블록은 일반적으로 약 1/2 정도 차 있습니다. 기본 recordsize가 128KB로 설정된 경우 파일당 약 64KB가 낭비되어 큰 영향을 줄 수 있습니다. RFE 6812608을 통합하면 이 시나리오가 해결됩니다. 압축을 사용으로 설정하면 이 문제를 해결할 수 있습니다. 데이터가 이미 압축된 경우에도 마지막 블록에서 사용되지 않은 부분은 채우기가 0이며 효과적으로 압축됩니다.
RAIDZ-2 풀에서 각 블록은 2개 섹터(512바이트 청크) 이상의 패리티 정보를 사용합니다. 패리티 정보에 사용되는 공간은 보고되지 않지만 각각 다르고 작은 블록의 경우 비율이 훨씬 더 클 수 있으므로 공간 보고에 영향을 줄 수 있습니다. recordsize가 512바이트로 설정된 경우 이 영향이 극대화되며, 각 512바이트 논리 블록이 1.5KB(공간의 3배)를 사용합니다. 저장 중인 데이터에 관계없이 공간 효율성이 주요 관심사인 경우 recordsize를 기본값(128KB)으로 그대로 두고 압축을 사용으로 설정해야 합니다(기본값 lzjb).
df 명령은 중복 제거된 파일 데이터를 인식하지 못합니다.
파일 시스템 스냅샷은 ZFS에서 저렴한 비용으로 간편하게 만들 수 있습니다. 스냅샷은 대부분의 ZFS 환경에 공통됩니다. ZFS 스냅샷에 대한 자세한 내용은 6 장Oracle Solaris ZFS 스냅샷 및 복제 작업을 참조하십시오.
스냅샷이 있으면 디스크 공간을 확보하려고 시도할 때 예상치 않은 동작이 발생할 수 있습니다. 일반적으로 적합한 권한이 부여된 경우 전체 파일 시스템에서 파일을 제거할 수 있으며 이 작업으로 인해 파일 시스템에서 사용 가능한 디스크 공간이 늘어납니다. 하지만 제거할 파일이 파일 시스템의 스냅샷에 존재할 경우 파일 삭제 작업으로도 디스크 공간이 확보되지 않습니다. 파일에 사용되는 블록이 스냅샷에서 계속 참조됩니다.
따라서 이름 공간의 새 상태가 반영되도록 디렉토리의 새 버전을 만들어야 하므로 파일 삭제 작업으로 인해 더 많은 디스크 공간이 사용될 수 있습니다. 즉, 파일을 제거하려고 시도할 때 예상치 않은 ENOSPC 또는 EDQUOT 오류가 발생할 수 있습니다.
ZFS는 복잡성을 줄여 관리 작업을 간소화합니다. 예를 들어, 기존 파일 시스템을 사용하는 경우 새 파일 시스템을 추가할 때마다 /etc/vfstab 파일을 편집해야 합니다. ZFS는 파일 시스템의 등록 정보에 따라 자동으로 파일 시스템을 마운트하고 마운트 해제하므로 이와 같은 편집 작업을 수행할 필요가 없습니다. /etc/vfstab 파일에서 ZFS 항목을 관리하지 않아도 됩니다.
ZFS 파일 시스템 마운트 및 공유에 대한 자세한 내용은 ZFS 파일 시스템 마운트를 참조하십시오.
ZFS 풀링된 저장소에 설명된 대로 ZFS는 별도의 Volume Manager를 필요로 하지 않습니다. ZFS는 원시 장치에서 작동하므로 소프트웨어 또는 하드웨어에 논리적 볼륨으로 구성된 저장소 풀을 만들 수 있습니다. ZFS는 원시 물리적 장치를 사용할 때 최적으로 작동하므로 이 구성은 권장되지 않습니다. 논리적 볼륨을 사용하면 성능 또는 안정성이 저하되거나 성능과 안정성이 모두 저하될 수 있으므로 논리적 볼륨은 사용하지 않아야 합니다.
이전 버전의 Solaris OS에서는 주로 POSIX ACL 드래프트 사양을 기반으로 한 ACL 구현을 지원했습니다. POSIX 드래프트 기반 ACL은 UFS 파일을 보호하는 데 사용됩니다. NFSv4 사양을 기반으로 하는 새로운 Solaris ACL 모델이 ZFS 파일을 보호하는 데 사용됩니다.
새로운 Solaris ACL 모델의 주요 차이점은 다음과 같습니다.
이 모델은 NFSv4 사양을 기반으로 하며 NT 스타일 ACL과 유사합니다.
이 모델은 보다 세분화된 액세스 권한 세트를 제공합니다.
ACL은 setfacl 및 getfacl 명령이 아닌 chmod 및 ls 명령으로 설정되고 표시됩니다.
다양한 상속 의미에 따라 디렉토리의 액세스 권한이 하위 디렉토리에 적용되는 방식 등이 지정됩니다.
ZFS 파일에 ACL 사용에 대한 자세한 내용은 7 장ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호를 참조하십시오.