BBWC: सिद्धांत रूप में एक अच्छा विचार है लेकिन क्या कभी किसी ने आपका डेटा बचाया है?


26

मैं एक BBWC (बैटरी समर्थित राइट कैश) के बारे में परिचित हूं जो करने का इरादा है - और पहले भी अपने सर्वर में अच्छे यूपीएस के साथ उनका उपयोग किया था। इसमें असफलताएँ हैं जो इसके लिए सुरक्षा प्रदान नहीं करती हैं। मैं यह समझने के लिए उत्सुक हूं कि क्या यह वास्तव में व्यवहार में कोई वास्तविक लाभ प्रदान करता है।

(एनबी मैं विशेष रूप से उन लोगों की प्रतिक्रियाएं खोज रहा हूं जिनके पास बीबीडब्ल्यूसी है और क्रैश / असफलताएं थीं और क्या बीबीडब्ल्यूसी ने वसूली में मदद की है या नहीं)

अद्यतन करें

यहाँ फीडबैक के बाद, मुझे इस बात पर संदेह हो रहा है कि क्या BBWC कोई मूल्य जोड़ता है।

डेटा अखंडता के बारे में कोई विश्वास रखने के लिए, फाइल सिस्टम को पता होना चाहिए कि डेटा कब गैर-वाष्पशील भंडारण के लिए प्रतिबद्ध है (जरूरी नहीं कि डिस्क - एक बिंदु जो मैं वापस आऊंगा)। यह ध्यान देने योग्य है कि डिस्क के लिए डेटा के बारे में बहुत सारे डिस्क झूठ हैं ( http://brad.livejournal.com/2116715.html )। हालांकि यह मान लेना उचित है कि ऑन-डिस्क कैश को अक्षम करना डिस्क को अधिक ईमानदार बना सकता है, फिर भी कोई गारंटी नहीं है कि यह मामला भी है।

BBWC में आमतौर पर बड़े बफ़र्स के कारण, एक अवरोध को डिस्क पर आने के लिए काफी अधिक डेटा की आवश्यकता हो सकती है, इसलिए लिखने में देरी होती है: सामान्य सलाह एक गैर-वाष्पशील राइट बैक कैश का उपयोग करते समय (और अक्षम करने के लिए) बाधाओं को अक्षम करना है डिस्क कैशिंग)। हालाँकि, यह लिखने के संचालन की अखंडता को कमजोर करता दिखाई देगा - सिर्फ इसलिए कि गैर-वाष्पशील भंडारण में अधिक डेटा बनाए रखने का मतलब यह नहीं है कि यह अधिक सुसंगत होगा। वास्तव में, तार्किक लेन-देन के बीच सीमांकन के बिना, अन्यथा की तुलना में निरंतरता सुनिश्चित करने का अवसर कम प्रतीत होता है।

यदि BBWC को इस बिंदु पर अवरोधों को स्वीकार करना था, तो डेटा गैर-वाष्पशील भंडारण (डिस्क के लिए प्रतिबद्ध होने के बजाय) में प्रवेश करता है, तो यह एक प्रदर्शन जुर्माना के बिना डेटा अखंडता की आवश्यकता को पूरा करने के लिए दिखाई देगा - जिसका अर्थ है कि अवरोध अभी भी सक्षम होना चाहिए। हालाँकि, ये डिवाइस आम तौर पर भौतिक डिवाइस (बाधाओं के साथ काफी धीमी) और बाधाओं को अक्षम करने के लिए व्यापक सलाह के लिए डेटा को फ्लश करने के अनुरूप व्यवहार प्रदर्शित करते हैं, इसलिए वे इस तरह से व्यवहार नहीं कर सकते हैं। क्यों नहीं?

यदि ओएस में I / O को धाराओं की एक श्रृंखला के रूप में तैयार किया जाता है, तो लेखन अवरोधक के अवरोधक प्रभाव को कम करने के लिए कुछ गुंजाइश होती है जब लेखन कैशिंग को OS द्वारा प्रबंधित किया जाता है - क्योंकि इस स्तर पर केवल तार्किक लेनदेन (एक एकल धारा) ) की जरूरत है। दूसरी ओर, BBWC को इस बात की कोई जानकारी नहीं होती है कि कौन सा बिट डेटा लेन-देन करता है, उसे डिस्क पर अपना पूरा कैश लगाना होगा। क्या कर्नेल / फाइलसिस्टम वास्तव में इसे लागू करते हैं, मुझे इस समय निवेश करने की अपेक्षा बहुत अधिक प्रयास की आवश्यकता होगी।

