web-dev-qa-db-fra.com

FreeBSD: Comment savoir la taille du fichier réel sur ZFS avec compression sur?

J'utilise des zfs sur mon FreeBSD 9.0 x64 et j'en suis assez heureux, mais je trouve difficile de compter le répertoire réel, non comprimé, taille.

Je peux sûrement marcher sur le répertoire et compter chaque taille de fichier avec LS, mais j'attendrais une clé supplémentaire pour cette fin.

Donc, Comment puis-je dire la taille de la répertoire pour Dir placée sur ZFS avec compression sur?

THAMK vous à l'avance pour les conseils, je ne peux pas me faire remarquer qu'il n'y a pas de "simple" simple, sans "trouver "/ -type d -exec ls -l '{}' \; | awk ... '!

19
Alexander

Utilisez le du avec son -A drapeau:

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

Très utile. Cela fonctionne même avec -d pour la bonté récursive:

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
23
Sean

Vous pouvez installer le GNU version de du(1):

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

Ensuite, vous pouvez utiliser --apparent-size drapeau:

/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  .
13
Zanchey

essayez d'utiliser la commande 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  -

mais DF -SHHSHS montre résultant (non dédupliqué de taille)

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