FreeBSD: कैसे संपीड़न पर के साथ zfs पर वास्तविक फ़ाइल आकार पता करने के लिए?


18

मैं अपने FreeBSD 9.0 x64 पर zfs का उपयोग कर रहा हूं और इसके साथ बहुत खुश हूं, लेकिन मुझे निर्देशिका को वास्तविक गिनना मुश्किल लगता है, संकुचित नहीं, आकार।

निश्चित रूप से मैं डायरेक्टरी पर चल सकता हूं और हर फाइल साइज को ls के साथ गिन सकता हूं, लेकिन मुझे उस उद्देश्य के लिए ड्यू के लिए कुछ अतिरिक्त कुंजी की उम्मीद होगी।

तो, मैं कैसे संपीड़न पर के साथ zfs पर रखा dir के लिए निर्देशिका आकार बता सकते हैं ?

सलाह के लिए अग्रिम रूप से आपको धन्यवाद, मैं सरल याद नहीं कर सकता कि ऐसा कोई 'सरल' तरीका नहीं है, बिना 'खोजे ।/ -Type d -exec ls -l' {} '' \; | awk ... '!


4
कुछ समाधानों के लिए यह उत्तर देखें: serverfault.com/questions/254013/file-size-with-zfs-compression
Zanchey

3
यदि समर्पण का उपयोग कर रहे हैं, तो आप "वास्तविक" आकार पर क्या विचार करेंगे?
रयानडेंकी

जवाबों:


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

वास्तव में अच्छा समाधान! और सबसे अच्छा यह "बॉक्स से सही" है!
अलेक्जेंडर

5
बस एक नोट, अगर आपके संस्करण में du-ए विकल्प नहीं है, -ए "स्पष्ट आकार" के लिए है, जो कि उपलब्ध है --apparent-size। Ubuntu 16.04 / du 8.25 के पास ऐसा प्रतीत नहीं होता है, इसलिए ऐसा लगता है कि कोई अन्य व्यक्ति इस मुद्दे पर भाग सकता है।
जिम रुबेंस्टीन

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झंडे के साथ करें ।
सीन

10
यह लिनक्स पर ZFS के लिए उपयोगी है। जीएनयू के duपास कोई -Aविकल्प नहीं है ।
जाकार

1
लिनक्स पर ZFS duहै --apparent-size: यहाँ स्वीकार किए जाते हैं समाधान पर टिप्पणी से serverfault.com/a/434655/145009
रोब पैस्ले

0

ज़ूलप कमांड का उपयोग करने का प्रयास करें:

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.