जो कुछ भी किया गया है, उसके बारे में तंतुओं को बताने से डिस्क का संयोजन निस्संदेह और भ्रष्टाचार के कारण अचानक भ्रष्टाचार की ओर जाता है - और एक पत्रिकाओं या लॉग संरचित फाइलसिस्टम के साथ, जो एक आउटेज के बाद एक पूर्ण fsck नहीं करते हैं इसकी संभावना नहीं है कि भ्रष्टाचार का पता लगाया जाएगा। इसे सुधारने का प्रयास किया गया।

असफलता के तौर-तरीकों के संदर्भ में, मेरे अनुभव में अधिकांश अचानक बिजली की निकासी होती है, क्योंकि साधन शक्ति का नुकसान (आसानी से यूपीएस और प्रबंधित शटडाउन के साथ कम हो जाता है)। गलत केबल को रैक से बाहर निकालने वाले लोगों का मतलब है खराब डाटाकेंटर हाईजीन (लेबलिंग और केबल प्रबंधन)। कुछ प्रकार के अचानक बिजली हानि की घटना है जो यूपीएस द्वारा नहीं रोकी जाती हैं - पीएसयू या वीआरएम में एक अवरोध के साथ बीबीएमसी विफलता यहां एक विफलता की स्थिति में डेटा अखंडता प्रदान करेगी, हालांकि ऐसी घटनाएं कितनी आम हैं? यहाँ प्रतिक्रियाओं की कमी से बहुत दुर्लभ न्याय।

निश्चित रूप से स्टैक में फॉल्ट टॉलरेंस को अधिक बढ़ाना बीबीबीसी से काफी महंगा है - हालांकि एक सर्वर को लागू करना क्लस्टर के रूप में प्रदर्शन और उपलब्धता के लिए बहुत सारे फायदे हैं।

अचानक बिजली की हानि के प्रभाव को कम करने के लिए एक वैकल्पिक तरीका एक SAN को लागू करना होगा - AoE इसे एक व्यावहारिक प्रस्ताव बनाता है (मैं वास्तव में iSCSI में बिंदु नहीं देखता हूं) लेकिन फिर से एक उच्च लागत है।


3
NetApp फ़ाइल सर्वर के पास कई वर्षों से NVRAM राइट-कैश था, और मेरे पास उन लोगों की एक अच्छी संख्या है जो अपनी शक्ति खो देते हैं और अपनी फ़ाइल सिस्टम को कचरा नहीं करते हैं। यह साबित करना मुश्किल है कि किसी ने कुछ बचाया, क्योंकि चूंकि एक को बचाया गया था, इसलिए आपदा नहीं हुई; आप किन सबूतों की तलाश में होंगे?
MadHatter

यकीनन, आपको बैटरी-समर्थित लिखने वाले कैश कैश के विफलता मोड के बारे में भी सोचना चाहिए, जो बैटरी के बिना राइट कैश लिखता है।
स्टीफन लासिवस्की

1
चुनाव नहीं - मैंने इसकी जांच करने में बहुत समय बिताया है - और बीबीडब्ल्यूसी को क्या करना चाहिए, इसके बारे में बहुत सारी जानकारी मिल सकती है - लेकिन व्यवहार में क्या लाभ हुए हैं, इसके बारे में बहुत कम जानकारी। ध्यान दें कि मेरे पास केवल एक ही प्रतिक्रिया है, जहां कोई कहता है कि एक BBWC ने अपना डेटा सहेजा है, जहां बिजली की विफलता की स्थिति में कोई प्रबंधित बंद नहीं था। अब तक कुछ भी मेरे संदेह से इनकार नहीं किया गया है: जबकि एक बीबीडब्ल्यूसी आपके डेटा को कुछ परिस्थितियों में बचा सकता है, इन परिस्थितियों को अन्य तरीकों से टाला जा सकता है।
सिम्बियन

1
नहीं, यह सबूत है कि BBWC नहीं होने से आपका डेटा खो सकता है । यह साबित करना कि - और मुझे संदेह है कि इस प्रणाली पर लंबे समय से चल रहे अधिकांश सीसडमिन की कहानियां हैं, जहां वाष्पशील डेटा बिजली के खर्चों में खो गया था ; मैं सबसे निश्चित रूप से करता हूं - यह साबित नहीं करेगा कि बीबीडब्ल्यूसी होने से आपके डेटा को बचाया जा सकता है , जो कि ओपी ने पूछा है।
मडहर्ट

