यदि एक RAID5 सिस्टम पुनर्निर्माण के दौरान एक URE का अनुभव करता है, तो क्या सभी डेटा खो गया है?


23

मुझे लगता है कि बड़े ड्राइव के बारे में तर्क एक पुनर्निर्माण के दौरान एक यूआरई का अनुभव करने की संभावना बढ़ जाती है, हालांकि मुझे यकीन नहीं है कि इसके लिए वास्तविक निहितार्थ क्या हैं। यह उत्तर कहता है कि संपूर्ण पुनर्निर्माण विफल है, लेकिन क्या इसका मतलब यह है कि सभी डेटा अप्राप्य है? ऐसा क्यों होगा? निश्चित रूप से ड्राइव पर एक एकल सेक्टर से एक ही यूआरई केवल कुछ फाइलों से संबंधित डेटा को प्रभावित करेगा। क्या सरणी अभी भी पुनर्निर्मित नहीं होगी, कुछ मामूली भ्रष्टाचार के साथ कुछ फाइलों तक?

(मैं यहाँ RFS के कार्यान्वयन में ZFS के विशेष रूप से रुचि रखता हूँ, लेकिन तर्क किसी भी RAID5 कार्यान्वयन के लिए समान है।)


1
सामान्य तौर पर, जब " पुनर्निर्माण के दौरान एक URE का अनुभव करने की संभावना " पर चर्चा की जाती है RAID5 जोखिमों के संदर्भ में, निहित धारणा यह है कि पहले से ही भ्रष्टाचार फिर से पैदा होने का कारण बनने के लिए आवश्यक है। दूसरे शब्दों में, "पुनर्निर्माण के दौरान URE" दूसरा URE है, और वास्तव में सभी डेटा खो जाएगा।
बछेड़ा

1
@ कोल्ट - मैं समझता हूं कि इसका निहितार्थ है, लेकिन मुझे समझ में नहीं आता है कि एक ही यूआरई (जो, RAID5 की सिफारिश क्यों नहीं है, के विश्लेषण में लगता है कि एक खराब क्षेत्र को संदर्भित करता है) का मतलब होगा कि सभी डेटा होगा खो जाओ। सामान्य तौर पर, अगर मैंने एक RAID5 सरणी की 1 ड्राइव खो दी है, तो मेरे पास अभी भी सभी डेटा हैं। यदि मैं अतिरिक्त रूप से शेष ड्राइव में से किसी एक सेक्टर को खो देता हूं तो यह संभव है कि मैंने उस क्षेत्र में संग्रहीत डेटा खो दिया था, लेकिन यदि वह क्षेत्र (उदाहरण के लिए) मुक्त स्थान था, तो मुझे परवाह नहीं है, और यदि वह क्षेत्र है उस पर डेटा था तो यह केवल कुछ फ़ाइलों को प्रभावित कर सकता है।
प्रॉसेस 91

@ कोल्ट - नीचे दिए गए उत्तरों के आधार पर, ऐसा लगता है कि एक एकल URE के संरक्षण में सरणी को फिर से बनाने में विफल होने पर हार्डवेयर RAID निर्माताओं द्वारा बनाया गया एक विकल्प था। मेरी राय में, यह गलत विकल्प था, लेकिन शुक्र है कि ऐसा लगता है कि ZFS इसे अलग तरीके से करता है।
प्रोसेस 91

प्रक्रिया के लिए @ shodanshok का उत्तर देखें। क्यों, RAID अन्य प्रक्रियाओं, अनुप्रयोगों, आदि के लिए विश्वसनीय डेटा तक पहुंच की निरंतरता प्रदान करने के लिए है , और बैकअप के बारे में नहीं है। URE के पुनर्निर्माण में होने के कारण कई (अधिकांश?) हार्डवेयर नियंत्रक गर्भपात करते हैं , यह है कि RAID अब वह नहीं कर सकता है जो उसे करना चाहिए । इस बिंदु पर, बैकअप के लिए विश्वसनीय डेटा का उपयोग करने की आवश्यकता होती है। RAID का उपयोग करने का दूसरा तरीका किसी भी पुनर्निर्माण को नहीं करना है, लेकिन बैकअप से पुनर्प्राप्ति के समय को नियंत्रित करने के लिए बस RAID का उपयोग करें। साथ ही, यह पुनर्प्राप्ति से पहले अंतिम बैकअप बनाने के लिए समय की अनुमति देता है ।
Colt

