FreeBSD: ZFS'deki gerçek dosya boyutunu sıkıştırma açıkken nasıl bilebilirim?


18

Freefsd 9.0 x64 üzerinde zfs kullanıyorum ve onunla oldukça mutluyum, ancak dizini gerçek, sıkıştırılmış değil, saymak zor buluyorum.

Şüphesiz ben dizin üzerinde yürüyebilir ve ls ile her dosya boyutunu sayabilirim, ama bu amaç için du için bazı ekstra anahtar beklenebilir.

Peki, sıkıştırma ile zfs üzerine yerleştirilmiş dir dizin boyutunu nasıl söyleyebilirim ?

Tavsiyeniz için şimdiden teşekkür ederim, 'find ./ -type d -exec ls -l' {} '\ olmadan böyle bir' basit 'yol olmadığını hatırlayamıyorum; | awk ... '!


4
Bazı çözümler için bu cevaba bakınız: serverfault.com/questions/254013/file-size-with-zfs-compression
Zanchey

3
Veri tekilleştirme kullanıyorsanız, "gerçek" boyutun ne olduğunu düşünürdünüz?
ryandenki

Yanıtlar:


23

Bayrağıyla dubirlikte kullanın -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

Çok kullanışlı. -dÖzyinelemeli iyilik için bile çalışır :

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

Gerçekten iyi bir çözüm! Ve en iyisi orada "sağ kutudan"!
Alexander

5
Yalnızca bir not, sürümünüzde du-A seçeneği yoksa, -A, "görünür boyut" içindir --apparent-size. Ubuntu 16.04 / du 8.25, -A'ya sahip gibi görünmüyor, bu yüzden başka biri bu sorunla karşılaşabilir.
Jim Rubenstein

12

GNU sürümünü yükleyebilirsiniz du(1):

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

Ardından --apparent-sizebayrağı kullanabilirsiniz :

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

4
Orada YOK bunun için bir liman kullanmak sebep. Baz OS kullanın duonun ile -Abayrak.
Sean

10
Bu, Linux'taki ZFS için kullanışlıdır. GNU'nun dubir -Aseçeneği yok.
jakar

1
Linux kullanıcısının üzerindeki ZFS duvardır --apparent-sizeburada kabul çözüm üzerinde yorum yapmaktan: serverfault.com/a/434655/145009
Rob paisley

0

zpool komutunu kullanmayı deneyin:

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

ancak df -sh sonucu ortaya çıkar (tekilleştirilmemiş boyutta değil)

df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
storage        zfs        16T   14T  1.9T  89% /storage
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.