md के raid10, f2 की व्याख्या करें


14

मुझे पता है कि विभिन्न RAID के अधिकांश काम कैसे होते हैं। लेकिन मैं linux सॉफ्टवेयर RAID पर शोध करते समय अनुशंसित raid10, f2 मोड पर ठोकर खाई । मैं वास्तव में यह नहीं समझता कि यह 2 या 3 डिस्क पर कैसे काम करता है। क्या कोई मुझे समझा सकता है? या मुझे एक बहुत अच्छा लेख है कि यह बताते हैं की ओर इशारा करते हैं?

जवाबों:


17

वास्तव में मुझे लगता है कि विकिपीडिया इसे वास्तविक डॉक्स से बेहतर बताता है। यहाँ लेख से पाठ है।

वह लिनक्स कर्नेल सॉफ़्टवेयर RAID ड्राइवर (जिसे "कई डिवाइस के लिए एमडी कहा जाता है") का उपयोग क्लासिक RAID 1 + 0 सरणी बनाने के लिए किया जा सकता है, लेकिन कुछ दिलचस्प एक्सटेंशन के साथ एकल स्तर [4] के रूप में भी [4]। 5]। मानक "पास" लेआउट, जहां प्रत्येक चंक को के-वे स्ट्राइप सरणी में n बार दोहराया जाता है, मानक RAID-10 व्यवस्था के बराबर है, लेकिन इसके लिए उस n divide k की आवश्यकता नहीं है। उदाहरण के लिए 2, 3 और 4 ड्राइव पर एक n2 लेआउट जैसा दिखेगा:

2 drives         3 drives            4 drives
--------         ----------        --------------
A1  A1           A1  A1  A2        A1  A1  A2  A2
A2  A2           A2  A3  A3        A3  A3  A4  A4
A3  A3           A4  A4  A5        A5  A5  A6  A6
A4  A4           A5  A6  A6        A7  A7  A8  A8
..  ..           ..  ..  ..        ..  ..  ..  ..

4-ड्राइव उदाहरण एक मानक RAID-1 + 0 सरणी के समान है, जबकि 3-ड्राइव उदाहरण RAID-1E का एक सॉफ्टवेयर कार्यान्वयन है। 2-ड्राइव का उदाहरण बराबर है RAID 1. ड्राइवर एक "दूर" लेआउट का भी समर्थन करता है जहां सभी ड्राइव को एफ सेक्शन में विभाजित किया गया है। सभी खंडों को प्रत्येक अनुभाग में दोहराया जाता है लेकिन एक उपकरण द्वारा ऑफसेट किया जाता है। उदाहरण के लिए, 2- और 3-ड्राइव सरणियों पर f2 लेआउट इस तरह दिखेंगे:

2 drives             3 drives
--------             --------------
A1  A2               A1   A2   A3
A3  A4               A4   A5   A6
A5  A6               A7   A8   A9
..  ..               ..   ..   ..
A2  A1               A3   A1   A2
A4  A3               A6   A4   A5
A6  A5               A9   A7   A8
..  ..               ..   ..   ..

यह मिरर किए हुए ऐरे की स्ट्रिपिंग परफॉर्मेंस के लिए बनाया गया है; अनुक्रमिक रीड्स को धारीदार किया जा सकता है, जैसा कि RAID-0 में होता है, रैंडम रीड कुछ हद तक तेज होते हैं (डिस्क के तेजी से बाहरी क्षेत्रों का उपयोग करने के कारण शायद 10-20%, और छोटे औसत समय चाहते हैं), और अनुक्रमिक और यादृच्छिक लेखन समान प्रदर्शन के बारे में हैं अन्य प्रतिबिंबित छापे के लिए। लेआउट उन प्रणालियों के लिए अच्छा प्रदर्शन करता है जहां पढ़ता अधिक बार लिखता है, जो कई प्रणालियों पर एक बहुत ही सामान्य स्थिति है। प्रत्येक ड्राइव का पहला 1 / f एक मानक RAID-0 सरणी है। इस प्रकार आप केवल 2 ड्राइव के मिरर सेट पर स्ट्रिपिंग प्रदर्शन प्राप्त कर सकते हैं। निकट और दूर के विकल्प दोनों एक ही समय में उपयोग किए जा सकते हैं। प्रत्येक अनुभाग में हिस्सा n डिवाइस (ओं) द्वारा ऑफसेट किया जाता है। उदाहरण के लिए n2 f2 लेआउट स्टोर प्रत्येक क्षेत्र की 2 × 2 = 4 प्रतियाँ हैं, इसलिए कम से कम 4 ड्राइव की आवश्यकता होती है:

