Btrfs का उपयोग करते समय, df से "आकार", "प्रयुक्त" और "लाभ" क्यों मेल नहीं खाते?


9

मेरे पास एक btrfs विभाजन है। जब मैं दौड़ता हूं df -h, तो यह पता चलता है:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       113G  101G  8.3G  93% /home

वह क्यों है? यह इसलिए है क्योंकि wth ext2 / 3/4 के रूप में रूट के लिए आरक्षित स्थान? या यह कुछ और है? यदि पूर्व, मैं इसे कैसे बदल सकता हूं और उन 4 जीबी को पुनः प्राप्त कर सकता हूं?

Btrfs विकि के अनुसार , मुझे पता है कि मेटाडेटा को दो बार संग्रहित किया जाता है जो "प्रयुक्त" डेटा के आकार को बढ़ाता है:

user@machine:~$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             894G  311G  583G  35% /
                            ^^^^
user@machine:~$ btrfs fi df /
Metadata: total=18.00GB, >>used=6.10GB<<  *2=  12.20GB
Data: total=358.00GB, >>used=298.37GB<<   *1= 298.37GB
System: total=12.00MB, >>used=40.00KB<<   *1=   0.00GB
                                           == 310.57GB 
                                           ~~ 311   GB

लेकिन यह अभी भी व्याख्या नहीं करता है कि क्यों इस्तेमाल किया गया + एवले <आकार।


btrfs.wiki.kernel.org/articles/f/a/q/FAQ_1fe9.html - "खाली स्थान की मात्रा की जांच करने के लिए इतने सारे तरीके क्यों हैं?" पढ़ें अनुभाग, इसकी बहुत सारी जानकारी है।
Mat

हां, इसमें बहुत सारे फ़ीचर्स हैं, लेकिन उनके सभी उदाहरणों में dfआउटपुट में Avail = Size का उपयोग किया गया है। मैंने इसके साथ सवाल अपडेट किया है।
सुपर

क्या lsofकोई हटाई गई फ़ाइलें दिखाता है? (आपके सिस्टम से btrfs आउटपुट विकि की तुलना में थोड़ा अधिक उपयुक्त होगा।)
Mat

मुझे पता है, लेकिन मैं इसे सुधारने के लिए आलसी था और यह अनुरूप है। यदि lsof |grep 'DEL'|wc -lहटाई गई फ़ाइलों की संख्या दी गई है, तो यह 338 है। वे हालांकि बड़े नहीं लगते हैं (क्या मैं उनके समग्र आकार को किसी भी तरह प्राप्त कर सकता हूं?)
सुपर

1
@ यहाँ BTRFS के लिए एक काम कर रहे लिंक अक्सर पूछे जाने वाले प्रश्न: मुक्त स्थान की मात्रा की जाँच करने के लिए कई तरीके क्यों हैं?
अली_एम

जवाबों:


10

जब तक आप निर्दिष्ट नहीं करते हैं जब आप प्रारूपित करते हैं, तो डिफ़ॉल्ट में सुधार विश्वसनीयता के लिए मेटाडेटा ब्लॉकों की डुप्लिकेट प्रतियां संग्रहीत करना है। आपके पास शायद 2gb मूल्य का मेटाडाटा है जिसे 4gb का उपयोग करके दो बार संग्रहीत किया जाता है। आप के साथ और अधिक विवरण देख सकते हैं btrfs filesystem df

विशेष रूप से, मेटाडाटा के लिए 1.75GB आवंटित किया जाता है, इसलिए यह दो बार या 3.5GB स्थान की खपत करता है। उस 1.75 gb में से केवल 385mb का उपयोग वर्तमान में मेटाडेटा के लिए किया जाता है, लेकिन पूर्ण 1.75GB उस उपयोग के लिए आरक्षित है और इसलिए इसे फ़ाइल डेटा के लिए उपलब्ध स्थान की ओर नहीं गिना जाता है


btrfs filesystem df /homeदेता है Metadata, DUP: total=1.75GB, used=385.70MBतो मैं, एक साथ डाटा के साथ यह 101g के बराबर है मेटाडाटा के 771MB संग्रहीत के बारे में है, लेकिन क्यों प्रयुक्त + लाभ उठाएं <आकार यह स्पष्ट नहीं होता - मैं सवाल का विस्तार यह दिखाने के लिए।
सुपर

4
@sup, 1.75GB मेटाडेटा के लिए आवंटित किया गया है, इसलिए यह दो बार या 3.5GB स्थान की खपत करता है। उस 1.75 gb का केवल 385mb वर्तमान में मेटाडेटा के लिए उपयोग किया जाता है, लेकिन पूर्ण 1.75GB उस उपयोग के लिए आरक्षित है और इसलिए इसे फ़ाइल डेटा के लिए उपलब्ध स्थान की ओर नहीं गिना जाता है।
Psusi

आह, अब मैं समझ गया। मुझे लगता है कि btrfs विकी के उदाहरण कुछ पुराने df का उपयोग करते हैं जो इस बारे में नहीं जानते थे। जवाब के लिए धन्यवाद!
सुपर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.