ध्यान दें कि "ZFS 'RAID5 के कार्यान्वयन" को "raidz" या "zraid" कहा जाता है और हार्डवेयर RAID5 से भिन्न होता है। आप आम तौर पर "ZFS RAID5" के बारे में "रेड्ज़" के बारे में बेहतर उत्तर प्राप्त करेंगे
जोश

जवाबों:


24

यह वास्तव में विशिष्ट RAID कार्यान्वयन पर निर्भर करता है:

  • अधिकांश हार्डवेयर RAID पुनर्निर्माण को निरस्त कर देगा और कुछ सरणी को भी विफल कर देगा , इसे नीचे लाएगा। तर्क यह है कि एक URE एक raid5 के दौरान होता है अगर फिर से बनाना तो इसका मतलब है कुछ डेटा है कर रहे हैं , खो दिया है, तो यह बेहतर है पूरी तरह से सरणी बल्कि कि चुप डेटा भ्रष्टाचार के जोखिम को रोकने के लिए। नोट: कुछ हार्डवेयर RAID (मुख्य रूप से LSI आधारित) इसके बजाय सरणी को पंचर करेंगे , जिससे प्रभावित क्षेत्र को अपठनीय के रूप में चिह्नित करते हुए आगे बढ़ने की अनुमति मिल सके (लिनक्स सॉफ्टवेयर RAID कैसे व्यवहार करता है) के समान।

  • linux software RAID को निर्देश दिया जा सकता है) सरणी पुनर्निर्माण को रोकें ("प्राचीन" MDRAID / गुठली का एकमात्र व्यवहार) या b) पुनर्निर्माण प्रक्रिया को कुछ LBA को खराब / दुर्गम के रूप में चिह्नित करने के साथ जारी रखें। तर्क यह है कि उपयोगकर्ता को अपनी पसंद करने देना बेहतर है: आखिरकार, एक एकल URE मुक्त स्थान पर हो सकता है, डेटा को बिल्कुल प्रभावित नहीं कर सकता है (या केवल महत्वहीन फ़ाइलों को प्रभावित कर सकता है);

  • ZRAID कुछ फ़ाइल को दूषित के रूप में दिखाएगा, लेकिन यह पुनर्निर्माण प्रक्रिया ( उदाहरण के लिए यहां देखें ) के साथ जारी रहेगी । फिर से, तर्क यह है कि उपयोगकर्ता को सूचित करना और रिपोर्ट करना बेहतर है, जिससे वह सूचित विकल्प बना सके।


@ process91 बस थोड़ा और विस्तृत करना है। यदि RAID कार्यान्वयन में व्यक्तिगत क्षेत्रों को खराब के रूप में चिह्नित करने के लिए आवश्यक अतिरिक्त डेटा संरचनाएं नहीं हैं, तो इसे या तो पुनर्निर्माण को विफल करना होगा या मूक भ्रष्टाचार का परिचय देना होगा। व्यक्तिगत क्षेत्रों को खराब के रूप में चिह्नित करना बेहतर है, लेकिन खराब सेक्टर के साथ समता क्षेत्र को साझा करने के कारण अभी भी अन्य क्षेत्रों को जोखिम में डाल सकते हैं।
कास्परड

@kasperd ज़रूर, मुझे लगता है कि मुझे लगता है कि अधिकांश RAID कार्यान्वयन में बुरे क्षेत्रों के लिए उपयोगकर्ता को सचेत करने की क्षमता थी। मैं समझता हूं कि अगर एक ड्राइव में एक खराब सेक्टर है जो पुनर्निर्माण के बाद नई ड्राइव में एक गलत सेक्टर को जन्म देगा। उस ने कहा, भले ही RAID कार्यान्वयन ने उपयोगकर्ता को सचेत करने से ज्यादा कुछ नहीं किया "मेरे पास ड्राइव को सबसे अच्छा है जैसा कि मैं कर सकता हूं, लेकिन मैंने इस प्रक्रिया में 1 URE का अनुभव किया" और फिर उस क्षेत्र को लिखने का प्रयास जारी रखने की अनुमति नहीं देता। देखें कि अन्य क्षेत्रों में जोखिम कैसे हो सकता है। एकमात्र संभव गलत क्षेत्र मूल, नया और समता होगा।
प्रोसेस 91