A1  A1  A2  A2        A1  A1  A2  A2  A3
A3  A3  A4  A4        A3  A4  A4  A5  A5
A5  A5  A6  A6        A6  A6  A7  A7  A8
A7  A7  A8  A8        A8  A9  A9  A10 A10
..  ..  ..  ..        ..  ..  ..  ..  ..
A2  A2  A1  A1        A2  A3  A1  A1  A2
A4  A4  A3  A3        A5  A5  A3  A4  A4
A6  A6  A5  A5        A7  A8  A6  A6  A7
A8  A8  A7  A7        A10 A10 A8  A9  A9
..  ..  ..  ..        ..  ..  ..  ..  ..

लिनक्स 2.6.18 के अनुसार ड्राइवर एक ऑफसेट लेआउट का भी समर्थन करता है जहां प्रत्येक पट्टी को बार-बार दोहराया जाता है। उदाहरण के लिए, 2- और 3-ड्राइव सरणियों पर o2 लेआउट निम्नानुसार हैं:

2 drives       3 drives
--------       --------
A1  A2         A1  A2  A3
A2  A1         A3  A1  A2
A3  A4         A4  A5  A6
A4  A3         A6  A4  A5
A5  A6         A7  A8  A9
A6  A5         A9  A7  A8
..  ..         ..  ..  ..

नोट: k ड्राइव की संख्या है, n #, f # और o # mdadm --layout विकल्प में पैरामीटर हैं। लिनक्स md ड्राइवर (0, 1, 4, 5, 6) का उपयोग करके अन्य मानक RAID कॉन्फ़िगरेशन भी बना सकता है।


6

मैं एक f2 RAID10 सरणी को पढ़ने से प्रत्येक ब्लॉक की कम से कम 2 प्रतियां रखता है और वे एक दूसरे से बहुत दूर संग्रहीत हैं।

यहां मैन पेजों से संबंधित अनुभाग दिए गए हैं।

mdadm (8)

-p, --layout = यह विकल्प raid5, और raid10 सरणियों के लिए डेटा लेआउट के बारीक विवरण को कॉन्फ़िगर करता है
...
अंत में, RAID10 के लिए लेआउट विकल्प 'n', 'o' या 'p' में से एक हैं, जिसके बाद एक छोटा सा होता है। नंबर। डिफ़ॉल्ट 'n2' है।

n 'प्रतियों के पास' संकेत। एक डेटा ब्लॉक की कई प्रतियां विभिन्न उपकरणों में समान ऑफसेट पर होती हैं।

o सिग्नल 'ऑफसेट' प्रतियां। एक धारी के भीतर डुप्लिकेट होने के बजाय, पूरी धारियों को डुप्लिकेट किया जाता है, लेकिन एक डिवाइस द्वारा घुमाया जाता है ताकि डुप्लिकेट ब्लॉक अलग-अलग डिवाइस पर हों। इस प्रकार एक ब्लॉक की बाद की प्रतियां अगली ड्राइव में हैं, और नीचे एक हिस्सा है।

f संकेतों की ' दूर ' प्रतियां (कई प्रतियाँ बहुत भिन्न हैं)। 'निकट' और 'दूर' के बारे में अधिक विवरण के लिए md (4) देखें।

एमडी (4)

RAID10 RAID1 और RAID0 का संयोजन प्रदान करता है, और कभी-कभी इसे RAID1 + 0 के रूप में जाना जाता है। प्रत्येक डेटब्लॉक को कुछ संख्या में दोहराया जाता है, और परिणामी संग्रह को कई ड्राइव पर वितरित किया जाता है। RAID10 सरणी को कॉन्फ़िगर करते समय यह आवश्यक है कि प्रत्येक डेटा ब्लॉक की प्रतिकृतियों की संख्या निर्दिष्ट करें (यह सामान्य रूप से 2 होगी) और क्या प्रतिकृतियां 'पास', 'ऑफसेट' या 'दूर' होनी चाहिए। (ध्यान दें कि 'ऑफसेट' लेआउट केवल 2.6.18 से उपलब्ध है)।

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

