एक छोटे से फाइलसिस्टम पर बहुत अजीब फ़ाइल आकार (600 पीबी से अधिक)


21

मेरे पास एक XFS फाइलसिस्टम पर एक फाइल थी जिसका आकार लगभग 200 जीबी था। यह एक QCOW2 छवि थी जिसमें KVM- संचालित आभासी मशीन की एक आभासी डिस्क होती है। कुछ गड़बड़ हो गई (शायद यह कीमू-केवीएम की कुछ गड़बड़ थी, मुझे यकीन नहीं है), वर्चुअल मशीन दुर्घटनाग्रस्त हो गई थी और अब मेरे पास एक फाइल है जो इस तरह दिखती है:

191090708 -rwxr--r--. 1 root root 737571587400425984 Oct 10 10:03 973d10e0-a5e3-4a59-9f98-4b9b9f072ade

तो, यह अभी भी 191090708 ब्लॉकों पर कब्जा कर लेता है, लेकिन lsइसे 656 पेटाबाइट्स के रूप में दिखाता है।

इसके अलावा, मेरे पास उसी प्री-हिस्ट्री के साथ एक और फाइल है, लेकिन दूसरे फाइल सिस्टम पर (एक्सएफएस नहीं, बल्कि जीएफएस 2):

410855320 -rwxr--r--. 1 root root 7493992262336241664 Dec 13  2014 ac2cb28f-09ac-4ca0-bde1-471e0c7276a0

यह 410855320 ब्लॉकों पर कब्जा कर लेता है, लेकिन lsइसे ~ 6.6 एक्साबाइट्स के रूप में दिखाता है।

आपको क्या लगता है, क्या इन फाइलों को हटाना सुरक्षित है? धन्यवाद!

PS यह नियमित आधार पर स्नैपशॉट लेने के लिए बहुत अच्छा है! :) मुझे नहीं पता कि मैं उनके बिना क्या करूंगा।


आपके जवाबों के लिए बहुत - बहुत धन्यवाद। बेशक, मैं विरल फाइलों के बारे में जानता हूं, लेकिन मेरे लिए सबसे महत्वपूर्ण सवाल निम्नलिखित है: क्या इन फाइलों को हटाना सुरक्षित है? जैसा कि मैं अब देख रहा हूं, अगर फाइल सिस्टम दूषित हैं तो कुछ डेटा खोने का मौका है। मुझे यकीन नहीं हो रहा है कि फाइलसिस्टम ठीक है, क्योंकि यह उन्हें अनमाउंट और चेक करने के लिए अवांछनीय है, लेकिन पहली घटना 4 महीने पहले हुई थी, दूसरी - 14 महीने पहले, इसलिए मुझे उम्मीद है कि मैं देखूंगा कि कोई फाइल सिस्टम था अगर कोई था तो भ्रष्टाचार। तुम क्या सोचते हो?
वलोडिमिर मेल्नक

जवाबों:


31

मैं उन फ़ाइल आकारों को देखने के लिए आपके लिए दो संभावित कारण देख सकता हूं:

  • विरल फाइलें
  • फ़ाइल सिस्टम भ्रष्टाचार

स्पार्स फाइलें कुछ फाइल सिस्टम पर एक सुविधा है जिसके द्वारा आप इसमें छेद के साथ फाइल बना सकते हैं। छिद्रों के लिए कोई भौतिक स्थान आवंटित नहीं किया गया है। छेद भर में पढ़ना एनयूएल बाइट्स को सभी तरह से वापस कर देगा।

यदि आप जो देख रहे हैं उसका कारण विरल फाइलें हैं, तो उन्हें हटाना उतना ही सुरक्षित है जितना कि गैर-विरल फाइल के साथ।

यदि आप जो देख रहे हैं उसका कारण फ़ाइल सिस्टम भ्रष्टाचार है, तो फ़ाइल सिस्टम चेक के बिना फ़ाइलों को हटाना सुरक्षित नहीं है। यदि किसी फ़ाइल सिस्टम को एक तरह से दूषित किया जाता है, जहाँ कई फाइलें एक ही स्थान पर कब्जा करने का दावा करती हैं, तो किसी भी फाइल को हटाने से उन ब्लॉक को मुक्त किया जाएगा। एक बार उन मुक्त ब्लॉकों का पुन: उपयोग किया जाता है तो भ्रष्टाचार खराब हो जाता है।

यदि आपने किसी अन्य लक्षण को देखा है तो आपको लगता है कि फ़ाइल सिस्टम दूषित हो सकता है, आपको फ़ाइलों को हटाने से पहले फ़ाइल सिस्टम की पूरी जाँच करने के लिए बाध्य करना चाहिए।

यदि कोई सबूत नहीं है कि फ़ाइल सिस्टम दूषित है, और फाइलें विरल दिखाई देती हैं, तो मैं फ़ाइलों को केवल तब हटा दूंगा, जब मुझे उनकी आवश्यकता नहीं होगी।


6

समस्या यह है कि आप फ़ाइल आकार की गणना किस तरह करते हैं।

एक तरह से यह अंतिम बाइट (जैसे एलएस) की भरपाई है। दूसरा तरीका वास्तव में आवंटित ब्लॉकों (जैसे डु) को योग करना है।

क्या आप देख सकते हैं कि शायद बहुत बड़े ऑफसेट पर लिखे गए डेटा के साथ एक फ़ाइल। मतलब कि आपके फ़ाइल एड्रेस स्पेस के प्रमुख हिस्से आवंटित नहीं किए गए हैं। लेकिन आप इसे अभी भी पढ़ सकते हैं।


धन्यवाद। आपको क्या लगता है, अगर मैं इन फाइलों को हटा दूं तो यह कुछ भी दुर्घटनाग्रस्त नहीं होगा?
वलोडिमिर मेल्नक

1
विवरण के लिए Google "विरल फ़ाइल"।
कोंडायबस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.