NT4 की तुलना में एक्‍सटी 4 डिस्‍क जांच इतनी तेजी से क्‍यों होती है?


12

आज मेरे पास एक ऐसी स्थिति थी जहां मैंने अपने कंप्यूटर को फिर से शुरू किया और कहा कि मुझे निरंतरता के लिए डिस्क की जांच करने की आवश्यकता है। लगभग 10 मिनट बाद ("1%" पूरा होने पर), मैंने हार मान ली और घर जाने पर इसे चलने दिया।

तुलना के लिए, मेरे घर का कंप्यूटर सभी विभाजनों के लिए Ext4 का उपयोग करता है, और डिस्क जांच (जो सप्ताह में एक बार चलती है) केवल कुछ सेकंड लेती है। मुझे याद है कि फास्ट डिस्क चेक करना प्राथमिकता थी, लेकिन मुझे नहीं पता कि वे ऐसा कैसे कर सकते हैं।

तो, एक्सट 4 डिस्क चेक इतनी तेजी से कैसे करता है? क्या NTFS के बाहर आने के बाद (~ 10 साल पहले) ऐसा करने में कुछ बड़ी सफलता मिली है?

नोट: NTFS डिस्क ~ 300 GB है और Ext4 डिस्क ~ 500 GB है। दोनों लगभग आधे भरे हुए हैं।


मेरे पास 2008 R2 के जारी होने के बाद से बूटअप पर Windows chkdsk का NTFS वॉल्यूम नहीं था। यहां तक ​​कि एक CSV क्लस्टर में कई नोड्स के साथ एक ही NTFS वॉल्यूम पहुंचता है जो हजारों ल्यूसिन इंडेक्स फाइलों को लॉक करता है। यह काफी प्रभावशाली है।
ब्रेन २००

स्टार्टअप पर चलने वाले Chkdsk का मतलब है कि OS ने फाइल सिस्टम मेटाडेटा असंगति, एक गंभीर समस्या का सामना किया है। Chkdsk को संभावना थी कि "यदि संभव हो तो खराब और मरम्मत के लिए हर डिस्क क्षेत्र की जाँच करें" झंडा, बहुत समय लेने वाला ऑपरेशन। नियमित fsck जाँच निश्चित रूप से ऐसा नहीं करते हैं।
kreemoweet

जवाबों:


11

प्रदर्शन अंतर के दो मुख्य कारण हैं, और दो संभावित कारण। सबसे पहले, मुख्य कारण:


Ext4 बनाम NTFS का प्रदर्शन बढ़ा

विभिन्न बेंचमार्क ने निष्कर्ष निकाला है कि वास्तविक ext4 फ़ाइल सिस्टम NTFS विभाजन की तुलना में तेजी से विभिन्न प्रकार के रीड-राइट ऑपरेशन कर सकता है। ध्यान दें कि जब ये परीक्षण वास्तविक दुनिया के प्रदर्शन के संकेत नहीं हैं, तो हम इन परिणामों को एक्सट्रपलेशन कर सकते हैं और इसे एक कारण के रूप में उपयोग कर सकते हैं।

के रूप में क्यों ext4 वास्तव में बेहतर प्रदर्शन करता है तो NTFS को विभिन्न कारणों से जिम्मेदार ठहराया जा सकता है। उदाहरण के लिए, ext4 सीधे आवंटन में देरी का समर्थन करता है। फिर भी, प्रदर्शन लाभ उस हार्डवेयर पर कड़ाई से निर्भर करता है जिसका आप उपयोग कर रहे हैं (और कुछ मामलों में पूरी तरह से नकारा जा सकता है)।

फ़ाइल सिस्टम की आवश्यकताओं को कम करना

Ext4 फाइलसिस्टम अन्य समान जर्नलिंग फाइलसिस्टम (जैसे NTFS) की तुलना में तेज फाइल सिस्टम जांच करने में सक्षम है । विकिपीडिया पृष्ठ के अनुसार:

