संक्षेप में: यदि कम-अंत वाले RAID कार्ड (कैश के बिना) का उपयोग किया जाता है, तो अपने आप को एक एहसान करें और सॉफ़्टवेयर RAID पर स्विच करें। यदि एक मिड-टू-हाई-एंड कार्ड (BBU या NVRAM के साथ) का उपयोग कर रहे हैं, तो हार्डवेयर अक्सर (लेकिन हमेशा नहीं! नीचे देखें) एक अच्छा विकल्प है।
दीर्घ उत्तर: जब कंप्यूटिंग शक्ति सीमित थी, तो हार्डवेयर RAID कार्डों में RAID योजनाओं के लिए समानता (सिंड्रोम 3 डी / 4/5, RAID6, ecc) शामिल थे।
हालाँकि, लगातार बढ़ते CPU प्रदर्शन के साथ, यह लाभ मूल रूप से गायब हो गया: यहां तक कि मेरे लैपटॉप के प्राचीन CPU (Core i5 M 520, Westmere पीढ़ी) में 4 GB / s से अधिक का XOR प्रदर्शन और 3 GB / s से अधिक RAID-6 सिंड्रोम प्रदर्शन है। एकल निष्पादन कोर ।
हार्डवेयर RAID आज जो लाभ रखता है वह BBU या NVRAM के रूप में एक पावर-लॉस संरक्षित DRAM कैश की उपस्थिति है। यह संरक्षित कैश रैंडम राइट एक्सेस (और हिट हिट पढ़ने) के लिए बहुत कम विलंबता देता है और मूल रूप से रैंडम राइट्स को अनुक्रमिक राइट्स में बदल देता है। इस तरह के कैश के बिना एक RAID नियंत्रक बेकार के पास है । इसके अलावा, कुछ कम-अंत RAID नियंत्रक केवल कैश के बिना नहीं आते हैं, लेकिन डिस्क के निजी DRAM कैश को जबरन अक्षम कर देते हैं, जिससे बिना RAID कार्ड के प्रदर्शन धीमा हो जाता है। एक उदाहरण DELL के PERC H200 और H300 कार्ड हैं: यदि नए फर्मवेयर में बदलाव नहीं हुआ है, तो वे डिस्क के निजी कैश को पूरी तरह से अक्षम कर देते हैं (और यह फिर से सक्षम नहीं किया जा सकता है, जबकि डिस्क RAID नियंत्रक से जुड़े हैं)। अपने ऊपर एक एहसान करो और करोनहीं, कभी भी, ऐसे नियंत्रकों को कभी न खरीदें। जबकि उच्च-अंत नियंत्रक अक्सर डिस्क के निजी कैश को अक्षम करते हैं, उनके पास कम से कम अपनी स्वयं की संरक्षित कैश है - जिससे एचडीडी (लेकिन एसएसडी की!) निजी कैश कुछ हद तक बेमानी हो जाती है।
हालांकि यह अंत नहीं है। एसएसडी के साथ उपयोग किए जाने पर भी सक्षम नियंत्रक (बीबीयू या एनवीआरएएम कैश के साथ एक) असंगत परिणाम दे सकते हैं, क्योंकि एसएसडी को वास्तव में कुशल फ्लैश पेज प्रोग्रामिंग / मिटाने के लिए एक तेज निजी कैश की आवश्यकता होती है। और जबकि कुछ (सबसे अधिक) नियंत्रक आपको डिस्क के निजी कैश को फिर से सक्षम करने देते हैं (उदाहरण: PERC H700 / 710 / 710P उपयोगकर्ता को इसे फिर से सक्षम करने देते हैं), यदि निजी कैश आपको सुरक्षा के मामले में डेटा खोने का जोखिम नहीं देता है। बिजली की हानि वास्तव में सटीक व्यवहार नियंत्रक और फर्मवेयर पर निर्भर है (उदाहरण: एक डीईएल एस 6 / i पर 256 एमबी डब्ल्यूबी कैश और सक्षम डिस्क के कैश के साथ , मुझे एकाधिक, योजनाबद्ध बिजली हानि परीक्षण के दौरान कोई नुकसान नहीं हुआ), अनिश्चितता और बहुत अधिक चिंता।
दूसरी ओर, ओपन सोर्स सॉफ़्टवेयर RAID बहुत अधिक नियंत्रणीय जानवर हैं - उनका सॉफ़्टवेयर मालिकाना फर्मवेयर के अंदर संलग्न नहीं है, और इसमें मेटाडेटा पैटर्न और व्यवहार अच्छी तरह से परिभाषित हैं। सॉफ्टवेयर RAID इस (सही) धारणा को बनाते हैं कि डिस्क का निजी DRAM कैश संरक्षित नहीं है, लेकिन एक ही समय में यह स्वीकार्य प्रदर्शन के लिए महत्वपूर्ण है - इसलिए वे आम तौर पर इसे अक्षम नहीं करते हैं, बल्कि वे कुछ महत्वपूर्ण होने के लिए ATA FLUSH / FUA कमांड का उपयोग करते हैं स्थिर भंडारण पर डेटा भूमि। जैसा कि वे अक्सर चिपसेट एसबी से जुड़े एसएटीए पोर्ट से चलते हैं, उनकी बैंडविड्थ बहुत अच्छी है और ड्राइवर का समर्थन उत्कृष्ट है।
हालांकि, अगर मैकेनिकल एचडीडी के साथ उपयोग किया जाता है, तो WB कैश वाले हार्डवेयर RAID नियंत्रक की तुलना में सिंक्रनाइज़, रैंडम राइट एक्सेस पैटर्न (जैसे: डेटाबेस, वर्चुअल मशीन) को बहुत नुकसान होगा। दूसरी ओर, जब एंटरप्राइज़ SSDs (यानी: पॉवरलॉस प्रोटेक्टेड राइट कैश के साथ) का उपयोग किया जाता है, तो सॉफ्टवेयर RAID अक्सर एक्सेल करता है और हार्डवेयर RAID कार्ड के साथ जो प्राप्त होता है उससे अधिक परिणाम देता है। कहा कि आपको यह याद रखना होगा कि उपभोक्ता SSDs (गैर-संरक्षित राइटबैक कैश के साथ पढ़ें), जबकि पढ़ने और async लेखन में बहुत अच्छा है, सिंक्रनाइज़ लेखन वर्कलोड में बहुत कम IOPS वितरित करते हैं।
यह भी विचार करें कि सॉफ़्टवेयर RAID सभी समान नहीं बनाए गए हैं। Windows सॉफ़्टवेयर RAID में एक खराब प्रतिष्ठा, प्रदर्शन बुद्धिमान, और यहां तक कि संग्रहण स्थान भी भिन्न नहीं है। लिनक्स एमडी रेड असाधारण रूप से तेज और बहुमुखी है, लेकिन लिनक्स I / O स्टैक कई स्वतंत्र टुकड़ों से बना है जिन्हें आपको अपने प्रदर्शन को निकालने के लिए सावधानी से समझने की आवश्यकता है। ZFS समता RAID (ZRAID) बेहद उन्नत है, लेकिन अगर सही ढंग से कॉन्फ़िगर नहीं किया गया है, तो आप बहुत खराब IOP दे सकते हैं ; मिररिंग + स्ट्रिपिंग, दूसरी तरफ, काफी अच्छा प्रदर्शन करता है। वैसे भी, सिंक्रोनस राइट हैंडलिंग (ZIL) के लिए तेज SLOG डिवाइस की जरूरत है।
जमीनी स्तर:
- यदि आपके वर्कलोड को यादृच्छिक रूप से संवेदनशील नहीं लिखा गया है, तो आपको RAID कार्ड की आवश्यकता नहीं है
- यदि आपको RAID कार्ड की आवश्यकता है, तो WB कैश के बिना एक RAID नियंत्रक न खरीदें
- यदि आप SSD सॉफ्टवेयर का उपयोग करने की योजना बना रहे हैं, तो RAID को प्राथमिकता दी जाती है, लेकिन ध्यान रखें कि उच्च सिंक्रनाइज़ रैंडम लिखने के लिए आपको पॉवरलॉस-रक्षित SSD (यानी: Intel S4600, Samsung PM / SM863, आदि) की आवश्यकता होती है। शुद्ध प्रदर्शन के लिए सबसे अच्छा विकल्प शायद लिनक्स एमडी रेड है, लेकिन आजकल मैं आम तौर पर धारीदार जेडएफएस दर्पण का उपयोग करता हूं। यदि आप दर्पण के कारण आधे स्थान को नहीं खो सकते हैं और आपको ZFS उन्नत सुविधाओं की आवश्यकता है, तो ZRAID के साथ जाएं, लेकिन ध्यान से अपने VDEVs सेटअप के बारे में सोचें।
- यदि आप SSD का उपयोग करते हैं, तो भी वास्तव में एक हार्डवेयर RAID कार्ड की जरूरत है, SSDs को राइट-प्रोटेक्टेड कैश के साथ उपयोग करें (माइक्रोन M500 / 550/600 में आंशिक सुरक्षा है - वास्तव में पर्याप्त नहीं बल्कि कुछ भी नहीं से बेहतर है - जबकि इंटेल डीसी और एस सीरीज़ में पूर्ण शक्ति का नुकसान होता है सुरक्षा, और उद्यम सैमसंग एसएसडी के लिए भी यही कहा जा सकता है)
- यदि आपको RAID6 की आवश्यकता है और आप सामान्य, यांत्रिक HDD का उपयोग करेंगे, तो 512 एमबी (या अधिक) बीबी कैश के साथ एक तेज RAID कार्ड खरीदने पर विचार करें। RAID6 में एक उच्च लेखन प्रदर्शन जुर्माना है, और एक अच्छी तरह से आकार का डब्ल्यूबी कैश कम से कम छोटे तुल्यकालिक लेखन के लिए एक तेज मध्यवर्ती भंडारण प्रदान कर सकता है (जैसे: फाइलसिस्टम जर्नल)।
- अगर आपको HDD के साथ RAID6 की आवश्यकता है, लेकिन आप हार्डवेयर RAID कार्ड नहीं खरीद सकते / नहीं चाहते, तो ध्यान से अपने सॉफ़्टवेयर RAID सेटअप के बारे में सोचें। उदाहरण के लिए, लिनक्स एमडी रेड के साथ एक संभावित समाधान दो सरणियों का उपयोग करना है: जर्नल के लिए एक छोटा RAID10 सरणी / डीबी लॉग, और कच्चे भंडारण के लिए एक RAID6 सरणी (फाइलरवर के रूप में)। दूसरी ओर, SSDs के साथ सॉफ़्टवेयर RAID5 / 6 बहुत तेज़ है, इसलिए आपको संभवतः सभी SSDs सेटअप के लिए RAID कार्ड की आवश्यकता नहीं है।