सवाल मेरे एक्सएफएस फाइल सिस्टम अचानक और अधिक जगह ले रहे हैं और स्पैस फाइलों से भरे क्यों हैं?


मैंने भाग लिया एक्सएफएस फाइल सिस्टम विभिन्न लिनक्स सर्वरों में लगभग 10 वर्षों के लिए डेटा / विकास विभाजन के रूप में।

मैंने हाल ही में CentOS / RHEL सर्वर संस्करण 6.2+ चलाते हुए एक अजीब घटना देखी है।

ईएल 6.0 और ईएल 6.1 से नए ओएस संशोधन में जाने के बाद स्थिर फाइल सिस्टम उपयोग अत्यधिक चरम हो गया। शुरुआत में EL6.2 + के साथ स्थापित सिस्टम एक ही व्यवहार प्रदर्शित करते हैं; एक्सएफएस विभाजन पर डिस्क उपयोग में जंगली स्विंग दिखा रहा है (देखें नीला नीचे दिए गए ग्राफ में रेखा)।

पहले और बाद में। शनिवार को 6.1 से 6.2 तक अपग्रेड हुआ। xfs graph

पिछले हफ्ते में उतार-चढ़ाव दिखाते हुए, उसी प्रणाली के पिछले तिमाही के डिस्क उपयोग ग्राफ। enter image description here

मैंने बड़ी फाइलों और रनवे प्रक्रियाओं के लिए फाइल सिस्टम की जांच शुरू कर दी है (लॉग फाइलें, हो सकता है?)। मैंने पाया कि मेरी सबसे बड़ी फाइलें विभिन्न मानों की रिपोर्ट कर रही थीं du तथा ls। चल रहा है du के साथ और बिना --apparent-size स्विच अंतर को दर्शाता है।

# du -skh SOD0005.TXT
29G     SOD0005.TXT

# du -skh --apparent-size SOD0005.TXT
21G     SOD0005.TXT

का उपयोग कर एक त्वरित जांच एनसीडीयू उपयोगिता पूरे फाइल सिस्टम भर में:

Total disk usage: 436.8GiB  Apparent size: 365.2GiB  Items: 863258

फाइल सिस्टम से भरा है स्पैस फाइलेंओएस / कर्नेल के पिछले संस्करण की तुलना में लगभग 70 जीबी खोने वाली जगह के साथ!

मैं के माध्यम से pored रेड हैट बगजिला और यह देखने के लिए लॉग बदलें कि क्या समान व्यवहार की कोई रिपोर्ट या XFS के संबंध में नई घोषणाएं थीं।

नाडा।

मैं कर्नेल संस्करण से चला गया 2.6.32-131.17.1.el6 सेवा मेरे 2.6.32-220.23.1.el6 अपग्रेड के दौरान; मामूली संस्करण संख्या में कोई बदलाव नहीं।

मैंने फ़ाइल विखंडन की जांच की filefrag उपकरण। एक्सएफएस विभाजन की कुछ सबसे बड़ी फाइलों में हजारों एक्सेंट थे। साथ ऑनलाइन डिफ्रैग पर चल रहा है xfs_fsr -v गतिविधि की धीमी अवधि के दौरान अस्थायी रूप से डिस्क उपयोग को कम करने में मदद मिली (ऊपर दिए गए पहले ग्राफ में बुधवार को देखें)। हालांकि, भारी प्रणाली गतिविधि के रूप में जल्द ही उपयोग किया जाता है।

यहाँ क्या हो रहा है?


58
2017-07-09 15:27


मूल


एमएमएम ... पियाज़ा .... - Tom O'Connor


जवाब:


मैंने इस मुद्दे को एक प्रतिबद्धता के बारे में चर्चा के बारे में बताया एक्सएफएस स्रोत पेड़ दिसंबर 2010 से। पैच को कर्नेल 2.6.38 में प्रस्तुत किया गया था (और जाहिर है, बाद में कुछ लोकप्रिय लिनक्स वितरण कर्नेल में बैकपोर्ट किया गया था)।

डिस्क उपयोग में मनाया उतार-चढ़ाव एक नई सुविधा का परिणाम है; एक्सएफएस गतिशील सट्टा ईओएफ प्रीलोकेशन

स्ट्रीमिंग के दौरान फ़ाइल विखंडन को कम करने के लिए यह एक कदम है, जो स्पेस आवंटित रूप से फ़ाइल आकार में वृद्धि के रूप में स्थान आवंटित करता है। प्रति फ़ाइल प्रीलोकेटेड स्पेस की मात्रा गतिशील है और मुख्य रूप से फाइल सिस्टम पर उपलब्ध खाली स्थान का एक कार्य है (पूरी तरह से अंतरिक्ष से बाहर निकलने से रोकने के लिए)।