Ext4 में, अनलॉक्ड ब्लॉक समूह और इनोड टेबल के सेक्शन को इस तरह चिह्नित किया गया है। यह e2fsck को पूरी तरह से चेक पर छोड़ने में सक्षम बनाता है और सपोर्ट के लिए बनाया गया आकार ext4 की फाइल सिस्टम को जांचने में लगने वाले समय को बहुत कम कर देता है। यह सुविधा लिनक्स कर्नेल के 2.6.24 संस्करण में लागू की गई है।


और अब, दो संभावित कारण:


फाइल सिस्टम यूटिलिटीज की जांच

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

डिस्क का विखंडन

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


1
मुझे क्या भ्रमित करता है कि आपका दूसरा बिंदु शुरू में ऐसा लगता है कि इसका सबसे बड़ा प्रभाव होगा, लेकिन मेरे एक्सटी 4 विभाजन में लगभग उतना ही उपयोग किया गया स्थान है जितना मेरे NTFS विभाजन में कुल है - बहुत तेज़ होने के बजाय, उन्हें समान गति के बारे में होना चाहिए। मुझे लगता है कि यह संभव है Ext4 के प्रदर्शन में सुधार यह तेजी के साथ-साथ जांच करने के लिए करें कि है, लेकिन Ext4 नहीं है कि बहुत तेजी से NTFS के अलावा (निश्चित रूप से नहीं परिमाण अंतर की कई आदेशों मैं फाइल सिस्टम की जाँच में देखें)।
ब्रेंडन लॉन्ग

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

मुझे क्या भ्रमित करता है कि वास्तव में जांचा गया हिस्सा दोनों पर समान आकार के बारे में होना चाहिए (क्योंकि मेरे एक्सटी 4 विभाजन में लगभग उतना ही इस्तेमाल किया गया स्थान है जितना एनटीएफएस विभाजन है), लेकिन एक्सटी 4 विभाजन सेकंड में अपना चेक करता है, जबकि एनटीएफएस एक घंटे लगते हैं।
ब्रेंडन लॉन्ग

1
@ ब्रेंडन लॉन्ग यदि आप मेरे उत्तर की पहली कड़ी को देखते हैं, तो कुछ लोगों ने पाया है कि फाइल रीड वास्तव में एक्सट्रीम 4 बनाम एनटीएफएस का उपयोग करके ड्राइव के साथ तेज है। भले ही फ़ाइल के भीतर आयोजित डिजिटल डेटा समान है , लेकिन यह डिस्क पर उसी तरह संग्रहीत नहीं है । हालाँकि, यदि आप कहते हैं कि NTFS को एक घंटे का समय लगता है , तो आप संभवतः प्रत्येक सेक्टर को ड्राइव पर सत्यापित कर रहे हैं, इसलिए हो सकता है कि आप ext4 फाइलसिस्टम चेक में कुछ वैकल्पिक जाँचों को छोड़ दें (बड़ी गति के अंतर को समझाते हुए)। यह प्रत्येक फ़ाइल को पूरी डिस्क सतह के बजाय सत्यापित करने के लिए बहुत तेज़ है।
ब्रेकथ्रू

1
यह उत्तर केवल एक्स 4 बनाम एनटीएफएस की एक सूची है, जो प्रश्न की प्रासंगिकता के साथ बात कर रहा है। जर्नल फाइल सिस्टम को कभी भी साधारण ऑपरेशन में जांचने की आवश्यकता नहीं होती है। एक स्वचालित जांच का मतलब है कि कुछ गंभीर रूप से गलत है। बिना यह जाने कि गलत क्या है, यह जानना असंभव है कि जाँच इतनी धीमी क्यों है। Ext4 की साप्ताहिक जाँचों से इसकी तुलना सेब और संतरे से की जा रही है।
बे्रनग

3

मेरी समझ से ext4 खुले इनोड्स के सबसे बड़े निरंतर अंतराल पर डेटा लिखने की कोशिश करता है जहां कोई डेटा वर्तमान में नहीं रहता है। यह गंभीर रूप से विलंबता को कम करता है जब उन फ़ाइलों को, अधिकांश भाग के रूप में पढ़ना पड़ता है, एक व्यक्तिगत फ़ाइल की पूरी सामग्री ज्यादातर एक ही निरंतर ट्रैक पर होती है, इसलिए ड्राइव हेड को कम से कम हर ब्लॉक डेटा को खोजने के दौरान क्या करना होगा। कि एक फ़ाइल बनाता है।

