एक छापे के लिए ड्राइव के ढेर जोड़ने 0 प्रदर्शन में वृद्धि?


10

एक छापे के लिए ड्राइव के ढेर जोड़ने 0 प्रदर्शन में वृद्धि? मुझे पता है कि एक धारीदार छापे में दो ड्राइव आमतौर पर एक एकल ड्राइव की तुलना में तेज़ होंगे, लेकिन क्या मुझे धारीदार छापे और 8 में 2 ड्राइव के बीच प्रदर्शन में अंतर दिखाई देगा? क्या छापे में ड्राइव की संख्या के लिए एक सामान्य सीमा है इससे पहले कि आपको वास्तव में कोई और लाभ न मिले?

इसी तरह का प्रश्न यहाँ पूछा गया है

RAID 10 ऐरे में अधिक ड्राइव जोड़ने से प्रदर्शन बढ़ता है?

लेकिन मैं सच में पूछ रहा हूँ कि अगर एक छापे 0 में कई ड्राइव जोड़ने से सिर्फ 2 या 4 जोड़ने में सुधार होता है, तो क्या प्रदर्शन बढ़ता रहता है?

जवाबों:


11

सिद्धांत रूप में, एक छापे में अधिक ड्राइव 0 उच्च प्रदर्शन की ओर ले जाएगा क्योंकि लोड अधिक ड्राइव पर साझा किया जाता है। हालाँकि व्यवहार में आप RAID नियंत्रक, सीपीयू और मेमोरी प्रदर्शन और इसी तरह के बैंडविड्थ द्वारा सीमित होंगे। प्रदर्शन में वृद्धि रैखिक नहीं होगी, अर्थात 4 डिस्क 2 डिस्क्स के समान तेज नहीं है।

किसी भी आधुनिक आधुनिक प्रणाली में एक RAID नियंत्रक के साथ, या यहाँ तक कि linux के mdadm के साथ एक सॉफ्टवेयर छापे का उपयोग करते हुए, 8 ड्राइव का उपयोग करना 2 का उपयोग करने की तुलना में तेज़ होगा और आपको सिस्टम के बाकी हिस्सों के प्रदर्शन से वापस नहीं होना चाहिए। सीपीयू, छापे और / या डिस्क नियंत्रक, मेमोरी, यह सब इसे संभालने में सक्षम होना चाहिए। आप सिस्टम संसाधनों का बढ़ा हुआ उपयोग देख सकते हैं और अधिक ड्राइव जो आप जोड़ते हैं। खासकर यदि आप सॉफ्टबोर्ड संयोजन में ऑनबोर्ड एसएटीए नियंत्रक का उपयोग करते हैं। लेकिन ऐसा कुछ भी नहीं जो वास्तव में समग्र प्रयोज्यता में बाधक हो। यदि आप लिनक्स का उपयोग कर रहे हैं, तो आप एक कर्नेल का उपयोग कर सकते हैं जिसे उपयोगकर्ता की जवाबदेही पर वरीयता प्राप्त करने के लिए सर्वर उन्मुख कार्यों के लिए "प्रीमेप" के बिना कॉन्फ़िगर किया गया है।

https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO

निश्चित रूप से आप जितने अधिक ड्राइव जोड़ते हैं, उतनी अधिक संभावना होती है कि उनमें से एक विफल हो जाता है और आपकी पूरी छाप नष्ट हो जाती है। मुझे उम्मीद है कि अगर आप भाग्यशाली रहे तो 8 ड्राइव का एक छापा एक या दो साल से अधिक नहीं चलेगा। 16 ड्राइव का एक छापा मुसीबत के लिए पूछ रहा होगा और फिर मैं एक छापे 10 पर विचार करूंगा, यह अभी भी काफी तेज होगा और आपको चिंता करने की जरूरत नहीं है।

जब तक कि मेरे पास विस्तृत सिस्टम ऐनक नहीं होता, तब तक मैं किसी सिस्टम के संसाधनों को अधिकतम कितने ड्राइव पर ले जाऊंगा। मुझे लगता है कि आप विफलता दर से अधिक सीमित होंगे, यदि आप लगभग 16 डिस्क पर जाते हैं (मैं इसके बारे में सोचना पसंद नहीं करता हूं)।

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

अगर mdadm का उपयोग करने पर विचार किया जा सकता है तो यह केवल raid10 का उपयोग करने के लिए विचार कर सकता है क्योंकि कुछ कॉन्फ़िगरेशन में यह एक raid0 के प्रदर्शन के पास हो सकता है, जो एक raid0 के प्रदर्शन को पढ़ा जाता है और पहले से ही अन्य छापे स्तरों पर बेहतर प्रदर्शन (raid0 को छोड़कर)। अन्य छापे स्तरों की तुलना में आपको बेहतर अतिरेक मिलेगा, एक छापे की तुलना में केवल एक मामूली गति दंड। यह दोनों दुनिया के लिए सबसे अच्छा होगा, आप अक्सर ऐसा नहीं पाते हैं।

https://en.wikipedia.org/wiki/RAID#Non-standard_levels