1
कुछ और विश्लेषण और मॉडलिंग से पता चलता है कि BBWC + कोई भी अवरोध NOOP के अलावा किसी भी IO अनुसूचक के साथ अवांछित भ्रष्टाचार को जन्म नहीं दे सकता है (मैं इस बारे में गलत हो सकता है कि अन्यथा सुझाव देने के लिए सबूत खोजने की बहुत कोशिश की है)। Symcbean.blogspot.co.uk/2014/03/… पर
symcbean

जवाबों:


34

ज़रूर। मेरे पास बैटरी-समर्थित कैश (BBWC) है और बाद में फ्लैश-समर्थित राइट कैश (FBWC) क्रैश और अचानक बिजली हानि के बाद इन-फ़्लाइट डेटा की सुरक्षा करता है।

HP ProLiant सर्वर पर, विशिष्ट संदेश है:

POST Error: 1792-Drive Array Reports Valid Data Found in Array Accelerator

जिसका अर्थ है, " अरे, राइट कैश में डेटा है जो रिबूट / पावर-लॉस से बच गया है! मैं लिखने जा रहा हूं कि अब डिस्क पर डिस्क करें !! "

एक दिलचस्प मामला मेरी प्रणाली का एक पोस्टमार्टम था जो एक बवंडर के दौरान शक्ति खो गया, सरणी अनुक्रम था:

POST Error: 1793-Drive Array - Array Accelerator Battery Depleted - Data Loss
POST Error: 1779-Drive Array Controller Detects Replacement Drives
POST Error: 1792-Drive Array Reports Valid Data Found in Array Accelerator

1793 POST त्रुटि अद्वितीय है। - जब प्रणाली का उपयोग किया गया था, तब डेटा बाधित हो गया था जबकि डेटा ऐरे एक्सेलरेटर मेमोरी में था। हालांकि, इस तथ्य के कारण कि यह एक बवंडर था, चार दिनों के भीतर बिजली बहाल नहीं हुई थी, इसलिए सरणी बैटरी समाप्त हो गई थी और भीतर डेटा खो गया था। सर्वर में दो RAID नियंत्रक थे। दूसरे नियंत्रक में एक एफबीडब्ल्यूसी इकाई थी, जो एक बैटरी की तुलना में अधिक समय तक चलती है। वह ड्राइव ठीक से ठीक हो गया। खाली बैटरी द्वारा समर्थित सरणी पर कुछ डेटा भ्रष्टाचार हुआ।


सुविधा में बैटरी रनटाइम के बावजूद, बिजली और खतरनाक स्थितियों के बिना चार दिनों तक सर्वर को सुरक्षित रूप से बंद करना किसी के लिए भी असंभव हो गया। यहाँ छवि विवरण दर्ज करें


5
बहुत जानकारीपूर्ण, हालांकि लंबे समय के लिए उन आउटपुट रखने पर अच्छा काम।
deed02392

दिलचस्प! मुझे आश्चर्य है कि अगर एचपी को स्मार्ट एरे में शामिल करने की योजना है तो वे उसी बैटरी-मुक्त कैश को नियंत्रित करते हैं जो उन्होंने P2000 में रखा था
गेब्रियल टालवेरा

4
@GabrielTalavera हाँ, एचपी 2010 या उसके बाद से फ्लैश-समर्थित (कैपेसिटर) कैश का उपयोग कर रहा है। और बैटरी नहीं।
इविहित

Adaptec का उपयोग कर यहां;) कोई अधिक चिंता और नियमित प्रतिस्थापन नहीं है।
टॉमटॉम

धन्यवाद ewwhite - बिल्कुल उसी तरह की चीज जिसकी मुझे तलाश है। एक सवाल: यूपीएस पावर से क्या हुआ? क्या आपका यूपीएस कम होने पर सिस्टम को नीचे नहीं लाता है?
सिम्बियन

10

हाँ, वह मामला था।

डेटा केंद्र में सर्वर "बिना यूपीएस" (यूपीएस वाले डेटा केंद्र के साथ)। पीडीयू की विफलता - प्रणाली कठिन दुर्घटनाग्रस्त हो गई। कोई डेटा हानि नहीं।

और वह मूल रूप से यह है। BBWC के बारे में अच्छी बात यह है कि यह मशीन में है। एक यूपीएस है - मेरा विश्वास करो, कभी-कभी कोई बेवकूफ काम करता है (जैसे कि गलत केबल खींचना)। एक यूपीएस बाहरी है। ओह, कि केबल;)


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

अकस्मात यह होगा - जब तक कि लॉग राइट एक्यूटली लिखा नहीं जाता है तब तक OLTP को सर्वर पावर फेल्योर को संभालने के लिए संरचित किया जाता है;) और लॉग आईओ स्पीड को सीमित कर रहा है, "नकली राइट्स" (रिपोर्ट द्वारा उसने छापा नियंत्रक) को गति देते हैं लेकिन जोखिम में जब तक आप एक गैर-वाष्पशील कैश नहीं देते हैं, तब तक डेटा हानि।
टॉमटॉम