यह इस अनुसूची का पालन करता है:

freespace       max prealloc size
  >5%             full extent (8GB)
  4-5%             2GB (8GB >> 2)
  3-4%             1GB (8GB >> 3)
  2-3%           512MB (8GB >> 4)
  1-2%           256MB (8GB >> 5)
  <1%            128MB (8GB >> 6)

यह फाइल सिस्टम के लिए एक दिलचस्प जोड़ है क्योंकि इससे कुछ बड़े पैमाने पर खंडित फाइलों में मदद मिल सकती है।

अतिरिक्त स्थान को पृष्ठकैच, दंत चिकित्सा और इनोड्स को मुक्त करके अस्थायी रूप से पुनः दावा किया जा सकता है:

sync; echo 3 > /proc/sys/vm/drop_caches

सुविधा को परिभाषित करके पूरी तरह से अक्षम किया जा सकता है allocsize फाइल सिस्टम माउंट के दौरान मूल्य। एक्सएफएस के लिए डिफ़ॉल्ट है allocsize=64k

इस परिवर्तन का असर शायद निगरानी / थ्रेसहोल्डिंग सिस्टम (जिसे मैंने इसे पकड़ा है) द्वारा महसूस किया जाएगा, लेकिन इससे भी प्रभावित हुआ है डेटाबेस सिस्टम और पतली-प्रावधान वाली वर्चुअल मशीनों और स्टोरेज एरे के लिए अप्रत्याशित या अवांछित परिणाम पैदा कर सकता है (वे आपकी अपेक्षा से अधिक स्थान का उपयोग करेंगे)।

सब कुछ, यह मुझे ऑफ-गार्ड पकड़ा क्योंकि वितरण स्तर पर फाइल सिस्टम परिवर्तन की स्पष्ट घोषणा नहीं हुई थी या यहां तक ​​कि निगरानी में भी एक्सएफएस मेलिंग सूची


संपादित करें:
इस सुविधा के साथ एक्सएफएस वॉल्यूम पर प्रदर्शन में काफी सुधार हुआ है। मैं वॉल्यूम्स पर लगातार <1% विखंडन देख रहा हूं जो पहले 50% विखंडन तक प्रदर्शित हुआ था। प्रदर्शन वैश्विक स्तर पर लिखें!

EL6.3 में संस्करण के लिए विरासत XFS की तुलना, उसी डेटासेट से आँकड़े।

पुराना:

# xfs_db -r -c frag /dev/cciss/c0d0p9
actual 1874760, ideal 1256876, fragmentation factor 32.96%

नया:

# xfs_db -r -c frag /dev/sdb1
actual 1201423, ideal 1190967, fragmentation factor 0.87%

72
2017-07-09 15:27



आपके लिए एक लाख अपवित्र और मेरा साम्राज्य - Joel E Salas
धन्यवाद! हमने अभी डेबियन स्क्वीज़ से उबंटू तक अपग्रेड किया था और यह सोच रहा था कि डु और एलएस बड़े पैमाने पर फ़ाइलों के लिए इतने जंगली रूप से अलग मूल्य क्यों दिखा रहे थे (उदाहरण के लिए 50 एमबी बनाम 64 एमबी) - Giles Thomas
@ewwhite क्या आपने इस सुविधा को अंतरिक्ष को पुनः प्राप्त करने के लिए बंद कर दिया था? या यह आलेख सिर्फ यह कह रहा है, हे, यह सुविधा रिपोर्ट आकारों में विसंगति का कारण बन रही है? ऐसा लगता है कि "डेटाबेस सिस्टम, या पतले प्रावधान वाले वीएम पर, इसे बंद करने पर विचार करें", लेकिन मुझे यकीन नहीं है कि आपने क्या करने का फैसला किया है। - JDS
@jds मैं इसे छोड़ देता हूँ। यह विखंडन को समाप्त करता है और मेरे अनुप्रयोगों में प्रदर्शन को बढ़ावा मिला है। - ewwhite
ओह, अद्भुत खोज। यह 35 जीबी फाइलों पर 750 जीबी का इस्तेमाल कर रहा था। बाद xfs_fsr यह लगभग 35 जीबी तक वापस आ गया है। मुझे उस पर नजर रखना होगा