ऊपर एक टिप्पणी @Colt की टिप्पणी के आधार पर - हार्डवेयर RAID के मामले में, जब यह सरणी को चिह्नित करता है तो असफल होने पर भी यह डेटा तक पहुंच की अनुमति देता है? यहां तक ​​कि, कहते हैं, केवल वसूली के प्रयासों के लिए पढ़ने के लिए उपयोग?
प्रोसेस 91

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

1
@ process91 मैंने LSI- आधारित सरणियों के बारे में एक नोट जोड़ा। इसे एक रूप दें।
शोडांशोक

8

यदि URE होता है, तो आपको ब्लॉक पर कुछ डेटा भ्रष्टाचार का अनुभव होगा जो आमतौर पर आकार में 256KB-1MB है, लेकिन इसका मतलब यह नहीं है कि आपके वॉल्यूम पर सभी डेटा खो जाएंगे। RAID5 के बारे में इतना अच्छा नहीं है कि यह पूरी तरह से अलग बात है: खुद को तनावपूर्ण बनाना और उच्च संभावनाएं हैं कि आप एक पंक्ति में दूसरी डिस्क विफलता प्राप्त करेंगे। ऐसी स्थिति में सारा डेटा खो जाएगा।


2
RAID1 के पुनर्निर्माण की तुलना में एक एकल ड्राइव पर एक RAID5 कैसे अधिक तनावपूर्ण है? मैं देख रहा हूं कि यह सीपीयू पर अधिक तनावपूर्ण है, लेकिन किसी भी विशिष्ट ड्राइव के लिए हम इसे बंद कर रहे हैं। आम तौर पर, लोग बड़े ड्राइव के साथ खतरे का हवाला देते हैं कि वे पुनर्निर्माण के दौरान एक यूआरई का सामना करेंगे, लेकिन यह मेरे साथ ठीक है अगर इसका मतलब है कि एक भी सेक्टर दूषित हो जाएगा।
प्रोसेस 91

