[server] FreeBSD : 압축을 켠 상태에서 zfs의 실제 파일 크기를 아는 방법?

저는 FreeBSD 9.0 x64 에서 zfs를 사용 하고 있으며 매우 만족하지만 압축되지 않은 크기의 디렉토리를 계산하기가 어렵습니다.

분명히 나는 ​​디렉토리를 걸고 ls로 모든 파일 크기를 계산할 수 있지만 그 목적을 위해 du에 대한 추가 키가 필요합니다.

그렇다면 압축을 사용하여 zfs에있는 dir의 디렉토리 크기를 어떻게 알 수 있습니까?

조언을 위해 미리 당신에게 말하면, 나는 ‘find ./ -type d -exec ls -l'{} ‘\; | 아 wk … ‘!



답변

du와 함께 -A플래그를 사용하십시오 .

root@pg78:/usr/local/pgsql/data/base/218204 # du -A -h 221350.219
1.0G    221350.219
root@pg78:/usr/local/pgsql/data/base/218204 # du -h 221350.219
501M    221350.219

매우 편리합니다. -d재귀 적 인 선함 을 위해 작동 합니다.

root@pg78:/usr/local/pgsql/data/base # du -h -c -d0 .
387G    .
387G    total
root@pg78:/usr/local/pgsql/data/base # du  -A -h -c -d0 .
518G    .
518G    total


답변

GNU 버전을 du(1)다음 과 같이 설치할 수 있습니다 .

cd /usr/ports/sysutils/coreutils && make install clean

그런 다음 --apparent-size플래그를 사용할 수 있습니다 .

/space# zfs create space/comptest
/space# zfs set compression=on space/comptest
/space# dd if=/dev/zero of=/space/comptest/zerofile bs=1M count=40
/space/comptest# gdu
2K      .
/space/comptest# gdu --apparent-size
40961K  .


답변

zpool 명령을 사용하십시오.

zpool list
NAME      SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
storage  8.93T  6.59T  2.34T         -    60%    73%  2.13x  ONLINE  -

그러나 df -sh는 결과를 보여줍니다 (중복되지 않은 크기)

df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
storage        zfs        16T   14T  1.9T  89% /storage


답변