एक बड़ा RAID 10 बनाम कई छोटे सरणियाँ?


10

मेरा सवाल यह है: जब विशिष्ट अनुप्रयोगों के लिए छोटे सरणियों को बनाने के बजाय तेजी से पढ़ने और लिखने के प्रदर्शन, जैसे कि RAID 10 के साथ केवल एक बड़ी सरणी बनाना उचित है?

ऐसा लगता है कि यदि मेरी समग्र I / O आवश्यकताएं बहुत भारी नहीं हैं, तो उत्कृष्ट पढ़ने और लिखने के प्रदर्शन के साथ एक एकल सरणी उन सभी अनुप्रयोगों को समग्र रूप से बेहतर प्रदर्शन प्रदान कर सकती है, जिन्हें छोड़कर (शायद ही कभी) ऐसे समय में जब अलग-अलग एक्सेस पैटर्न वाले एप्लिकेशन चरम पर पहुंच गए हों एक ही समय में (बड़ी मात्रा में बड़ी फ़ाइलों की प्रतिलिपि बनाना, जबकि एक डेटाबेस पटक दिया जाता है)।

अगर मैं एक जोड़ी स्पिंडल को किसी विशेष कार्य के लिए समर्पित करता हूं, जैसे कि लेन-देन लॉग, और वे कार्यभार के साथ एक पसीना भी नहीं तोड़ रहे हैं ... तो बस उस वर्कलोड को एक बड़े RAID 10 पर क्यों नहीं रखा जाए? इसके बाद वे स्पिंडल 60% समय खुद को खरोंचने के लिए बैठने के बजाय अन्य कार्यभार में योगदान कर सकेंगे।

पुनश्च, मेरे विशेष मामले में RAID 10 की लागत उपरि एक कारक नहीं है, क्योंकि मैं कई RAID 1 सरणियाँ और एक छोटा-सा RAID बनाकर देख रहा हूँ 5. अंतरिक्ष की मात्रा के लिए RAID 10 जा रहा हूँ जिसकी मुझे तुलना करनी होगी।

जवाबों:


10

यह जानने के लिए कि आपके स्टोरेज को कैसे सेटअप किया जाता है, आईओपीएस और बैंडविड्थ को मापने और बजट बनाने के बारे में है। (मैं यहाँ सरल हो रहा हूँ क्योंकि पढ़ने / लिखने के प्रतिशत मिश्रण का आकार, औसत IOs, RAID स्ट्राइप आकार और कैश हिट प्रतिशत बहुत मायने रखता है। यदि आप उन संख्याओं को प्राप्त कर सकते हैं जो आप अपनी गणनाओं को और भी सटीक बना सकते हैं।)

यहाँ एक बहुत अच्छा सा आईओ कैलकुलेटर है जिसे मैं स्टोरेज की योजना बनाते समय अक्सर उपयोग करता हूं। कुछ महत्वपूर्ण समसामयिक डिस्क प्रदर्शन संख्याएँ प्राप्त करने के लिए wmarow की संग्रहण निर्देशिका भी अच्छी है।

अगर मैं एक जोड़ी स्पिंडल को किसी विशेष कार्य के लिए समर्पित करता हूं, जैसे कि लेन-देन लॉग, और वे कार्यभार के साथ एक पसीना भी नहीं तोड़ रहे हैं ... तो बस उस वर्कलोड को एक बड़े RAID 10 पर क्यों नहीं रखा जाए?

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

इच्छित गंतव्य वॉल्यूम के लिए अधिकतम संभव यादृच्छिक IOPS को मापें या गणना करें, उस वॉल्यूम पर वर्तमान वर्कलोड की एक आधार रेखा लें, और फिर तय करें कि क्या आपके पास उन लेन-देन लॉग IOPS को गंतव्य वॉल्यूम में शेष यादृच्छिक IO में रखने के लिए पर्याप्त है। इसके अलावा, कार्यभार (जाहिर है) के लिए आवश्यक स्थान का बजट सुनिश्चित करें। यदि आप इच्छुक हैं, तो अपने IO वर्कलोड / अंतरिक्ष आवंटन में अतिरिक्त "हेडरूम" के प्रतिशत में निर्माण करें।

अन्य सभी कार्यभार के लिए इस पद्धति के साथ जारी रखें जिन्हें आप गंतव्य RAID-10 वॉल्यूम में डालना चाहते हैं। यदि आप यादृच्छिक IOPS से बाहर निकलते हैं, तो आप वॉल्यूम में बहुत अधिक जमा कर रहे हैं - अधिक डिस्क जोड़ें या समर्पित संस्करणों में कुछ कार्यभार डालें। यदि आप अंतरिक्ष से बाहर भागते हैं, तो अधिक डिस्क जोड़ें।