3
यह प्रायिकता सिद्धांत है। N के साथ (जहाँ यह # ड्राइव का है) आपकी विफलता की संभावना N से अधिक है।
बैरोनसमेदी १

1
यह गणना काफी कारगर नहीं है, आप वास्तव में गणना करना चाहते हैं 1- विफलता नहीं होने की संभावना है , लेकिन मैं उस हिस्से को समझता हूं। ऐसा लगता है कि मैंने गलत तरीके से आपके कथन की व्याख्या की है क्योंकि यह सुझाव है कि एक RAID5 के पुनर्निर्माण का कार्य डिस्क पर ही अधिक तनावपूर्ण है (जो मैंने कहीं पढ़ा है) जो कि एक यूआरई की संभावना को बढ़ाता है, लेकिन अगर आप ऐसा नहीं करते हैं तो ' फिर कह रहा हूँ तो मैं सहमत हूँ।
प्रोसेस 91

2

मैं इसे दूसरे तरीके से समझाऊंगा;

यदि RAID नियंत्रक URE पर नहीं रुकता है, तो क्या हो सकता है?

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

पुनर्निर्माण के बाद डिस्क को अधिक खराब क्षेत्र मिलना शुरू हो गया और डेटा भ्रष्ट होने लगा।

RAID वॉल्यूम से डिस्क को कभी भी किक नहीं किया गया था, डेटा की अखंडता की रक्षा के लिए नियंत्रक विफल है।

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


1
मैं नए मध्यस्थों सब लगातार साइट की जाँच कर रहे हैं, काम करने के लिए की तलाश में देखें ...
वार्ड - को पुनः स्थापित मोनिका

1
एक ही URE पूरे RAID वॉल्यूम में भ्रष्टाचार का निर्माण क्यों करेगा?
process91

2
क्षमा करें, मैंने आपके उत्तर को फिर से लिखा है। ऐसा लगता है कि पुनर्निर्माण के दौरान आपके पास एक ही बुरा URE था, लेकिन यह समस्या नहीं थी। समस्या यह थी कि पुनर्निर्माण के बाद सेक्टर खराब होते रहे और ड्राइव ने इसकी सूचना कभी नहीं दी। यह एक अलग मुद्दे की तरह लगता है, हालाँकि, RAID नियंत्रक एक पुनर्निर्माण के दौरान URE को नोटिस करता है या नहीं। RAID कंट्रोलर पुनर्निर्माण के दौरान URE को नोटिस कर सकता है और आपको इसके लिए सचेत कर सकता है लेकिन फिर भी पुनर्निर्माण को पूरा करने के लिए आगे बढ़ सकता है। कुछ डेटा हमेशा बिना डेटा के बेहतर होंगे।
process91 10

2
मुझे केवल यह विश्लेषण करने में दिलचस्पी है कि 2009 में RAID5 को "मृत" क्यों माना गया था, जो एक एकल यूरे की संभावना पर टिकी हुई है। अब मेरी समझ यह है कि यह विश्लेषण गणितीय रूप से गलत था और वास्तव में उसी तरह लागू नहीं होता है, उदाहरण के लिए, ZFS।
प्रॉसेस 91

1
@RobMoir मुझे लगता है कि आपका अंतिम कथन वह है जहाँ मैं असहमत हूँ। सरणी से लगभग मेरे सभी डेटा प्राप्त करना उपयोगी हो सकता है, भले ही मेरे पास एक और बैकअप हो। शायद वह फ़ाइल महत्वपूर्ण नहीं थी, या (हार्डवेयर RAID के मामले में) त्रुटि मुक्त स्थान के एक क्षेत्र में हुई। मुझे लगता है कि सही निर्णय, हार्डवेयर के लिए RAID (जहां यह विशेष रूप से नहीं पता है कि क्या फाइलें प्रभावित हुई थीं) उपयोगकर्ता को सचेत करने, पुनर्निर्माण पूरा करने और सरणी को केवल-पढ़ने के लिए मोड में फ्लिप करेगा। मुझे इसमें कोई कमी नहीं दिख रही है। (जाहिर है, ZFS जैसे फाइलसिस्टम भी बेहतर कर सकते हैं, क्योंकि वे प्रभावित फाइलों की रिपोर्ट कर सकते हैं।)
process91

1

मैं इस प्रश्न और उत्तरों को थोड़ा और पृष्ठभूमि के लिए पढ़ने का सुझाव दूंगा । फिर जाओ और फिर से आपके द्वारा जुड़े प्रश्न को दोबारा पढ़ें ।

जब कोई इस स्थिति के बारे में कहता है कि "RAID विफल हो गया," इसका मतलब है कि आपने RAID का लाभ खो दिया है - आपने डेटा तक निरंतर पहुंच खो दी है, यही कारण था कि आपने पहली बार में RAID सरणी सेट किया था।

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


1
आम तौर पर, आप RAID का उपयोग तब करते हैं जब आपका लक्ष्य डाउनटाइम को कम करना होता है। सरणी अज्ञात और अप्रतिबंधित भ्रष्टाचार के साथ चलते रहना आमतौर पर उस लक्ष्य के लिए काउंटर है।
डेविड श्वार्ट्ज

1
धन्यवाद, वह पहला प्रश्न जिससे आप जुड़े थे, बहुत जानकारीपूर्ण था। मुझे डेटा तक निरंतर पहुंच क्यों खोनी पड़ेगी? सरणी अभी भी पुनर्निर्माण के दौरान उठेगी, और यदि यह पुनर्निर्माण के दौरान एक URE का सामना करता है तो मैं उम्मीद करूंगा कि यह केवल जारी रहेगा, हालांकि डेटा के इस एक क्षेत्र के साथ यह दूषित है। क्या यह मामला नही है?
प्रॉसेस 91
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.