मेरी समझ यह है कि हार्ड ड्राइव और एसएसडी ड्राइव के अंदर कुछ बुनियादी त्रुटि सुधार को लागू करते हैं, और अधिकांश RAID कॉन्फ़िगरेशन जैसे mdadm यह तय करने के लिए निर्भर करेगा कि ड्राइव कब त्रुटि को ठीक करने में विफल रही है और उसे ऑफ़लाइन लेने की आवश्यकता है। हालाँकि, यह संग्रहण पर निर्भर करता है कि इसकी त्रुटि निदान में 100% सटीक है। ऐसा नहीं है, और एक दो-ड्राइव RAID-1 दर्पण की तरह एक सामान्य कॉन्फ़िगरेशन कमजोर होगा: मान लीजिए कि एक ड्राइव पर कुछ बिट्स चुपचाप दूषित हैं और ड्राइव एक रीड त्रुटि की रिपोर्ट नहीं करता है। इस प्रकार, फ़ाइल सिस्टम जैसे btrfs और ZFS अपने स्वयं के चेकसमों को लागू करते हैं, ताकि बगगी ड्राइव फ़र्मवार, ग्लिची एसएटीए केबल्स और इतने पर भरोसा न करें।
इसी तरह, RAM में भी विश्वसनीयता की समस्या हो सकती है और इस प्रकार इस समस्या को हल करने के लिए हमारे पास ECC RAM है।
मेरा सवाल यह है : दो-डिस्क कॉन्फ़िगरेशन (यानी मेनलाइन कर्नेल ड्राइवरों का उपयोग करके) पर ड्राइव फर्मवेयर द्वारा मूक भ्रष्टाचार / बिट रोट से लिनक्स स्वैप फ़ाइल की रक्षा के लिए विहित तरीका क्या है? यह मुझे लगता है कि एक कॉन्फ़िगरेशन जिसमें यहां एंड-टू-एंड प्रोटेक्शन का अभाव है (जैसे कि btrfs द्वारा प्रदान किया गया है) कुछ हद तक ECC RAM द्वारा लाई गई मन की शांति को नकारता है। फिर भी मैं अच्छे तरीके से नहीं सोच सकता:
- btrfs स्वैफ़ाइल्स का समर्थन बिल्कुल नहीं करता है। आप एक btrfs फ़ाइल से एक लूप डिवाइस सेट कर सकते हैं और उस पर एक स्वैप बना सकते हैं। लेकिन यह समस्या है:
- रैंडम राइट्स अच्छा प्रदर्शन नहीं करते हैं: https://btrfs.wiki.kernel.org/index.php/Gotchas#Fragmentation
- कॉपी-ऑन-राइट को अक्षम करने का सुझाव भी चेकसमिंग को अक्षम करेगा - इस प्रकार इस अभ्यास के पूरे बिंदु को हरा देगा। उनकी धारणा है कि डेटा फ़ाइल के अपने आंतरिक सुरक्षा हैं।
- लिनक्स पर ZFS स्वैप के रूप में एक ZVOL का उपयोग करने की अनुमति देता है, जो मुझे लगता है कि काम कर सकता है: http://zfsonlinux.org/faq.html#CanIUseaZVOLforSwap - हालांकि, मेरे पढ़ने से, ZFS सामान्य रूप से स्मृति में मांग कर रहा है, और इसे स्वैप में काम कर रहा है। -एक आवेदन लगता है जैसे कुछ काम यह समझ से बाहर। मुझे लगता है कि यह मेरी पहली पसंद नहीं है। आपको केवल विश्वसनीय स्वैप होने के लिए कुछ आउट-ऑफ-ट्री कर्नेल मॉड्यूल का उपयोग क्यों करना पड़ेगा - निश्चित रूप से इस दिन और उम्र में सबसे आधुनिक लिनक्स वितरण / गुठली के साथ इसे पूरा करने का एक तरीका है?
- वास्तव में स्मृति प्रबंधक के भीतर चेकसमों को सक्षम करने के लिए पैच के साथ एक लिनक्स कर्नेल मेलिंग सूची पर एक धागा था, इस सवाल में जिन कारणों से मैं चर्चा करता हूं, उनके लिए: http://thread.gmane.org/gmane.linux.kernel/9th246 - दुर्भाग्य से, जहां तक मैं बता सकता हूं, पैच मर गया और कभी भी मेरे लिए अज्ञात कारणों से यह ऊपर की ओर नहीं बना। बहुत बुरा, यह एक अच्छी सुविधा की तरह लग रहा था। दूसरी ओर, यदि आप RAID-1 पर स्वैप डालते हैं - यदि भ्रष्टाचार मरम्मत करने के लिए चेकसम की क्षमता से परे है, तो आप चाहते हैं कि मेमोरी मैनेजर पैन करने से पहले या जो भी हो, दूसरे ड्राइव से पढ़ने की कोशिश करे, जो शायद स्मृति प्रबंधक को क्या करना चाहिए, इसके दायरे से बाहर।
संक्षेप में:
- RAM में त्रुटियों को सुधारने के लिए ECC है
- स्थायी संग्रहण की फ़ाइलों में त्रुटियों को ठीक करने के लिए btrfs हैं
- स्वैप है ??? <--- यह मेरा सवाल है