이는 zfs 목록에서 보고된 여유 공간이 사용자 기대에 미치지 못하는 것과 관련된 문제입니다. 비슷한 질문을 살펴봤지만 여전히 zfs 목록 출력을 이해하지 못합니다. 이유를 설명하겠습니다.
내 설정은 간단합니다. WD30EFRX 디스크 4개만 있으면 됩니다. Linux에서는 각 디스크의 용량이 다음과 같다고 보고합니다.
5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
즉, 각 드라이브의 용량은 3000592982016바이트입니다. 수학에 따르면 4개 드라이브의 총 원시 공간은 3000592982016*4 = 12002371928064바이트(10.9TiB)이며 zpool list
일관성이 있는 것으로 보입니다.
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
nas 10.9T 1.15M 10.9T - 0% 0% 1.00x ONLINE -
여태까지는 그런대로 잘됐다. 이제 이 4개의 드라이브를 RAIDZ1에 넣었습니다. 즉, 전체 용량의 25%가 패리티에 사용되어야 한다는 의미입니다. 나는 zfs list
2.72TiB *3 = 8.16TiB에 가까운 것을 보고할 것으로 예상했습니다. 대신 7.65TiB만 얻습니다.
zfs list nas
NAME USED AVAIL REFER MOUNTPOINT
nas 558K 7.65T 140K /nas
zfs list nas -p
NAME USED AVAIL REFER MOUNTPOINT
nas 571392 8416155617280 142848 /nas
또한 ZFS가 메타데이터 및 자체 내부 데이터 구조 등을 위해 일부 공간을 차지할 것으로 예상했지만 0.5테라바이트 이상의 데이터가 손실되었습니다.
zfs list -p에 따르면 사용 가능한 공간은 다음과 같습니다.
(8416155617280/1024^3) GiB = 7838 GiB
패리티(드라이브 3개, 5860533168 512바이트 섹터) 이후의 여유 공간은 다음과 같아야 합니다.
5860533168*512/(1024^3)*3 GiB = 8383 GiB
8383GiB - 7838GiB = 545GiB
0.5TB(총 원시 디스크 공간의 거의 5%) 이상이 설명되지 않습니다. 이 공간은 다 어디로 갔나요?
참고: 저는 Debian Jessie, ZFS 0.6.5.2-2를 실행하고 있습니다. 할당량, 예약, 참조 할당량 및 재보관 속성을 확인했는데 모두 없음으로 설정되어 있습니다. 방금 데이터도 없고 스냅샷도 없이 이 풀을 만들었습니다. 내 전체 zfs 속성은 다음과 같습니다.
zfs get all nas
NAME PROPERTY VALUE SOURCE
nas type filesystem -
nas creation Tue Feb 7 17:28 2017 -
nas used 558K -
nas available 7.65T -
nas referenced 140K -
nas compressratio 1.00x -
nas mounted yes -
nas quota none default
nas reservation none default
nas recordsize 128K default
nas mountpoint /nas default
nas sharenfs off default
nas checksum on default
nas compression off default
nas atime on default
nas devices on default
nas exec on default
nas setuid on default
nas readonly off default
nas zoned off default
nas snapdir hidden default
nas aclinherit restricted default
nas canmount on default
nas xattr on default
nas copies 1 default
nas version 5 -
nas utf8only off -
nas normalization none -
nas casesensitivity sensitive -
nas vscan off default
nas nbmand off default
nas sharesmb off default
nas refquota none default
nas refreservation none default
nas primarycache all default
nas secondarycache all default
nas usedbysnapshots 0 -
nas usedbydataset 140K -
nas usedbychildren 418K -
nas usedbyrefreservation 0 -
nas logbias latency default
nas dedup off default
nas mlslabel none default
nas sync standard default
nas refcompressratio 1.00x -
nas written 140K -
nas logicalused 120K -
nas logicalreferenced 40K -
nas filesystem_limit none default
nas snapshot_limit none default
nas filesystem_count none default
nas snapshot_count none default
nas snapdev hidden default
nas acltype off default
nas context none default
nas fscontext none default
nas defcontext none default
nas rootcontext none default
nas relatime on temporary
nas redundant_metadata all default
nas overlay off default
감사합니다!