FreeBSD: Làm thế nào để biết kích thước tệp thực trên zfs khi nén?


17

Tôi đang sử dụng zfs trên FreeBSD 9.0 x64 và khá hài lòng với nó, nhưng tôi thấy khó có thể đếm được thư mục thực, không bị nén, kích thước.

Chắc chắn tôi có thể đi qua thư mục và đếm mọi kích thước tệp bằng ls, nhưng tôi mong đợi một số khóa bổ sung cho mục đích đó.

Vì vậy, làm thế nào tôi có thể nói kích thước thư mục cho dir được đặt trên zfs với nén trên ?

Tham khảo ý kiến ​​của bạn trước, tôi đơn giản không thể nhớ rằng không có cách nào 'đơn giản' như vậy, mà không có 'find ./ -type d -exec ls -l' {} '\; | ôi ... '!


4
Xem câu trả lời này cho một số giải pháp: serverfault.com/questions/254013/file-size-with-zfs-compression
Zanchey

3
Nếu sử dụng sự trùng lặp, bạn sẽ coi kích thước "thực" là gì?
ryandenki

Câu trả lời:


22

Sử dụng duvới -Acờ của nó :

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

Rất tiện dụng. Nó thậm chí hoạt động với -dlòng tốt đệ quy:

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

Giải pháp thực sự tốt! Và tốt nhất là nó "ngay từ trong hộp"!
Alexander

5
Chỉ cần lưu ý, nếu phiên bản dukhông có tùy chọn -A, -A dành cho "kích thước rõ ràng", có sẵn thông qua --apparent-size. Ubuntu 16.04 / du 8.25 dường như không có -A, vì vậy có vẻ như ai đó khác có thể gặp phải vấn đề đó.
Jim Rubenstein

11

Bạn có thể cài đặt phiên bản GNU của du(1):

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

Sau đó, bạn có thể sử dụng --apparent-sizecờ:

/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
NO lý do để sử dụng một cổng cho việc này. Sử dụng HĐH cơ sở duvới -Acờ của nó .
Sean

10
Điều này hữu ích cho ZFS trên Linux. GNU dukhông có -Atùy chọn.
jakar

1
ZFS trên Linux du--apparent-sizetừ nhận xét về giải pháp được chấp nhận tại đây: serverfault.com/a/434655/145009
Rob Paisley

0

thử sử dụng lệnh 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  -

nhưng df -sh hiển thị kết quả (không trùng lặp kích thước)

df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
storage        zfs        16T   14T  1.9T  89% /storage
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.