डीफ़्रैग्मेन्टेशन की क्या आवश्यकता है? लिनक्स या ext2 ext3 FS?


32

आपको लिनक्स सिस्टम को डीफ़्रैग क्यों नहीं करना है? क्योंकि यह ext2 / ext3 फाइल सिस्टम का उपयोग कर रहा है, या क्योंकि यह लिनक्स है?

यह प्रासंगिक है, क्योंकि मेरे पास एक डबल बूट सिस्टम (W7 / Ubuntu) और एक सामान्य विभाजन (NTFS) है जिसे दोनों प्रणाली द्वारा एक्सेस किया जा सकता है। यदि मैं लिनक्स के साथ इस विभाजन का उपयोग कर रहा हूं, तो क्या यह खंडित हो जाएगा?

एक अन्य मुद्दा Truecrypt कंटेनर हैं। मैं उन्हें लिनक्स और विंडोज के साथ भी एक्सेस करता हूं, और वे FAT32 हैं। क्या वे लिनक्स से संचालित हो रहे हैं?


2
अन्य उत्तर अच्छे हैं लेकिन एक महत्वपूर्ण बिट को छोड़ दें: सभी फाइल सिस्टम: ext2 / 3/4 और NTFS डिस्क स्थान पर कम होने पर फाइलों को काफी विखंडित कर देंगे। यदि आप विखंडन को रोकना चाहते हैं, तो अपने फाइलसिस्टम का उपयोग 90% से अधिक न होने दें।
ज़ैन लिंक्स

1
यदि आप ext4 का उपयोग करते हैं, तो आप यह देखकर आश्चर्यचकित होंगे कि e4defrag -v .निर्देशिका ट्री में चलने पर आपके पास कितना विखंडन हो सकता है , खासकर यदि इसमें कोई टोरेंट क्लाइंट के साथ डाउनलोड की गई फ़ाइलें (जैसे, कुछ उपयोग fallocate/ posix_fallocate) हैं।
मलबे

यद्यपि यह प्रश्न व्यक्तिगत राय के अधीन है, मुझे लगता है कि यह वास्तविक तथ्यों पर अधिक निर्भर करता है।
जूली पेल्लेटियर

जवाबों:


27

यहां बताया गया है कि डिस्क पर फ़ाइलें कैसे एक्स 2 / एक्स 3 आवंटित की जाती हैं, इसके बारे में गीक टू गीक । और उनके पास एक लेख भी है जो पूछ रहा है " क्या आपको वास्तव में डीफ़्रैग करने की आवश्यकता है ?"


FAT क्यों खंडित हो जाता है:

"जब आप किसी फ़ाइल को FAT फाइल सिस्टम में सहेजते हैं, तो [संभवत: डिस्क के शुरू होने के करीब] फ़ाइल को सहेजा जाता है। जब आप दूसरी फाइल को सहेजते हैं, [पहली फाइल के ठीक बाद फाइल बच जाती है] - और इसी तरह जब मूल फाइलें आकार में बढ़ती हैं, तो वे हमेशा खंडित हो जाते हैं। उनके बढ़ने के लिए पास का कोई कमरा नहीं है। "
-कैसे गीक

और विकिपीडिया में एफएटी विखंडन के बारे में अधिक जानकारी है

EXT2,3,4 फ़ाइलों को कैसे आवंटित करें:

"ext2, ext3 और ext4 फाइल सिस्टम [...] फाइलों को अधिक बुद्धिमान तरीके से आवंटित करता है। हार्ड डिस्क पर एक-दूसरे के पास कई फाइलें रखने के बजाय, लिनक्स फाइल सिस्टम डिस्क पर सभी फाइलों को अलग-अलग बिखेर देता है, जिससे एक बड़ी राशि निकल जाती है। उन दोनों के बीच मुक्त स्थान की।
-कैसे गीक

(और ext3 पर डीफ़्रेग्मेंटेशन के बारे में अधिक जानकारी , विकिपीडिया से )

"आधुनिक लिनक्स फाइल सिस्टम, सभी खंडों को एक साथ फाइल के पास रखकर न्यूनतम विखंडन करता है, भले ही वे लगातार सेक्टरों में संग्रहित नहीं किए जा सकें। कुछ फाइल सिस्टम, जैसे एक्स 3, प्रभावी रूप से उस फ्री ब्लॉक को आवंटित करते हैं जो अन्य के सबसे करीब है। एक फाइल में ब्लॉक। इसलिए लिनक्स सिस्टम में विखंडन के बारे में चिंता करना आवश्यक नहीं है। "
- टीएलडीपी


