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


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

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

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

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

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

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

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

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


20
2018-02-10 11:36


मूल


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


जवाब:


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

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

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

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

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

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

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


31
2018-02-10 13:32





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

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

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


6
2018-02-10 12:46



धन्यवाद। यदि आप इन फ़ाइलों को हटा दें तो क्या आपको लगता है कि यह कुछ भी दुर्घटनाग्रस्त नहीं होगा? - Vladimir Melnik
विवरण के लिए Google "स्पैस फ़ाइल"। - Kondybas