खाली ड्राइव के साथ mdadm RAID फास्ट सेटअप?


9

मैं कुछ RAID5 डिस्क को mdadm के साथ RAID6 के रूप में पुनः बना रहा हूं। जिन ड्राइवों की मुझे परवाह है उन पर कोई डेटा नहीं है।

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

तो क्या समता गणना को छोड़ने और mdadm को सिर्फ सुपरब्लॉक स्थापित करने और किए जाने का एक तरीका है, या अन्यथा, क्या वास्तव में यह सब उस समय व्यतीत कर रहा है जब घूमने के लिए कोई डेटा नहीं है?

md3 : active raid6 sdf3[5] sde3[4] sdd3[3] sdc7[2] sdb3[1] sda3[0]
      1953114112 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      [>....................]  resync =  1.3% (6790144/488278528) finish=409.3min speed=19604K/sec

ध्यान दें कि मैं इस बारे में बात नहीं कर रहा हूं कि --assume-cleanआप डिस्क के पहले से मौजूद सेट से एक सरणी का पुनर्निर्माण कर रहे हैं जिसमें एक RAID सरणी है जिसे आप जानते हैं कि यह सही है। मैं एक ऐसे सरणी के बारे में बात कर रहा हूं जिसे खाली माना जाना चाहिए, सही ढंग से धारीदार नहीं माना जाना चाहिए।

तो चलो इस सवाल के लिए कहते हैं कि उपकरणों को शून्य से पहले से आबाद किया गया है।

जवाबों:


8

आप उपयोग कर सकते हैं --assume-cleanलेकिन जब तक आप raid5 (raid6 नहीं) का उपयोग कर रहे हैं और डिस्क वास्तव में शून्य से भरे हुए हैं, पहली बार जब यह एक समता जांच चलाता है, तो यह उन त्रुटियों के साथ आएगा, जिन्हें सही करने की आवश्यकता होगी, इसलिए आपको ऐसा नहीं करना चाहिए। आप सरणी का उपयोग शुरू कर सकते हैं इससे पहले कि आप समाप्त करने के लिए resync के लिए प्रतीक्षा करने की आवश्यकता नहीं है; यह पृष्ठभूमि में जब तक यह किया जाता है तब तक साथ रहेगा।


धन्यवाद psusi - यह सवाल को संबोधित नहीं करता है।
पॉल

2
@Paul, umm .. हाँ, यह करता है। "खाली" जैसी कोई चीज नहीं है केवल सिंक में है, या सिंक में नहीं है।
Psusi

यह मेरे द्वारा पूछे जा रहे प्रश्न को संबोधित नहीं करता है। शून्य के एक ब्लॉक का एक्सआर शून्य है। इसलिए अगर मैं mdadm को बता सकता हूं कि अंतरिक्ष को खाली माना जा सकता है, तो यह बहुत जल्दी समानता पैदा कर सकता है। समता को केवल तभी ठीक से गणना करने की आवश्यकता होती है जब एक विशिष्ट ब्लॉक को लिखा जाता है, जिस बिंदु पर यह कोई फर्क नहीं पड़ता कि यह पहले "गलत" था। मैं वास्तव में डिस्क को शून्य कर सकता था।
पॉल

2
@Paul, फिर से, "खाली" जैसी कोई चीज नहीं है। आम तौर पर, यह कोई फर्क नहीं पड़ता कि धारियों पर जो समानता कभी नहीं लिखी गई है वह गलत है, यही वजह है कि आप दूर जा सकते हैं - साफ-सुथरा, भले ही डिस्क शून्य से भरा न हो, लेकिन गलत समानता होगी पता लगाया और सही किया जब mdadm एक समता जाँच करता है।
Psusi

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

2

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

यह मूल रूप से है क्योंकि RAID प्रणाली और फ़ाइल सिस्टम एक दूसरे के बारे में कोई बात नहीं जानते हैं। ZFS के पास इसके लिए एक सॉलेन्शन है, लेकिन वहां RAID भागों को फाइल सिस्टम के साथ गहरा एकीकृत किया गया है। इसलिए RAID सबसिस्टम वास्तव में जानता है कि डेटा को स्टोर करने के लिए डिस्क के किन हिस्सों का उपयोग किया जाता है और जिन्हें बाद में उपयोग किया जा सकता है और फिर उन्हें चेक रकम लिख सकते हैं।

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


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

6
नहीं है हमेशा डेटा मौजूद। यह महत्वपूर्ण या सार्थक नहीं हो सकता है, लेकिन हर क्षेत्र में हमेशा एक मूल्य होता है। (शून्य एक मूल्य भी है!) RAID कार्यान्वयन को पता नहीं है कि किन क्षेत्रों में महत्वपूर्ण डेटा हैं, इसलिए उन्हें उन सभी को महत्वपूर्ण मानना ​​होगा और उनकी समता की गणना करनी होगी।
वायज़र्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.