लिनक्स एमडी RAID 10 एक सामान्य RAID ड्राइवर प्रदान करता है जो अपने "पास" लेआउट में एक मानक RAID 1 में दो ड्राइव के साथ, और चार ड्राइव के साथ एक मानक RAID 1 + 0; हालाँकि, इसमें विषम संख्याओं सहित किसी भी संख्या में ड्राइव शामिल हो सकते हैं। अपने "दूर" लेआउट के साथ, एमडी RAID 10 धारीदार और प्रतिबिंबित दोनों चला सकता है, यहां तक ​​कि एफ 2 लेआउट में केवल दो ड्राइव के साथ; यह धारीदार रीड्स के साथ मिररिंग चलाता है, RAID 0. रेगुलर RAID 1 का रीड परफॉर्मेंस देता है, जैसा कि लिनक्स सॉफ्टवेयर RAID द्वारा प्रदान किया जाता है, स्ट्राइप रीड नहीं करता है, लेकिन समानांतर में रीड्स परफॉर्म कर सकता है।

जैसा कि टिप्पणियों में सुझाया गया है, mdadm के साथ आकार मिश्रण करने से गति में वृद्धि नहीं होगी यदि आप सभी डिस्क स्थान का उपयोग करते हैं जैसा कि छोटी डिस्क को सरणी के आकार को परिभाषित करने की अनुमति देता है।

इसके अलावा समय की तलाश में एक छापे में सुधार नहीं होगा और थोड़ा धीमा भी हो सकता है। SSD आधारित RAID0 के लिए खोज का समय इतना छोटा होगा (0.08 और 0.16 ms के बीच https://en.wikipedia.org/wiki/Hard_disk_drive_performance_characteristics#cite_note_HP_SSD-6 ) यह बहुत अधिक मायने नहीं रखेगा।


यदि आप आकार मिश्रण करना चाहते हैं, तो आप उन सभी स्थानों का उपयोग करने के लिए कम से कम RAID0 लागू नहीं कर सकते हैं। आपको JBOD का उपयोग करना होगा, जो प्रदर्शन को नहीं बढ़ाता है।
तेरो किलकेनेन

आप mdadm का उपयोग करके आकार मिला सकते हैं, यह बहुत लचीला है, mdadm आपको 3 डिस्क raid10 को कॉन्फ़िगर करने की अनुमति देता है। मुझे उम्मीद नहीं है कि आप RAID नियंत्रकों में आकार मिला सकते हैं, वे कम लचीले हैं, लेकिन तेज़ हैं।
aseq

1
मैंने इसकी जाँच की, और यदि आप RAID0 चाहते हैं, तो सरणी का सबसे छोटा उपकरण पूर्ण सरणी के आकार को परिभाषित करता है। यही है, अगर आपके पास 100GB, 200GB और 300 GB ड्राइव हैं, तो आपको अन्य प्रयोजनों के लिए उपयोग करने के लिए 300 GB RAID0 सरणी और 100GB और 200GB मुफ्त स्थान मिलेगा। रैखिक मोड में, आपको सभी उपकरणों की पूरी क्षमता मिलती है, लेकिन समानांतर प्रदर्शन नहीं।
तेरो किलकेनन

1
यह सही हाँ के बारे में लगता है।
aseq

2
घूर्णी मीडिया के साथ, वहाँ भी समय बनाम स्थानांतरण समय की तलाश का मुद्दा नहीं है? अधिक डिस्क जोड़ने से अधिक पठारों में पढ़ी / लिखी जा रही राशि फैल जाती है (प्रत्येक को कम == तेज़ी से करना पड़ता है), लेकिन उन सभी को अभी भी एक तलाश अभियान (अधिक ड्राइव जोड़कर कम नहीं) करना है। इसलिए, आपके द्वारा किए जा रहे ऑपरेशनों के प्रकार (यानी, छोटे रीड के बनाम कुछ बड़े रीड्स के खो जाने) के आधार पर, ट्रांसफर स्पीड को बढ़ाकर (अधिक ड्राइव जोड़कर) एक छोटा या बड़ा अंतर बना सकते हैं।
मोलोम्बी

1

यह कार्यभार से निर्भर करता है, लेकिन IMHO हाँ मौजूदा 2 डिस्क सरणी में 2 अतिरिक्त डिस्क जोड़कर बेहतर समग्र प्रदर्शन देना चाहिए।

आपको महसूस करना होगा कि अड़चनें कहां हैं:

  • CPU - CPU कितना डाटा प्रवाह संभाल सकता है,
  • बस / कंट्रोलर - यह कितना डेटा ले सकता है,
  • SSD / HDD - यह कितना डेटा दे सकता है / ले सकता है।

मान लेते हैं कि वहाँ एक लिनक्स सॉफ्टवेयर RAID, तो दो अतिरिक्त डिस्क जोड़ने चलो मई में परिणाम:

  • ~ डेटा के बड़े पर्याप्त ब्लॉक में दो गुना कम पहुंच का समय, जिसके परिणामस्वरूप;
  • ~ डबल IOPS,
  • ~ डबल थ्रूपुट, यह मानते हुए कि नियंत्रक के पास पर्याप्त बस है और सीपीयू यातायात को संभाल सकता है।

* * यह निम्न कारकों में कभी भी दो बार बढ़ावा नहीं है, हमेशा 10-20% कम। यह कमोबेश रेखीय जैसा दिखता है। कृपया इसे एक आधिकारिक जवाब न मानें, मैंने इसके बारे में कोई अध्ययन नहीं किया।

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