प्रश्न 1:
-bविकल्प के संबंध में : यह आपकी डिस्क पर निर्भर करता है। आधुनिक, बड़े डिस्क में 4KB ब्लॉक हैं, जिस स्थिति में आपको सेट करना चाहिए -b 4096। आप ऑपरेटिंग सिस्टम से ब्लॉक का आकार प्राप्त कर सकते हैं , और यह आमतौर पर या तो लेबल से डिस्क की जानकारी को पढ़कर, या डिस्क के मॉडल नंबर को गुगली करके प्राप्त करने योग्य होता है। यदि -bआपके ब्लॉक आकार से कुछ बड़ा करने के लिए सेट किया गया है, तो badblocksपरिणामों की अखंडता से समझौता किया जा सकता है (यानी आप झूठे-नकारात्मक प्राप्त कर सकते हैं: कोई बुरा ब्लॉक नहीं मिला जब वे अभी भी मौजूद हों)। यदि -bआपके ड्राइव के ब्लॉक आकार से कुछ छोटा है, तो badblocksरन की गति से समझौता किया जा सकता है। मुझे यकीन नहीं है, लेकिन सेटिंग के साथ अन्य समस्याएं भी हो सकती हैं-bआपके ब्लॉक आकार की तुलना में कुछ छोटा है, क्योंकि यह एक पूरे ब्लॉक की अखंडता की पुष्टि नहीं कर रहा है, यह अभी भी गलत-नकारात्मक प्राप्त करना संभव हो सकता है यदि यह बहुत छोटा है।
यह -cविकल्प एक साथ कितने ब्लॉक की जाँच करता है, इसके अनुरूप है। बैच पढ़ना / लिखना, मूल रूप से। यह विकल्प आपके परिणामों की अखंडता को प्रभावित नहीं करता है, लेकिन यह उस गति को प्रभावित करता है जिस पर badblocksचलता है। badblocks(वैकल्पिक रूप से) लिखेंगे, फिर पढ़ेंगे, बफर, चेक, प्रत्येक एन ब्लॉक के लिए दोहराएंगे जैसा कि निर्दिष्ट किया गया है -c। यदि -cबहुत कम सेट किया जाता है, तो यह आपके badblocksरनों को सामान्य से बहुत अधिक समय लेगा, क्योंकि कतारबद्ध और अलग आईओ अनुरोध ओवरहेड को संसाधित और संसाधित करता है, और डिस्क अतिरिक्त ओवरहेड प्रति-अनुरोध भी लगा सकता है। यदि -cबहुत अधिक सेट किया गया है, तो badblocksस्मृति समाप्त हो सकती है। यदि ऐसा होता है, badblocksतो यह शुरू होने के बाद काफी जल्दी विफल हो जाएगा। यहाँ अतिरिक्त विचारों में समानांतर badblocksरन शामिल हैं : यदि आप दौड़ रहे हैंbadblocksएक ही डिस्क (खराब विचार) पर एक से अधिक विभाजनों के खिलाफ, या एक ही IO चैनल पर कई डिस्क के खिलाफ, आप संभवतः -cकुछ उच्च समझ के साथ ट्यून करना चाहेंगे badblocksताकि स्मृति उपलब्ध हो सके ताकि समानांतर रन IO बैंडविड्थ के लिए न लड़ें और एक समझदार तरीके से समानांतर कर सकते हैं।
प्रश्न 2:
अन्य उत्तर जो इंगित करते हैं, उसके-w विपरीत, राइट-मोड टेस्ट गैर-विनाशकारी रीड-राइट टेस्ट से अधिक या कम विश्वसनीय नहीं है, लेकिन यह आपके डेटा के सभी के लिए विनाशकारी होने की कीमत पर दोगुना है। मैं समझाता हूँ क्यों:
गैर-विनाशकारी मोड में, badblocksनिम्न कार्य करता है:
- मौजूदा डेटा पढ़ें, इसे चेकसम करें (यदि आवश्यक हो तो फिर से पढ़ें), और इसे मेमोरी में स्टोर करें।
-pब्लॉक के लिए एक पूर्व निर्धारित पैटर्न ( विकल्प के साथ अति-योग्य , हालांकि आमतौर पर आवश्यक नहीं है) लिखें ।
- ब्लॉक बैक पढ़ें, यह पुष्टि करते हुए कि रीड डेटा पैटर्न के समान है।
- मूल डेटा को डिस्क पर वापस लिखें।
- मुझे इस पर यकीन नहीं है, लेकिन यह शायद फिर से पढ़ता है और पुष्टि करता है कि मूल डेटा सफलतापूर्वक लिखा गया था और अभी भी एक ही चीज़ के लिए चेकसम है।
विनाशकारी ( -w) मोड में, badblocksकेवल ऊपर 2 और 3 चरण करता है। इसका अर्थ है कि डेटा अखंडता को सत्यापित करने के लिए आवश्यक रीड / राइट ऑपरेशन की संख्या आधे में कट जाती है। यदि एक ब्लॉक खराब है, तो डेटा किसी भी मोड में गलत होगा। बेशक, यदि आप अपने ड्राइव पर संग्रहीत डेटा के बारे में परवाह करते हैं, तो आपको गैर-विनाशकारी मोड का उपयोग करना चाहिए, क्योंकि -wसभी डेटा को अलग करेगा और badblocksडिस्क पर लिखे पैटर्न को छोड़ देगा ।
कैविएट: यदि कोई ब्लॉक खराब हो रहा है, लेकिन पूरी तरह से अभी तक नहीं गया है, तो कुछ रीड / राइट सत्यापन जोड़े काम कर सकते हैं, और कुछ नहीं हो सकते हैं। इस मामले में, गैर-विनाशकारी मोड आपको एक ब्लॉक के "शील" का अधिक विश्वसनीय संकेत दे सकता है, क्योंकि यह रीड / राइट सत्यापन के दो सेट करता है (शायद - चरण 4 के तहत बुलेट देखें)। यहां तक कि अगर गैर-विनाशकारी मोड उस तरह से अधिक विश्वसनीय है, तो यह केवल संयोग से अधिक विश्वसनीय है । ब्लॉक के लिए जाँच करने का सही तरीका जो पूरी तरह से खराब नहीं है, लेकिन विकल्प badblocksका उपयोग करते हुए एक ही डेटा पर कई बार पढ़ने / लिखने के संचालन को बनाए नहीं रख -pसकता है।
प्रश्न 3:
यदि SMART सेक्टरों को अलग कर रहा है, तो आपको संभवतः ASAP ड्राइव को बदलने पर विचार करना चाहिए। ड्राइव जो कुछ क्षेत्रों को खो देते हैं, उन्हें हमेशा खोते नहीं रहते हैं, लेकिन इसका कारण आमतौर पर एक अत्यधिक उपयोग किया जाने वाला ड्राइव है जो चुंबकीय रूप से विक्षिप्त हो रहा है, या गलत तरीके से चलने वाले हेड / मोटर्स के परिणामस्वरूप गलत या विफल रीड / लिखते हैं। अंतिम निर्णय आप पर निर्भर करता है, निश्चित रूप से: ड्राइव पर डेटा के मूल्य और उस पर आपके द्वारा चलाए जाने वाले सिस्टम से आपकी विश्वसनीयता की आवश्यकता के आधार पर, आप इसे बनाए रखने का निर्णय ले सकते हैं। मेरे पास कुछ बुरे ब्लॉकों के साथ कुछ ड्राइव हैं जो मेरे फाइलरवर में सालों से SMART चेतावनियों के साथ घूम रहे हैं, लेकिन वे एक शेड्यूल पर बैकअप ले रहे हैं ताकि मैं बिना किसी दर्द के कुल विफलता को संभाल सकूं।