यह (ext4) अभी भी खंडित हो सकता है लेकिन इतना कम और जरूरी नहीं कि एक तरह से NTFS के साथ पढ़ने / लिखने के प्रदर्शन को प्रभावित करता हो। NTFS पर, डेटा को सिर के रास्ते में पहले खुले ब्लॉकों में लिखा जाता है।

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

इसके अलावा सर्वर आमतौर पर इसका उपयोग क्यों नहीं करते हैं क्योंकि भारी I / O एक सर्वर के साथ चल रहा है जहां डेटा लगातार लिखा जा रहा है और डिस्क 24/7 से पढ़ा जा रहा है।

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


न तो NTFS chkdsk और न ही ext4 fsck फ़ाइल डेटा पढ़ता है। यह व्यर्थ होगा, क्योंकि इसकी अखंडता को सत्यापित करने के लिए कोई चेकसम या कोई अन्य तरीका नहीं है।
बे्रनग

1

विंडोज को स्टार्टअप पर NTFS वॉल्यूम की जांच करने की आवश्यकता नहीं होनी चाहिए। यदि ऐसा होता है, तो कुछ गंभीर रूप से गलत हो गया है - केवल बीएसओडी या पावर आउटेज की तुलना में बहुत खराब है। एक महत्वपूर्ण मौका है कि आपके कुछ डेटा भी भ्रष्ट हो गए थे जो कि फाइल सिस्टम मेटाडेटा को दूषित करते थे। डिस्क जांच से पता नहीं चल सकता है कि; इसका एकमात्र उद्देश्य आगे के भ्रष्टाचार से बचना है।

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

मुझे नहीं पता कि आपका ext4 फाइलसिस्टम प्रति सप्ताह एक बार स्वयं क्यों जाँच कर रहा था, लेकिन यह संभवत: (उम्मीद है) तुलनात्मक संकट के कारण नहीं था जो साप्ताहिक रूप से पुनरावृत्त होता था। यह शायद केवल एक नियमित रूप से पवित्रता की जाँच कर रहा था, और एक पूर्ण संगति जाँच नहीं।


1
एक लंबे समय के लिए, प्रत्येक एनएसटी फाइलसिस्टम माउंट में स्वचालित fsck चेक अधिकांश लिनक्स वितरण में मानक थे। आजकल, वह विकल्प आमतौर पर डिफ़ॉल्ट रूप से बंद है।
kreemoweet

0

क्योंकि UNIX / Linux Ext2 / Ext3 / Ext4 प्रौद्योगिकियां डेटा बिट्स की एक अधिक सख्त चुंबकीय पट्टी बिछाती हैं, क्योंकि NTFS बिछाने में एक डेटा के विपरीत होता है, जो पेंट के स्प्रे के विपरीत नहीं होता। NTFS को नियमित "डीफ़्रैग" की आवश्यकता होती है, जहां एक्सट्रीम 2/3/4 के रूप में शायद ही कभी डीफ़्रैग की आवश्यकता होती है। यह इतना सरल है। यदि आपको अपने UNIX / Linux ड्राइव से कुछ चाहिए - OS को ठीक से पता है कि कसकर चुम्बकीय डेटा बिट्स के स्टेप्स कहां से लेने चाहिए, जबकि NTFS को उन्हें लेने के लिए ड्राइव डिस्क पर पूरी तरह से हाथ धोना पड़ता है। NTFS जर्नल सिस्टम बहुत अच्छी तरह से काम करता है - लेकिन, सिर उन चुंबकीय बिट्स को उठाने के लिए पोंग खेल रहे हैं जिन्हें नीचे रखा गया है। दोहरी एफएटी फ़ाइल प्रणाली अच्छी तरह से काम करती है - लेकिन, जब आपको सिंगल बिट्स के अपने बुशल को इकट्ठा करने के लिए नरक के एकड़ में भागना पड़ता है - अगर आपके पास बिट्स के पूरे तार नहीं हैं और यह बहुत तेज़ है।

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