जब ' दूर ' प्रतिकृतियां चुनी जाती हैं, तो दिए गए चंक की कई प्रतियाँ एक दूसरे से काफी दूर रखी जाती हैं। सभी डेटा ब्लॉक की पहली कॉपी को RAID0 फैशन में सभी ड्राइव के शुरुआती हिस्से में स्ट्रिप किया जाएगा, और फिर सभी ब्लॉक की अगली कॉपी को सभी ड्राइव के बाद के सेक्शन में स्ट्रिप किया जाएगा, जो हमेशा सुनिश्चित करता है कि किसी भी ब्लॉक की सभी कॉपी हैं विभिन्न ड्राइव पर।

' दूर ' व्यवस्था अनुक्रमिक रीड प्रदर्शन को एक RAID0 सरणी के बराबर दे सकती है, लेकिन अपमानजनक लेखन प्रदर्शन की कीमत पर।

जब 'ऑफसेट' प्रतिकृतियां चुनी जाती हैं, तो दिए गए चंक की कई प्रतियां लगातार ड्राइव पर और लगातार ऑफसेट पर रखी जाती हैं। प्रभावी रूप से प्रत्येक पट्टी को डुप्लिकेट किया जाता है और प्रतियां एक डिवाइस द्वारा ऑफसेट की जाती हैं। यह एक समान रूप से बड़े चंक आकार का उपयोग करने के लिए 'दूर' के समान पठन विशेषताओं को देना चाहिए, लेकिन लेखन के लिए ज्यादा मांग के बिना।

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

यदि, उदाहरण के लिए, एक सरणी 5 उपकरणों और 2 प्रतिकृतियों के साथ बनाई गई है, तो 2.5 उपकरणों के बराबर स्थान उपलब्ध होगा, और प्रत्येक ब्लॉक को दो अलग-अलग उपकरणों पर संग्रहीत किया जाएगा।


ऑफसेट की तरह लगता है जाने के लिए रास्ता है ...
xenoterracide

मुझे लगता है कि विकिपीडिया का अधिक दृश्य स्पष्टीकरण स्पष्ट है ... इसलिए मैंने इसे यहाँ पोस्ट किया है।
xenoterracide

2

यह दिलचस्प और अच्छी तरह से समझाया गया है। हालाँकि, सादे RAID1 में सुविधा भी है, कम से कम लिनक्स सॉफ्टवेयर RAID पर, बहुत अच्छे प्रदर्शन के साथ समानांतर में कई पाठकों को बनाए रखने में सक्षम होने के लिए:

डेटा को किसी एक डिवाइस से पढ़ा जाता है। ड्राइवर प्रदर्शन को अधिकतम करने के लिए सभी उपकरणों में रीड अनुरोधों को वितरित करने का प्रयास करता है।
[...] सिद्धांत में, एन-डिस्क RAID1 होने से एन अनुक्रमिक धागे सभी डिस्क से पढ़ने की अनुमति देगा। (आदमी 4 md, RAID1 अनुभाग)

यह RAID10 दिखता है, इसके पास लेआउट में, इस व्यवहार के लिए अधिक उपयुक्त है (RAID0 की तरह एकल-थ्रेडेड आई / ओ को तेज करना लेकिन बहु-थ्रेडेड आई / ओ)। n2f2 4 डिस्क के साथ 4 के साथ RAID1 के समान है।

4 डिस्क के साथ n2 लेआउट दोनों करेगा: एक धागे के लिए रीड परफॉर्मेंस को दोगुना करें, और दो थ्रेड्स के लिए रीड परफॉर्मेंस को चौगुना करें (यदि लिनक्स md RAID10 शेड्यूलर अच्छी तरह से लागू हो, तो एक थ्रेड को एक जोड़ी पर पढ़ना चाहिए, और दूसरा दूसरी जोड़ी)।

सब निर्भर करता है कि आपको क्या चाहिए! मैंने अभी तक बेंचमार्क नहीं किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.