एक समस्या यह है कि मेरे वर्तमान कॉन्फ़िगरेशन के साथ, मैं वास्तव में कुल IOPS पर एक अच्छा माप प्राप्त कर सकता हूं, जो कि प्रति हस्तांतरण 14K बाइट्स के औसत के साथ केवल 300 (60% पढ़ा जाता है) है। मैं जिस बड़े RAID 10 सरणी पर विचार कर रहा हूं वह 758 यादृच्छिक 16k IOPS (60% और कैश आउट फैक्टरिंग) करने में सक्षम होना चाहिए। यह गणना मिश्रित कार्यभार को ध्यान में नहीं रखती है, फिर भी मैं इससे जूझ रहा हूं।
बोडेन

4

मैंने हाल ही में अधिक लेख पढ़ते हुए कहा है कि विश्वसनीयता के लिए RAID 5 एक बुरा तरीका है। मेरा मानना ​​है कि RAID 5 एरे में डिस्क के खराब होने के बाद ड्राइव को बदल दिया गया, और यह ठीक नहीं हो सका क्योंकि एक दूसरी डिस्क में एक अव्यक्त अपरिवर्तनीय रीड एरर थी जो हमें रिफ़ॉर्म करने और बैकअप से पुनर्स्थापित करने के लिए मजबूर करती थी।

जैसे-जैसे ड्राइव बड़ी होती जा रही है, इन भारी डिस्क पर एक अप्राप्य अपरिवर्तनीय रीड एरर होने की संभावना भी बढ़ रही है, और RAID 5 के साथ विश्वसनीयता बस इसे और नहीं काट रही है। यदि आप मिरर नहीं कर रहे हैं, तो स्पष्ट रूप से सलाह है कि RAID 10 के साथ जाएं।

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

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


1
हाँ, मैं RAID 5 से RAID 6 में चला गया, और लिखने का दंड मुझे मार रहा है। मुझे एक बड़ा RAID का विचार पसंद है। मैं एक साथ विभिन्न प्रकार के बेंचमार्क का क्या उपयोग कर सकता हूं I / O लोड?
बॉडेन

1
स्टॉपवॉच सबसे सटीक है :-)
बार्ट सिल्वरस्ट्रिम

1
ड्राइव और नियंत्रक के महत्व को कम मत समझो। हमारे पास RAID 5 के साथ डेल एनएएस है और जब उपयोगकर्ता लॉग इन कर रहे हैं और उसमें से प्रोफाइल खींच रहे हैं तो यह चोक हो गया है और हमने निष्कर्ष निकाला है कि यह प्रदर्शन 10,000 आरपीएम नहीं था, क्योंकि प्रदर्शन मॉनिटर संख्याओं में थोड़ा शोध करने के बाद। हमने कुछ डेटा को कुछ लोड करने के लिए एक अलग सर्वर पर कुछ डेटा ले जाना समाप्त किया।
बार्ट सिल्वरस्ट्रिम

2
ईमानदारी से, मुझे समझ में नहीं आता कि कॉर्पोरेट वातावरण में कोई भी RAID 5 का उपयोग क्यों करेगा। हम सभी तरह से RAID 10 हैं।
बीप बीप

2
क्योंकि उस समय RAID 5 बुराई नहीं थी :-) RAID 10 को हमारे व्यापार के स्तर पर विलासिताहीन माना जाता था, मुझे लगता है कि आप कह सकते हैं। कीमतें वास्तव में गिर गई हैं, समय बदल गया है, और हम अभी भी समर्थन करते हैं कि सर्वर रूम में "काम" क्या है।
बार्ट सिल्वरस्ट्रिम

2

आप अपने अनुप्रयोगों के लिए विलंबता कैसे चाहते हैं?

उदाहरण के लिए, आपके पास एक ऐसा ऐप है जो वास्तव में विलंबता संवेदनशील है, और यह आपके वित्तीय डेटाबेस के साथ एक फाइल सिस्टम साझा करता है। राजकोषीय समापन पर, अचानक आपको विलंबता संवेदनशील ऐप टाइमिंग के बारे में कॉल मिलते हैं। आप यह कैसे पता लगाने जा रहे हैं?

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


0

जरूर, क्यों नहीं। बात यह है कि, अपने बड़े मल्टी-डिस्क सरणी को सही ढंग से बनाने के लिए याद रखें, यह गलत है और आप एक लंबे समय के पुनर्निर्माण के लिए हैं।

RAID 10 2 स्वादों में आता है:

  • RAID 1 + 0 जहां आप 2 RAID 1 सरणियों का निर्माण करते हैं, तो उन्हें पट्टी करें।
  • RAID 0 + 1 जहां आप 2 RAID 0 सरणियों का निर्माण करते हैं, तो उन्हें दर्पण करें।

एक बार एक डिस्क मर जाती है, एक में आपको बस एक एकल raid1 सरणी का पुनर्निर्माण करना होगा। दूसरे के साथ आपको पूरे RAID0 सरणी का पुनर्निर्माण करना होगा।

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