मैं LVM भौतिक आयतन पर ख़राब ब्लॉकों की जाँच कैसे कर सकता हूँ?


17

जब आप ext4 का उपयोग कर रहे हैं, तो आप कमांड के साथ बैडब्लॉक की जांच कर सकते हैं e2fsck -c /dev/sda1 # or whatever। यह ब्लॉक को खराब ब्लॉक इनोड में जोड़कर "ब्लैकलिस्ट" करेगा।

LVM2 भौतिक आयतन के लिए इसके समतुल्य क्या है? इस पर फाइलसिस्टम ext4 है, लेकिन संभवतः, खराब ब्लॉक्स का पता लगाया जाता है जो कि अमान्य हो जाएगा क्योंकि अंतर्निहित LVM सेटअप भौतिक डिस्क पर डेटा को स्थानांतरित करता है।

दूसरे शब्दों में, मैं LVM में उपयोग न होने वाले ख़राब ब्लॉकों की जाँच कैसे कर सकता हूँ?

जवाबों:


14

जब आप ext4 का उपयोग कर रहे हैं, तो आप कमांड के साथ e2fsck -c /dev/sda1या जो भी बैडब्लॉक देख सकते हैं । यह ब्लॉक को खराब ब्लॉक इनोड में जोड़कर "ब्लैकलिस्ट" करेगा।

e2fsck -cbadblocksअंतर्निहित हार्ड डिस्क पर चलता है । आप badblocksसीधे LVM भौतिक आयतन पर कमांड का उपयोग कर सकते हैं (यह मानते हुए कि पीवी वास्तव में एक हार्ड डिस्क है, और कुछ अन्य प्रकार के वर्चुअल डिवाइस जैसे एमडी सॉफ्टवेयर RAID डिवाइस) नहीं है, जैसे आप हार्ड डिस्क पर उस कमांड का उपयोग करेंगे। जिसमें एक एक्सट्रीम फाइल सिस्टम है।

यह फ़ाइल सिस्टम में किसी भी प्रकार की ख़राब ब्लॉक जानकारी को नहीं जोड़ेगा, लेकिन मैं वास्तव में यह नहीं सोचता कि यह फाइल सिस्टम की एक उपयोगी विशेषता है; हार्ड डिस्क खराब ब्लॉक को संभालने वाली है।

से भी बेहतर है badblocks कि डिस्क पर SMART सेल्फटेस्ट चल रहा है ( /dev/sdXअपनी हार्ड डिस्क के डिवाइस का नाम बदलें ):

smartctl -t long /dev/sdX
smartctl -a /dev/sdX | less

यदि परीक्षण में कुछ घंटे लगेंगे (यह आपको बताएगा कि वास्तव में कितनी देर है)। जब यह पूरा हो जाए, तो आप परिणाम को क्वेरी कर सकते हैं smartctl -a, स्व-परीक्षण लॉग की तलाश कर सकते हैं। यदि यह कहता है "सफलतापूर्वक पूरा हुआ", तो आपकी हार्ड डिस्क ठीक है।

दूसरे शब्दों में, मैं LVM में उपयोग न होने वाले ख़राब ब्लॉकों की जाँच कैसे कर सकता हूँ?

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


3
आप e2fsck मैनपेज की जाँच कर सकते हैं और देख सकते हैं कि -cकुछ पूर्ण बकवास कहने से पहले क्या करता है।
derobert

1
@derobert उफ़ ...
मार्टिन वॉन

1
@derobert टीआईएल। मैंने गलत अनुभाग फिर से लिखा है। प्रतिक्रिया के लिए धन्यवाद!
मार्टिन वॉन विटिच

वास्तव में, ब्लॉक को झंडी दिखाने के बजाय इसलिए फाइल सिस्टम उन्हें आधुनिक डिस्क पर उपयोग नहीं करता है आपको बस ब्लॉक को नया डेटा लिखना चाहिए और डिस्क स्वचालित रूप से सेक्टर को एक खाली करने के लिए रीमैप करेगा यदि यह वास्तव में शारीरिक रूप से क्षतिग्रस्त है। आप ऐसा कर सकते हैं dd। अधिक बार आप सोचते होंगे, माध्यम वास्तव में ठीक है और डेटा सिर्फ भ्रष्ट था, इसलिए इस पर लिखना बिना रीमैप के आवश्यकता के ठीक काम करता है।
psusi

"आप ऐसा कर सकते हैं dd" - लेकिन आप अभी भी शायद नहीं करना चाहिए। यदि आपके पास कोई mdछापा है, तो यह आपके लिए समस्या का ख्याल रख सकता है । @derobert को शायद पता होगा कि जब डिस्क mdछापे का हिस्सा नहीं है तो क्या करना है :)
मार्टिन वॉन विटिच

4

