언급한 대로 여유 공간 계산과 비슷한 문제에 직면했습니다.zpool 목록과 zfs 목록 - 사용 가능한 공간이 10배씩 다른 이유는 무엇입니까?. 그러나 내 상황은 다르며 예약된(비뚤어진) 공간을 고려한 후에도 숫자가 합산되지 않는 것 같습니다.
Zpool 목록 보고서8.1TB 무료하지만 zfs는 단지339GB의 여유 공간. 2^-7
수영장이 상당히 크기 때문에 램프 공간이 축소되었습니다.
여유 공간이 많이 부족합니다. 도움을 주시면 대단히 감사하겠습니다.
어떻게든 여유 공간을 복원할 수 있나요?
#zpool list z
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
z 65.4T 57.3T 8.10T - - 27% 87% 1.21x ONLINE -
#zfs list z
NAME USED AVAIL REFER MOUNTPOINT
z 69.4T 339G 96K none
#zfs get all z
NAME PROPERTY VALUE SOURCE
z type filesystem -
z creation Mon Jun 8 1:29 2020 -
z used 69.4T -
z available 338G -
z referenced 96K -
z compressratio 1.22x -
z mounted no -
z quota none default
z reservation none default
z recordsize 128K local
z mountpoint none local
z sharenfs off default
z checksum on default
z compression lz4 local
z atime off local
z devices on default
z exec on default
z setuid on default
z readonly off default
z zoned off default
z snapdir hidden default
z aclinherit restricted default
z createtxg 1 -
z canmount on default
z xattr sa local
z copies 1 default
z version 5 -
z utf8only off -
z normalization none -
z casesensitivity sensitive -
z vscan off default
z nbmand off default
z sharesmb off default
z refquota none default
z refreservation none default
z guid 4880913883724291733 -
z primarycache all default
z secondarycache all default
z usedbysnapshots 0B -
z usedbydataset 96K -
z usedbychildren 69.4T -
z usedbyrefreservation 0B -
z logbias latency default
z objsetid 54 -
z dedup on local
z mlslabel none default
z sync disabled local
z dnodesize auto local
z refcompressratio 1.00x -
z written 96K -
z logicalused 83.6T -
z logicalreferenced 42K -
z volmode default default
z filesystem_limit none default
z snapshot_limit none default
z filesystem_count none default
z snapshot_count none default
z snapdev hidden default
z acltype off default
z context none default
z fscontext none default
z defcontext none default
z rootcontext none default
z relatime off default
z redundant_metadata all default
z overlay off default
z encryption off default
z keylocation none default
z keyformat none default
z pbkdf2iters 0 default
z special_small_blocks 64K local
#cat /sys/module/zfs/parameters/spa_slop_shift
7
#zpool iostat -Lv
capacity operations bandwidth
pool alloc free read write read write
------------- ----- ----- ----- ----- ----- -----
z 57.3T 8.10T 317 4.47K 47.0M 29.1M
mirror 13.7T 862G 18 10 11.1M 3.04M
sda - - 9 5 5.53M 1.52M
sdg - - 9 5 5.53M 1.52M
mirror 13.7T 899G 18 10 11.0M 3.03M
sdb - - 9 5 5.51M 1.52M
sdh - - 9 5 5.51M 1.52M
mirror 13.7T 838G 18 10 11.1M 3.04M
sdc - - 9 5 5.54M 1.52M
sdi - - 9 5 5.54M 1.52M
mirror 12.5T 2.04T 17 10 9.87M 3.61M
sdd - - 8 5 4.93M 1.81M
sdj - - 8 5 4.93M 1.81M
dedup - - - - - -
mirror 238G 16.6G 170 4.03K 822K 9.72M
nvme0n1p3 - - 85 2.01K 411K 4.86M
nvme1n1p3 - - 85 2.01K 411K 4.86M
special - - - - - -
mirror 1.76T 1.72T 36 195 1.62M 3.15M
sdf - - 18 97 831K 1.57M
sdl - - 18 97 831K 1.57M
mirror 1.70T 1.78T 37 213 1.58M 3.55M
sde - - 18 106 807K 1.77M
sdk - - 18 106 807K 1.77M
logs - - - - - -
mirror 0 15.5G 0 0 2 0
nvme0n1p2 - - 0 0 1 0
nvme1n1p2 - - 0 0 1 0
cache - - - - - -
nvme0n1p4 569G 37.2G 178 40 2.96M 3.81M
nvme1n1p4 568G 37.8G 178 46 2.96M 3.82M
------------- ----- ----- ----- ----- ----- -----
#
답변1
좋은 소식입니다. 공간이 손실되지 않았습니다. ZFS를 사용하면서 최소 15년 동안 여유 공간이 손실되는 것을 본 적이 없습니다.
여기에는 몇 가지 일이 일어나고 있지만 대부분 이 두 가지 일이 있습니다.여유 공간 값이 동일하지 않습니다.
여유 공간은 zpool
모두 할당되지 않은 블록입니다. zfs 여유 공간 값은 기울어진 영역 등을 제거합니다.
너도 넘었어80% 권장. 이는 성능에만 영향을 미칠 뿐 아니라 추가 공간도 소비합니다. 간단히 말해서, 디스크가 너무 조각화되어 전체 블록을 파일에 할당할 수 없는 경우 추가 공간을 사용하여 더 작은 블록을 관리합니다.