FreeBSD: Como saber o tamanho real do arquivo no zfs com a compressão ligada?

16

Estou usando o zfs no meu FreeBSD 9.0 x64 e muito feliz com ele, mas acho difícil contar o tamanho real do diretório, não compactado.

Certamente posso percorrer o diretório e contar cada tamanho de arquivo com ls, mas esperaria uma chave extra para esse fim.

Então, como posso saber o tamanho do diretório para o diretório colocado no zfs com a compactação ?

Thamk antecipadamente para o conselho, eu simples não posso lembrar que não existe uma maneira "simples", sem 'encontrar ./ -tipo d -exec ls -l' {} '\; | awk ... '!

    
por Alexander 21.02.2012 / 06:48

3 respostas

21

Use o du com seu sinal -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

Muito útil. Ele até funciona com -d para bondade recursiva:

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
    
por 04.10.2012 / 02:09
11

Você pode instalar a versão GNU de du(1) :

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

Você pode usar o sinalizador --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  .
    
por 21.02.2012 / 07:30
0

tente usar o comando 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  -

mas o df -sh mostra o resultado (não o tamanho desduplicado)

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