RAID -5 सरणी पर समता कैसे काम करती है?


31

मैं समर्पित बैकअप के लिए एक अच्छा सा RAID सरणी बनाने के लिए देख रहा हूँ। मैं लगभग 2-4TB जगह उपलब्ध करवाना चाहता हूं, क्योंकि मेरे पास हर चीज को डिजिटल बनाने की यह छोटी सी आदत है। इस प्रकार, मुझे ड्राइव की विफलता के मामले में बहुत अधिक भंडारण और बहुत अधिक अतिरेक की आवश्यकता है। मैं अनिवार्य रूप से /homeलिनक्स के लिए "टाइम मशीन" क्लोनों में से एक का उपयोग करके 2-3 कंप्यूटर के फ़ोल्डर का बैकअप भी ले सकता हूं । यह सरणी SSH के माध्यम से मेरे स्थानीय नेटवर्क पर सुलभ होगी।

मुझे यह समझने में कठिनाई हो रही है कि RAID-5 समानता कैसे प्राप्त करता है और वास्तव में कितने ड्राइव की आवश्यकता होती है। एक मान लेता है कि इसे 5 ड्राइव की आवश्यकता है, लेकिन मैं गलत हो सकता है। मैंने जितने भी डायग्राम देखे हैं उनमें से ज्यादातर ने मुझे अभी तक भ्रमित किया है। ऐसा लगता है कि यह है कि RAID -5 कैसे काम करता है, कृपया मुझे सही करें क्योंकि मुझे यकीन है कि मैं इसे ठीक से नहीं समझ रहा हूं:

/---STORAGE---\    /---PARITY----\
|   DRIVE_1   |    |   DRIVE_4   |
|   DRIVE_2   |----|     ...     |
|   DRIVE_3   |    |             |
\-------------/    \-------------/

ऐसा लगता है कि ड्राइव 1-3 दिखाई देते हैं और एकल, बड़े पैमाने पर ड्राइव ( capacity * number_of_drives) और पैरिटी ड्राइव (एस) के रूप में काम करते हैं । मुझे जो कुछ अजीब लगता है वह यह है कि मैं आमतौर पर आरेख में 3 + स्टोरेज ड्राइव को केवल 1 या 2 पैरिटी ड्राइव में देखता हूं। मान लें कि हम एक RAID-5 सरणी में 4 टीटीबी ड्राइव, 3 रनिंग स्टोरेज और 1 रनिंग समता चला रहे हैं, हमारे पास वास्तविक भंडारण की 3 टीबी है, लेकिन केवल 1 टीबी समानता है !?

मुझे पता है कि मुझे यहाँ कुछ याद आ रहा है, क्या कोई मेरी मदद कर सकता है? इसके अलावा, मेरे उपयोग के मामले में, बेहतर क्या होगा, RAID-5 या RAID-6? इस बिंदु पर मेरे लिए दोष सहनशीलता सर्वोच्च प्राथमिकता है, क्योंकि यह केवल घरेलू उपयोग के लिए एक नेटवर्क पर चलने वाला है, गति बेहद महत्वपूर्ण नहीं है ।

जवाबों:


30

यह प्रत्येक ड्राइव से प्रत्येक संबंधित बिट को XORs करता है - यदि आप किसी भी ड्राइव को खो देते हैं, तो आप लापता डेटा को फिर से बना सकते हैं।

पृष्ठभूमि के लिए:

A B (A XOR B)
0 0    0
1 1    0
0 1    1
1 0    1

मान लें कि D अन्य स्तंभों का XOR है, तो जब तक आप केवल एक ड्राइव खो देते हैं, तब तक आप यह पता लगा सकते हैं कि आपने क्या खोया।

A B C D
1 0 0 1
0 1 0 1
1 1 0 0

कुछ बार स्ट्रिप बिट को ड्राइव पर वितरित किया जाएगा, लेकिन अवधारणा समान है।

तो RAID-5 के लिए, चाहे कितनी भी ड्राइव करें, आपको केवल उस ड्राइव में समता के लिए 1 ड्राइव की आवश्यकता होती है जो आप RAID के लिए सबसे छोटी ड्राइव के बराबर या उससे अधिक चाहते हैं।

व्यक्तिगत उपयोग के लिए RAID-5 शायद सबसे अच्छा है क्योंकि कम्प्यूटेशनल जटिलता RAID-6 की तुलना में बहुत कम है।

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


बहुत बढ़िया जवाब। मैं बहुत बड़े पैमाने पर सोच रहा था, एक वास्तविक पूर्ण हार्ड-डिस्क आधार पर, एक बिट-स्तर के बजाय। तो क्या RAID-5 समता के लिए एक समर्पित ड्राइव का उपयोग करता है, या समता के लिए सभी ड्राइव करता है? मैं उस पर उलझन में हूँ।
नौफुली कय

2
मेरा मानना ​​है कि आधुनिक दृष्टिकोण समानता को सभी ड्राइव्स पर तिरछे वितरित करना है। इसके कारण रीडिंग टाइम को तेज करने का प्रभाव बिट्स बिट्स पर होता है क्योंकि कई आईओ अनुरोध विभिन्न ड्राइव्स के समानांतर भेजे जा सकते हैं, लेकिन मुझे उस पर उद्धरण नहीं देते हैं।
मैट

क्या कोई गणितीय सूत्र है जिसका उपयोग मैं प्रत्येक ड्राइव पर उपलब्ध xड्राइव और yजीबी की क्षमता को निर्धारित करने के लिए कर सकता हूं ?
नातुल्ली काया

