FreeBSD: จะรู้ขนาดไฟล์จริงใน zfs ที่มีการบีบอัดได้อย่างไร?


18

ฉันใช้ zfs กับFreeBSD 9.0 x64ของฉันและค่อนข้างพอใจกับมัน แต่ฉันพบว่ามันยากที่จะนับไดเรกทอรีจริงไม่ใช่บีบอัดขนาด

แน่นอนฉันสามารถเดินข้ามไดเรกทอรีและนับทุกขนาดไฟล์ด้วย ls แต่ฉันคาดว่าจะมีคีย์พิเศษสำหรับ du เพื่อจุดประสงค์นั้น

ดังนั้นฉันจะบอกขนาดไดเรกทอรีสำหรับ dir ที่วางอยู่บน zfs ด้วยการบีบอัดได้อย่างไร

Thamk คุณล่วงหน้าสำหรับคำแนะนำฉันง่ายไม่สามารถจำไม่มีวิธี 'ง่าย' เช่นโดยไม่ต้อง 'ค้นหา. / - ประเภท d -exec ls -l' {} '\; | อ๋อ ... '!


4
ดูคำตอบสำหรับวิธีแก้ปัญหานี้: serverfault.com/questions/254013/file-size-with-zfs-compression
Zanchey

3
หากใช้การขจัดข้อมูลซ้ำซ้อนคุณจะพิจารณาขนาด "ของจริง" ว่าเป็นอย่างไร
ryandenki

คำตอบ:


23

ใช้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

ทางออกที่ดีจริงๆ! และที่ดีที่สุดคือมี "ขวาจากกล่อง"!
Alexander

5
เพียงแค่ทราบถ้ารุ่นของคุณduไม่ได้มีตัวเลือก -A ที่ -A สำหรับขนาด "ชัดเจน" --apparent-sizeซึ่งสามารถใช้ได้ผ่านทาง Ubuntu 16.04 / du 8.25 ดูเหมือนจะไม่มี - ดังนั้นดูเหมือนว่ามีคนอื่นอาจประสบปัญหานี้
Jim Rubenstein

12

คุณสามารถติดตั้งเวอร์ชั่น 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  .

4
นอกจากนี้ไม่มีเหตุผลที่จะใช้พอร์ตสำหรับการนี้ ใช้ระบบปฏิบัติการพื้นฐานduพร้อมการ-Aตั้งค่าสถานะ
Sean

10
สิ่งนี้มีประโยชน์สำหรับ ZFS บน Linux GNU duไม่มี-Aตัวเลือก
jakar

1
ZFS บน Linux duได้--apparent-sizeจากความคิดเห็นเกี่ยวกับวิธีการแก้ปัญหาที่ยอมรับได้ที่นี่: serverfault.com/a/434655/145009
Rob Paisley

0

พยายามใช้คำสั่ง 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.