4
बहुत बढ़िया जवाब! लेकिन आपको थोड़ी अधिक सामग्री डालनी चाहिए। विचार यह है कि StackExchange पर कोई भी उत्तर अपने आप में पर्याप्त होना चाहिए। यदि आपके प्रश्नों के लिंक टूट जाते हैं, तो आपके उत्तर से कोई सहायता नहीं मिलेगी, इसलिए आपको अपनी पोस्ट में पर्याप्त स्पष्टीकरण देना चाहिए और फिर आगे पढ़ने के लिए लिंक देना चाहिए।
लार्जेट

1
धन्यवाद @lgeorget - मैंने कुछ दिशा उद्धरणों के साथ उत्तर को समाप्त कर दिया है, इसलिए "क्यों" पर पढ़ने के लिए हमेशा कुछ सामग्री होती है। मैं आपके इनपुट / रचनात्मक आलोचना की सराहना करता हूँ !!
dougBTV

"जब आप किसी फ़ाइल को FAT फ़ाइल सिस्टम में सहेजते हैं, तो यह सहेजता है"। समझ में नहीं आता है। यह क्या है"? FAT एक फाइल सिस्टम फॉर्मेट है। यह वर्णन करता है कि आप कहाँ बचा सकते हैं, लेकिन यह आपको एक स्थान पर सीमित नहीं करता है। वास्तव में, ओएस फैसला करता है। लेकिन कई अलग-अलग ओएसए हैं जो एफएटी को लिख सकते हैं, और प्रत्येक अपना निर्णय लेता है।
MSalters

@ दलाल - सहमत हुए। मैं उस खंड को छोड़ने के लिए उद्धृत अनुभाग संपादित करूँगा।
dougBTV

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

23

विखंडन हमेशा एक चिंता का विषय है चाहे कोई भी फाइल सिस्टम हो। हालाँकि, Ext3 / Ext2 ने समस्या को उस बिंदु तक कम कर दिया है, जहाँ अधिकांश व्यवस्थापक सिर्फ इस तरह काम करते हैं जैसे कि यह कोई चिंता की बात नहीं है। यह एक सक्षम I / O अनुसूचक के उपयोग से और फाइलसिस्टम द्वारा बढ़ते फ़ाइल को समायोजित करने के लिए प्रत्येक फ़ाइल के बाद अनुगामी स्थान को छोड़कर कम से कम किया जाता है। उसके ऊपर, अतिरिक्त टुकड़े एक साथ जमा होते हैं, इसलिए जब विखंडन होता है, तो प्रभाव गंभीर रूप से मौन होते हैं। Ext4 को extents में बदलना भी फ़्रेग्मेंटेशन को कम करने में मदद करना था।

विखंडन अभी भी मौजूद है, ext2 में एक ऑफ़लाइन डीफ़्रैग्मेन्टेशन टूल था, ext4 को एक ऑनलाइन और btrfs मिल रहा है (सिर्फ इसलिए कि यह प्रश्न से संबंधित है) में पहले से ही एक ऑनलाइन डीफ़्रैग है। यदि आप ext3 पर हैं, तो आपकी एकमात्र वास्तविक पसंद या तो ext4 (माध्यम से tune2fs) में कनवर्ट करना है या यह देखने की कोशिश करना है कि आपके पास उपयोगकर्ता स्थान के साथ कितना भाग्य है shake

I / O के प्रकार के आधार पर आपका फाइलसिस्टम चल रहा है, यह अभी भी अपने मौन स्तर पर भी चिंता का विषय हो सकता है, यही वजह है कि ऑनलाइन टूल को शुरू करने के लिए उपयोगी माना गया था।

FAT32 के बारे में सवाल के लिए, विखंडन तब नहीं होता है जब आप किसी फ़ाइल पर काम करते हैं, यह तब होता है जब आप फ़ाइल पर लिखते हैं। सीधे आपके प्रश्न का उत्तर देने के लिए, विखंडन फाइलसिस्टम डिजाइन का एक पहलू है, इसलिए जब भी आप इस पर कुछ लिखते हैं, तो आपके FAT32 फाइलसिस्टम में विखंडन की क्षमता होती है।


"यह सक्षम आई / ओ अनुसूचक के उपयोग से कम से कम है"। उस वाक्यांश के साथ कुछ सही नहीं है।
फहीम मीठा

उस पकड़ने के लिए धन्यवाद। पैराग्राफ की सजा के समग्र व्याकरण के साथ संशोधन के कारण किसी भी समस्या को ठीक किए बिना मैं अपनी भाषा को संशोधित करने के लिए बुरा हूं।
ब्राचली

यह एक अच्छा जवाब है। मैं CoW (लिखने पर प्रतिलिपि) के बारे में कुछ जोड़ूंगा। यह एक करीबी रिश्ता है कि क्या एफएस खंडित हो जाता है।
मार्टिन सुगियोआर्टो

4

अपने सवालों के जवाब, एक-एक करके:

आपको लिनक्स सिस्टम को डीफ़्रैग क्यों नहीं करना है? क्योंकि यह ext2 / ext3 फाइल सिस्टम का उपयोग कर रहा है या क्योंकि यह लिनक्स है?