मुझे पूरा यकीन है कि LVM खराब ब्लॉकों को नहीं संभालता है; यह अंतर्निहित भंडारण की अपेक्षा करता है। और सबसे, अगर सभी नहीं, आधुनिक हार्ड डिस्क करते हैं। आपको सेक्टर को लिखने की आवश्यकता हो सकती है, लेकिन डिस्क को इसे रीमैप करना चाहिए। (आपको उदाहरण के साथ, पहले एक ऑफ़लाइन सतह स्कैन करने की आवश्यकता हो सकती है smartctl /dev/sda -t offline)।

कहा कि, LVM वास्तव में डेटा को तब तक इधर-उधर नहीं करता, जब तक कि आप इसे नहीं पूछते, उदाहरण के लिए pvmove,। तो आप ext4 बैडब्लॉक सुविधा का उपयोग कर सकते हैं; यदि आपको चला जाए तो आपको केवल खराब ब्लॉकों की फिर से जांच करनी होगीpvmove । कोई भी सामान्य ऑपरेशन (जैसे lvextend) डेटा स्थानांतरित नहीं करता है।

एक्सटेंड डेटा को स्थानांतरित नहीं करता है क्योंकि LVM एक नक्शा यह कहता है कि "तार्किक विस्तार 0–99 भौतिक रूप से 200-299 हैं", और फिर जब आप इसे बढ़ाते हैं, तो यह सिर्फ "तार्किक विस्तार 100-199 भौतिक विलुप्त 100-199" जोड़ता है। या यहां तक ​​कि "तार्किक विस्तार 100-149 भौतिक विस्तार 50-99; तार्किक विस्तार 150-199 भौतिक विस्तार 140-9 9" हैं। LVM को इस बात की परवाह नहीं है कि भौतिक विस्तार क्रम में नहीं हैं, या वे सन्निहित नहीं हैं।


2

pvckLVM मेटाडेटा की जांच कर सकते हैं, उसके बाद फ़ाइल सिस्टम का काम है। LVM केवल वॉल्यूम प्रबंधन के बारे में है, इसलिए यह ध्यान रखने की आवश्यकता नहीं है कि कोई विशेष सीमा बनाने वाला स्थान खराब है क्योंकि उच्च स्तरीय सॉफ़्टवेयर उन मुद्दों को पकड़ता है। LVM मेटाडेटा केवल भौतिक मात्रा वैसे भी पहले (वैकल्पिक रूप से अंतिम क्षेत्र) को लेती है।

यदि किसी बड़े बड़े PV के पहले और अंतिम सेक्टर (जैसे कि आप उत्पादन में देखेंगे) बस एक साथ विफल होने के लिए होता है, तो आपके पास मूल रूप से दुनिया में sh * ttiest किस्मत है क्योंकि यह इतना खगोलीय संभावना नहीं है। अन्यथा, यदि व्यवस्थापक को पता है कि ड्राइव के कई सेक्टर विफल हो रहे हैं, तो ज्यादातर लोग इस तरह की चीजों को दाखिल करने के साथ ठीक हैं क्योंकि "हार्ड ड्राइव स्थायी रूप से विफल हो गया है और इसे बदलने की आवश्यकता है।"

यदि pvckकोई त्रुटि देता है, तो आप यह देखने के लिए देख सकते हैं कि /etc/lvmकहीं आपका LVM मेटाडेटा बैकअप नहीं है। यदि यह है तो आप pvcreateबैकअप कॉपी को निर्दिष्ट कर सकते हैं--restorefile

वाक्य - विन्यास:

pvcreate --uuid "<UUID-of-target-PV>" --restorefile <Path-To-Metadata-Backup-File> <path-to-PV-block-device>

उदाहरण:

pvcreate --uuid "2VydVW-TNiN-fz9Y-ElRu-D6ie-tXLp-GrwvHz" --restorefile /etc/lvm/archive/vg_raid_00000-1085667159.vg /dev/sda2 

यदि पुनर्स्थापना काम नहीं करती है (उदाहरण के लिए, यदि पहला क्षेत्र खराब है) तो आप उपरोक्त को फिर से कर सकते हैं, लेकिन सेट करें --metadatacopies 2(या आप बस इसे करने के लिए सीधे जा सकते हैं) जो पहले मेटाडेटा लिखने का प्रयास करेगा पिछले क्षेत्रों में पी.वी. कबpvscanबूट पर अपनी बात करता है यह दोनों स्थानों की जांच करेगा और यदि मेटाडेटा पाता है तो यह उन्हें एक चेकसम के खिलाफ सत्यापित करेगा। यदि चेकसम पहले सेक्टर पर विफल रहता है, लेकिन अंतिम सेक्टर में सफल होता है, तो आपको एक गैर-घातक त्रुटि संदेश मिलेगा।

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

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