मैं ध्यान देता हूं कि रेडहैट की राय है कि आपको बीबीडब्ल्यूसी के साथ बाधाओं को अक्षम करना चाहिए - जबकि यह प्रदर्शन में सुधार करेगा, यह अचानक नुकसान जैसे कि बिजली की हानि - एर्क के मामले में कोई सुरक्षा प्रदान नहीं करता है! access.redhat.com/site/documentation/en-US/…
सिम्बियन

@symcbean आपके वातावरण में अचानक बिजली की हानि नहीं होनी चाहिए। इसे रोकने के लिए सबसे आसान स्थितियों में से एक है। अपेक्षाकृत अपरिवर्तनीय घटना के लिए आपके सर्वर को 100% समय के लिए बकवास की तरह क्यों चलाया जाता है?
इविहित

1
अकस्मात पूरे कारण एक BBWC मौजूद है अचानक बिजली हानि के मुद्दे को कम करने के लिए। इसलिए कोई अवरोध नहीं होना ठीक है।
टॉमटॉम

4

मेरे पास 2 मामले हैं जहां बैटरी बैकिंग कैश में RAID RAID नियंत्रक पूरी तरह से विफल हो गए (2 अलग-अलग कंपनियों में)।

बीबीसी उस अनिश्चित विचार पर भरोसा करता है जो बैटरी काम करता है। पकड़ यह है कि कुछ बिंदु पर नियंत्रक में बैटरी विफल हो जाती है और जो विनाशकारी है वह यह है कि कई HW छापे नियंत्रक में यह चुपचाप विफल रहता है । हमने सोचा कि हमारे पास बिजली नुकसान के खिलाफ एक कैश संरक्षित था लेकिन हमने नहीं किया।

बिजली की हानि पर RAID सरणी डेटा हानि इतनी व्यापक थी कि सभी डिस्क सामग्री को अप्राप्य बना दिया गया था। सब कुछ खो गया था। एक मामले में एक मशीन शामिल थी जो पूरी तरह से परीक्षण के लिए समर्पित थी, लेकिन फिर भी।

उसके बाद मैंने कहा "फिर कभी नहीं", लिनक्स + जर्नल-आधारित fs में सॉफ़्टवेयर-आधारित डिस्क मिररिंग (mdadm) पर स्विच किया गया, जिसमें पावर लॉस (ext4) के खिलाफ सभ्य लचीलापन है और कभी पीछे मुड़कर नहीं देखा। दी, मैंने इसका उपयोग उन सर्वरों पर किया है जिनके पास अत्यधिक उच्च आईओ उपयोग नहीं है।


धन्यवाद जेडी: हालांकि विशेष रूप से मैं जो नहीं पूछ रहा था, मैं देख सकता हूं कि यह उन लोगों के लिए बहुत प्रासंगिकता है जो लोग बीबीबीएससी के बारे में बनाते हैं। यह हार्डवेयर बनाम सॉफ़्टवेयर RAID के बारे में बहुत अधिक चर्चा के साथ प्रतिध्वनित करता है, मुझे लगता है कि मुझे पोस्टीरिटी के लिए बाहर निकलना चाहिए कि सॉफ्टवेयर RAID एक कैशिंग कंट्रोलर (वाष्पशील या अन्यथा) के उपयोग को रोकता नहीं है ।
सिम्बियन

एक बीबीडब्ल्यूसी में विफल बैटरी के बारे में आईएमई, डेल और एचपी के छापे कार्ड शिकायत करेंगे (आपके पास एक उचित निगरानी प्रणाली है)।
mfinni

BBWC के लिए उचित प्रक्रियाओं में बैटरी परीक्षण शामिल होना चाहिए - उदाहरण के लिए, 3ware नियंत्रक आपको चेतावनी देंगे कि क्या बैटरी को कुछ समय के लिए परीक्षण नहीं किया गया है, और यह परीक्षण करना आसान है कि बैटरी अभी भी स्वस्थ है (केवल नकारात्मक पक्ष यह है कि राइट कैश परीक्षण के दौरान अक्षम है)।
इस्टिन डे

4

इस प्रश्न के दूसरे उत्तर की आवश्यकता प्रतीत होती है ...

मैं सिर्फ एक स्टैंडअलोन VMware ESXi मेजबान एक RAID 5 सरणी में एक ड्राइव खो दिया था। नीचा सरणी VM और अनुप्रयोग स्तर पर प्रदर्शन को प्रभावित करती है।

