कैसे एक लिनक्स कंप्यूटर को अनपेक्षित शटडाउन नुकसान पहुंचा सकता है?
क्या लिनक्स के लिए अप्रत्याशित शटडाउन हानिकारक हैं क्योंकि वे अन्य ऑपरेटिंग सिस्टम के लिए हैं? हम लिनक्स फाइल सिस्टम पर भयावह प्रणाली बंद के प्रभावों की जांच करते हैं.
आज का प्रश्न और उत्तर सत्र सुपरयूज़र के सौजन्य से आता है-स्टैक एक्सचेंज का एक उपखंड, क्यू एंड ए वेब साइटों का एक समुदाय-संचालित समूह है।.
प्रश्न
SuperUser रीडर User208554 लिनक्स फ़ाइल संरचनाओं के बारे में उत्सुक है और एक ऐप / इंस्टॉलेशन के बारे में चिंतित है जो वह काम कर रहा है:
मैं लिनक्स एम्बेडेड बोर्ड (रन डेबियन) पर एक एप्लिकेशन विकसित कर रहा हूं उदा। रास्पबेरी पाई, बीगल बोर्ड / हड्डी, या ऑलिमेक्स। बोर्ड एक पर्यावरण पर काम करता है कि बिजली अप्रत्याशित रूप से कट जाती है (यह पीएसयू को जगह देने के लिए बहुत जटिल है), और यह हर दिन एक-दो बार होगा। मुझे आश्चर्य है कि क्या अप्रत्याशित बिजली कटौती लिनक्स ऑपरेशन सिस्टम पर समस्या पैदा करेगी? अगर यह कुछ ऐसा है जिसके बारे में मुझे चिंता करनी चाहिए, तो आप अप्रत्याशित बिजली कटौती के खिलाफ ओएस पर नुकसान को रोकने के लिए क्या सुझाव देंगे?
पुनश्च। एप्लिकेशन को स्टोरेज माध्यम (एसडी कार्ड) के लिए कुछ डेटा लिखने की आवश्यकता है, मुझे लगता है कि इसे केवल पढ़ने के लिए माउंट करने के लिए उपयुक्त नहीं होगा.
तो फैसला क्या हुआ?
उत्तर
SuperUser योगदानकर्ता l0b0 जर्नलिंग / नॉन-जर्नलिंग फ़ाइल सिस्टम में कुछ अंतर्दृष्टि प्रदान करता है:
यह निर्भर करेगा
- चाहे आप जर्नलिंग फ़ाइल सिस्टम का उपयोग कर रहे हों और
- कितनी अच्छी तरह से अनुप्रयोग गर्भपात प्रसंस्करण को संभालने में सक्षम हैं.
उदाहरण के लिए एक आवेदन पर विचार करें जो एक फ़ाइल को संसाधित करता है और परिणाम लिखता है क्योंकि वे एक फ़ाइल में गणना की जाती हैं (एक इनपुट लाइन प्रति इनपुट लाइन)। यदि प्रसंस्करण के दौरान बिजली कट जाती है, और एक ही एप्लिकेशन को पुनरारंभ करने के बाद चलाया जाता है, तो यह इनपुट फ़ाइल की शुरुआत से प्रसंस्करण को फिर से शुरू नहीं कर सकता है - इसका मतलब है कि आउटपुट फ़ाइल में डुप्लिकेट जानकारी होगी.
एक काल्पनिक जटिल प्रणाली के बारे में कुछ भी निश्चित रूप से कहना बहुत मुश्किल हो सकता है, लेकिन सबसे स्थिर लिनक्स सॉफ्टवेयर काफी अच्छी तरह से संभाल करने में सक्षम लगता है.
स्टु, ऑपरेटिंग सिस्टम और डेटा को अलग करने के साथ-साथ बैटरी बैकअप जोड़ने का सुझाव देता है:
ओएस भ्रष्टाचार की संभावना को कम करने में मदद करने के लिए, एसडी कार्ड पर अलग "सिस्टम" और "डेटा" विभाजन होना शायद सबसे अच्छा है। इस तरह से आप "सिस्टम" विभाजन को केवल पढ़ने के लिए माउंट कर सकते हैं और "डेटा" विभाजन पर अत्यधिक लचीला एफएस का उपयोग कर सकते हैं.
इसके अतिरिक्त, उन बोर्डों में से अधिकांश में बहुत कम बिजली की आवश्यकता होती है, इसलिए बैटरी बैकअप संभव है। रास्पबेरी पाई के लिए "लीपो राइडर" बोर्ड को बिजली की हानि पर एक स्वच्छ शटडाउन प्रदान करने के लिए एक मूल यूपीएस के रूप में इस्तेमाल किया जा सकता है.
अंत में, जेनी डी ने जर्नलिंग फाइल सिस्टम सुझाव पर विस्तार किया:
अप्रत्याशित बिजली कटौती से फ़ाइल सिस्टम डेटा का भ्रष्टाचार हो सकता है - उदा। यदि किसी प्रक्रिया ने किसी फ़ाइल को लिखना शुरू कर दिया है, लेकिन अभी तक उसे लिखना समाप्त नहीं किया है, तो फ़ाइल केवल आधी लिखी हुई हो सकती है। अब कल्पना करें कि पावर कट तब होता है जब आप कर्नेल के अपग्रेड के माध्यम से आधे रास्ते से…
जैसा कि l0b0 ने लिखा है, जर्नलिंग फ़ाइल सिस्टम का उपयोग करने से मदद मिलेगी, क्योंकि यह इस बात पर नज़र रखने में सक्षम होगा कि वास्तव में क्या किया है। L0b0 से जुड़ी विकिपीडिया जानकारी के अलावा, आप एक पावर विफलता के बाद भी भ्रष्टाचार के खिलाफ Do Journaling Filesystems गारंटी में रुचि हो सकती है.
आपको एक प्रोग्रामर के रूप में स्पष्ट रूप से ध्यान से विचार करना होगा कि फाइलों को लिखने के तरीके को कैसे संभालना है ताकि यह एक परमाणु प्रक्रिया बन जाए (यानी यह या तो पूरी तरह से किया जाता है या बिल्कुल नहीं किया जाता है, लेकिन कभी भी आधा नहीं किया जाता है)। यह काफी जटिल मुद्दा है.
स्पष्टीकरण में कुछ जोड़ना है? टिप्पणियों में ध्वनि बंद। अन्य टेक-सेवी स्टैक एक्सचेंज उपयोगकर्ताओं से अधिक उत्तर पढ़ना चाहते हैं? पूरी चर्चा धागा यहाँ देखें.