क्योंकि ext2 / 3/4 में फ़ाइलों और फ़ोल्डरों के बारे में एक अलग दृष्टिकोण है, इसलिए वे मुश्किल से खंडित हो जाते हैं। दूसरों ने इसके बारे में पहले ही जवाब दे दिया है, और आप यहां अधिक विवरण पढ़ सकते हैं

यह प्रासंगिक है, क्योंकि एक डबल बूट सिस्टम (W7 / Ubuntu) और एक सामान्य विभाजन (NTFS) है जो दोनों प्रणाली द्वारा पहुँचा जा सकता है। यदि मैं लिनक्स के साथ इस विभाजन का उपयोग कर रहा हूं, तो क्या यह खंडित हो जाएगा?

हां, यह खंडित हो सकता है। यह कोई बात नहीं है अगर विंडोज या लिनक्स या कुछ और इसे एक्सेस कर रहा है, तो यह है कि प्रत्येक फाइलसिस्टम फ़ाइल के आकार के साथ कैसे व्यवहार करता है, यह उन सभी ब्लॉकों को कैसे संग्रहीत करता है, चाहे वह प्रत्येक फ़ाइल के बीच खाली स्थान छोड़ता हो ...

एक अन्य मुद्दा Truecrypt कंटेनर हैं। मैं उन्हें लिनक्स और विंडोज के साथ भी एक्सेस करता हूं, और वे FAT32 हैं। क्या वे लिनक्स से संचालित हो रहे हैं?

Truecrypt कंटेनर एक फ़ाइल है, सभी व्यावहारिक मामलों के लिए। जब आप TrueCrypt का उपयोग करके एक कंटेनर बनाते हैं, तो आप उस आकार की एक फ़ाइल बना रहे हैं जिसे आप चुनते हैं। आपके ऑपरेटिंग सिस्टम के लिए, यह किसी भी अन्य फ़ाइल की तरह है। यदि आप इसकी प्रतियां बनाते हैं, आदि, तो शायद प्रतियां खंडित होने से बच जाएं।

लेकिन, याद रखें, एक ही कंटेनर की कई प्रतियाँ रखना कभी अच्छा नहीं होता है, इससे उसकी सुरक्षा को कम करने में मदद मिल सकती है। हमेशा एक नया कंटेनर बनाते हैं।

जब आप कंटेनर के अंदर फ़ाइलों को सहेजते हैं, हटाते हैं, कॉपी करते हैं, स्थानांतरित करते हैं, तो ऑपरेटिंग सिस्टम को इसके बारे में पता नहीं है, यह आकार बदलने के बिना किसी भी अन्य फ़ाइल को खोलने, संपादित करने और सहेजने के समान है।

और अगर आप विखंडन के बारे में truecrypt सुरक्षा के बारे में चिंतित हैं, तो SSDs के साथ truecrypt का उपयोग करने के बारे में कुछ शोध करें: चूंकि SSD इसके अंदर सभी मेमोरी के पहनने को बढ़ाने का प्रयास करता है, इसलिए आपके पास कंटेनर को कॉपी करने का समान प्रभाव हो सकता है।


3

अंत में, यह ओएस के भीतर फाइल सिस्टम ड्राइवरों के लिए नीचे है।

ext2 और FAT फाइल सिस्टम दोनों तरीके हैं जो रिकॉर्ड करते हैं कि डिस्क किस ब्लॉक पर है। जब किसी फ़ाइल के सभी ब्लॉक सन्निहित नहीं होते हैं, तो फ़ाइल को खंडित कहा जाता है। लेकिन जैसा कि स्पष्ट होना चाहिए, फ़ाइल को लिखते समय ब्लॉक आवंटन रणनीति के कारण विखंडन होता है, न कि कैसे आप उन ब्लॉकों को रिकॉर्ड करते हैं।

क्या फर्क पड़ता है कि फ़ाइल सिस्टम ड्राइवर कितना आगे देख सकते हैं। यदि ड्राइवर को पता है कि लिखने के लिए 10 और ब्लॉक हैं, तो यह एक सन्निहित मुक्त क्षेत्र चुन सकता है और भविष्य के विखंडन से बच सकता है। यह ड्राइवर आर्किटेक्चर पर निर्भर करता है, जो ओएस-विशिष्ट है। लेकिन ठीक उसी मुक्त स्थान की खोज FAT और ext2 पर की जा सकती है।

वास्तव में, ext2 और FAT वास्तव में उतने अलग नहीं हैं जितना आप सोच सकते हैं। मैंने मौजूदा FAT कोड के शीर्ष पर एक बूटलोडर के ext2 भाग को लिखा है, और कोड की 100 से कम अतिरिक्त लाइनों की आवश्यकता है।

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