Smart Array P410i in Slot 0 (Embedded)    (sn: 5001438011138950)

   array A (SAS, Unused Space: 0  MB)

      logicaldrive 1 (1.6 TB, RAID 5, Recovering, 42% complete)

      physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 300 GB, OK)
      physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 300 GB, Rebuilding)
      physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 300 GB, OK)
      physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 300 GB, OK)
      physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 300 GB, OK)
      physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 300 GB, OK)
      physicaldrive 2I:1:7 (port 2I:box 1:bay 7, SAS, 300 GB, OK)
      physicaldrive 2I:1:8 (port 2I:box 1:bay 8, SAS, 300 GB, OK, spare)

इस फर्म के आईटी व्यक्ति को इस बात की जानकारी नहीं थी कि एक ड्राइव विफल हो गई है और सर्वर को रीसेट करना मुश्किल है ( यह सब बेहतर बनाने के लिए? )।

व्यस्त आभासी मशीनों के साथ एक समझौता किए गए सरणी के लिए ऐसा करने का दिलचस्प प्रभाव यह था:

कैश स्टेटस विवरण: वर्तमान एरे कंट्रोलर के पास इसकी बैटरी / कैपेसिटर समर्थित वैध डेटा होता है जो पिछली बार रीसेट होने या इसे संचालित करने के लिए कैश लिखता था। यह इंगित करता है कि सिस्टम इनायत से बंद नहीं किया गया है। सरणी नियंत्रक ने स्वचालित रूप से लिखा है, या लिखने का प्रयास किया है, इस डेटा को ड्राइव में। यह संदेश सरणी नियंत्रक के अगले रीसेट या पावर-चक्र तक प्रदर्शित होता रहेगा।

इसलिए भले ही सिस्टम को अचानक रोक दिया गया था, इन-फ्लाइट डेटा बीबीबीसी द्वारा संरक्षित किया गया था। सभी वर्चुअल मशीन ठीक से ठीक हो गई हैं और सिस्टम अब अच्छी स्थिति में है।


3

"आपके डेटा को बचाने" के अलावा, वे अन्य चीजों के लिए अच्छे हैं। वे बफ़रिंग (कैशे में) भी अच्छे हैं ताकि डिस्क-राइट-क्यू को कम रखकर आईओ सबसिस्टम के प्रदर्शन में सुधार हो सके। यह उन सर्वरों के लिए विशेष रूप से महत्वपूर्ण है जहां इंटरैक्टिव प्रदर्शन सर्वोपरि है - उदाहरण के लिए, Citrix XenApp या विंडोज टर्मिनल सर्विसेज।

यह वेबसर्वर, या फ़ाइल सर्वर के लिए कम महत्वपूर्ण है। आप नोटिस नहीं कर सकते हैं, या यहां तक ​​कि थोड़ा अंतराल के लिए इस्तेमाल किया जा सकता है। हालाँकि, जब आप किसी Office अनुप्रयोग में किसी आइकन पर क्लिक करते हैं, तो आप जवाबदेही की अपेक्षा करते हैं। और ऐसा ही आपका CEO करता है


"मैं एक बीबीडब्ल्यूसी (बैटरी-समर्थित लेखन कैश) से परिचित हूं जो करने का इरादा है"
सिम्बियन

2
आपने यह भी कहा: "मैं यह समझने के लिए उत्सुक हूं कि क्या यह वास्तव में व्यवहार में कोई वास्तविक लाभ प्रदान करता है।" मैंने आपको (और भविष्य के पाठकों को) एक ठोस दिया। आपके प्रश्न से, यह स्पष्ट नहीं था कि आप इस लाभ के बारे में जानते हैं। और मेरा जवाब गलत नहीं है।
mfinni

तो आपके द्वारा बनाए गए अंक एक अस्थिर लेखन कैश से कैसे भिन्न हैं?
सिम्बियन

जाहिर है कि यह वह विशेषता थी जिसके बारे में आप जानते थे। लेकिन फिर, आपने यह स्पष्ट नहीं किया। @mfinni सिर्फ मददगार साबित हो रही है।
deed02392

कुछ सिस्टम आपको अस्थिर लेखन कैश को सक्षम करने की अनुमति नहीं देंगे, इसलिए ऐसा है। लेकिन नहीं, यदि आप डेटा की परवाह नहीं करते हैं और आप एक अस्थिर लेखन कैश का उपयोग कर सकते हैं, तो इसके लिए जाएं।
mfinni
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.