मैं हाल ही में SATA ड्राइव के बारे में कैशिंग, NCQ, फर्मवेयर बग, बैरियर आदि लिखने के बारे में पढ़ रहा हूं, और मुझे यकीन नहीं है कि सबसे अच्छा सेटिंग क्या है जो बिजली की विफलता के मामले में मेरे डेटा को सुरक्षित बना देगा।
मेरी समझ से, NCQ ड्राइव को लिखने के प्रदर्शन को अनुकूलित करने के लिए फिर से व्यवस्थित करने की अनुमति देता है, जबकि कर्नेल को सूचित करते हुए कि अनुरोधों को शारीरिक रूप से लिखा गया है।
कैश लिखें ड्राइव ड्राइव को बहुत तेजी से अनुरोध करता है, क्योंकि यह डेटा को भौतिक डिस्क पर लिखे जाने की प्रतीक्षा नहीं करता है।
मुझे यकीन नहीं है कि NCQ और लिख कैश मिक्स यहाँ कैसे ...
फ़ाइल सिस्टम, विशेष रूप से पत्रिकाओं वाले, यह सुनिश्चित करने की आवश्यकता होती है कि किसी विशेष अनुरोध को नीचे लिखा गया है या नहीं। इसके अलावा, उपयोगकर्ता की अंतरिक्ष प्रक्रिया एक विशेष फ़ाइल के फ्लश को मजबूर करने के लिए fsync () का उपयोग करती है। Fsync () को कॉल तब तक वापस नहीं आना चाहिए जब तक कि फ़ाइल सिस्टम यह सुनिश्चित न कर ले कि डेटा डिस्क पर लिखा है।
एक फीचर (एफयूए, फोर्स यूनिट एक्सेस) है, जिसे मैंने केवल एसएएस ड्राइव पर देखा है, जो ड्राइव को कैश को बायपास करने और डिस्क पर सीधे लिखने के लिए मजबूर करता है। बाकी सभी चीज़ों के लिए, बैरियर लिखें, जो कर्नेल द्वारा प्रदान किया गया एक तंत्र है जो ड्राइव पर कैश फ्लश को ट्रिगर कर सकता है। यह सभी कैश को लिखने के लिए मजबूर करता है , न कि केवल महत्वपूर्ण डेटा, इस प्रकार यदि उदाहरण के लिए fsync () के साथ पूरी प्रणाली को धीमा कर दिया जाता है।
तब फ़र्मवेयर बग्स के साथ ड्राइव होती है, या जब डेटा भौतिक रूप से लिखा गया है, तो जानबूझकर झूठ बोलते हैं।
यह कहने के बाद .. ड्राइव / फाइलसिस्टम को सेटअप करने के कई तरीके हैं: A) NCQ और लिख कैश अक्षम B) बस NCQ सक्षम C) बस लिखें कैश सक्षम D) NCQ और राइट कैश दोनों को सक्षम करें
मैं मान रहा हूं कि बाधाएं सक्षम हैं .. BTW, कैसे जांचें कि क्या वे वास्तव में सक्षम हैं?
बिजली की हानि के मामले में, डिस्क पर सक्रिय रूप से लिखते समय, मेरा अनुमान है कि विकल्प बी (एनसीक्यू, नो कैश) सुरक्षित है, फाइल सिस्टम जर्नल और डेटा दोनों के लिए। प्रदर्शन पर जुर्माना लग सकता है।
विकल्प डी (NCQ + कैश), यदि अवरोध या एफयूए का उपयोग कर रहे हैं, तो फाइलसिस्टम जर्नल और उन अनुप्रयोगों के लिए सुरक्षित होगा जो fsync () का उपयोग करते हैं। यह उस डेटा के लिए बुरा होगा जो कैश में प्रतीक्षा कर रहा था, और इसका पता लगाने के लिए फाइल सिस्टम पर निर्भर है (चेकसमिंग), और कम से कम फाइल सिस्टम एक अस्थिर स्थिति में नहीं होगा (उम्मीद है)। प्रदर्शन-वार, यह बेहतर होना चाहिए।
मेरा प्रश्न, हालांकि, खड़ा है ... क्या मुझे कुछ याद आ रहा है? क्या खाते में लेने के लिए कोई अन्य चर है? क्या कोई ऐसा उपकरण है जो इस बात की पुष्टि कर सकता है, और यह कि मेरे ड्राइव जैसा वे चाहते हैं वैसा ही व्यवहार करें?