2
हाँ, यह (छोटी ड्राइव आकार) * (- 1 सरणी में ड्राइव की संख्या) है
मैट

1
यदि समता दो अन्य डिस्क का एक XOR है, तो आपको कैसे पता चलेगा कि दोनों डिस्क में से कौन सी डिस्क दूषित थी? समता में थोड़ा फ्लिप में डिस्क परिणाम पर थोड़ा भी फ्लिप नहीं होगा?
जय सुलिवन

8

यहां मुझे लगता है कि RAID4 और RAID5 में समानता कैसे काम करती है, यह दिखाने के लिए एक बेहतर आरेख है

RAID4

Disk1  Disk2  Disk3  Disk4
----------------------------
data1  data1  data1  parity1
data2  data2  data2  parity2
data3  data3  data3  parity3
data4  data4  data4  parity4

RAID5

Disk1   Disk2   Disk3   Disk4
----------------------------
parity1 data1   data1   data1   
data2   parity2 data2   data2  
data3   data3   parity3 data3
data4   data4   data4   parity4


4

मैं RAID 5 और छापे 6 पर इस विकिपीडिया लेख को पढ़ने की सलाह दूंगा

http://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_5_parity_handling

RAID 5 प्रत्येक पट्टी में एक समता खंड लिखता है, इसलिए 4 डिस्क सरणी के स्ट्रिप ए के लिए यह 4 डिस्क पर समता की जांच लिखता है, डिस्क 1, 2 और 3 पर डेटा के साथ।

स्ट्रिप बी के लिए, पैरिटी ब्लॉक डिस्क 3 पर है, जिसमें डिस्क 1,2 और 4 .. आदि पर डेटा है।

यदि डिस्क 4 विफल हो जाता है, तो डेटा पट्टी बी के लिए पुनर्प्राप्त किया जा सकता है क्योंकि आप डिस्क 1 और 2 पर डेटा जानते हैं और डिस्क 3 पर समता की जांच करते हैं।

यदि पट्टी B में "2" की समता होती है और डिस्क 1 में "1" और डिस्क 2 का डेटा "0" होता है, तो डिस्क 4 में "1" के बराबर डेटा होना चाहिए, इसलिए डिस्क को डेटा = "1" के साथ लिखा गया है।

पूरे डिस्क को इस तरह से फिर से बनाया जा सकता है, RAID 6 इसका विस्तार 2 पार्टी ब्लॉक प्रति स्ट्रिप होने से करता है।

रैड 5 के लिए स्पेस के बारे में आप कभी भी पैरिसिटी के लिए स्पेस के लायक एक डिस्क्स को ढीला कर देते हैं, क्योंकि यह केवल स्ट्रिप प्रति पैरिटी ब्लॉक पर लिखता है, जबकि रेड 6 के साथ आप 2 डिस्क्स ढीले कर सकते हैं, लेकिन जिसको आप ढीला कर सकते हैं उसके बजाय दो डिस्कों को भी ढीला कर सकते हैं। छापे 5;)

विकिपीडिया लेख इसे बेहतर बताता है!


3

RAID 5 समता के लिए एक ड्राइव का उपयोग करता है, भले ही सरणी में कितने डेटा ड्राइव हों। इसका मतलब है कि यह अधिक उपयोगी हो जाता है, प्रयोग करने योग्य स्थान के संदर्भ में, अधिक ड्राइव जो जोड़े जाते हैं।

प्रत्येक ड्राइव में एक ही ब्लॉक में XOR ऑपरेशन करके समानता प्राप्त की जाती है; समता ड्राइव की सामग्री को ऐसे समायोजित किया जाता है कि सभी XOR को शून्य पर ले जाते हैं । इसका मतलब यह है कि RAID 5 सरणी में सभी ड्राइव की सबसे छोटी क्षमता द्वारा प्रतिबंधित है।

RAID 6 समान है सिवाय इसके कि दो एक साथ ड्राइव विफलताओं को सहन किया जा सकता है। यह उपयोगी है क्योंकि एक एकल ड्राइव विफलता के बाद एक सरणी " resilvering " की प्रक्रिया एक दूसरी ड्राइव को विफल करने के लिए पर्याप्त तनावपूर्ण हो सकती है।


ताकि अनिवार्य रूप से इसका मतलब है कि मेरे पास 4TB ड्राइव हो सकते हैं और प्रभावी, निरर्थक भंडारण के 6TB हो सकते हैं?
नातुल्ली केय

RAID 5 के साथ @ टीके कोचरन, हाँ। ध्यान दें कि फ़ाइल सिस्टम के कारण प्रभावी संग्रहण थोड़ा कम होगा। उदाहरण के लिए, RAID-Z1 (ZFS के संस्करण 5 के संस्करण) में 4 2TB ड्राइव के साथ मेरे NAS का उपयोग करने योग्य स्थान 5.18TB है।
सब्बेयर

खैर, हां :) हमेशा ऐसा ही होता है। अगला सवाल क्या फाइलसिस्टम का उपयोग करना है ...
नाफ्टुली के

0

यदि दोष सहिष्णुता आपका लक्ष्य है, तो RAID -6 दो ड्राइव को ढीला करने के लिए पर्याप्त रिडंडनी प्रदान करेगा। आमतौर पर RAID-5 केवल एक एकल ड्राइव विफलता को सहन करेगा।


RAID-6 के लिए समानता (कुल भंडारण) के लिए ड्राइव का अनुपात क्या है? drive_size * (drive_count - 2)?
नौफुली काया

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