QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

एसएसडी के उपयोग के आधार पर और भंडारण प्रणालियों में व्यापक रूप से उपयोग की जाने वाली तकनीकों का लंबे समय से आविष्कार किया गया है। सबसे पहले, यह भंडारण स्थान के रूप में एसएसडी का उपयोग है, जो 100% प्रभावी है, लेकिन महंगा है। इसलिए, थकाऊ और कैशिंग प्रौद्योगिकियों का उपयोग किया जाता है, जहां एसएसडी का उपयोग केवल सबसे लोकप्रिय ("हॉट") डेटा के लिए किया जाता है। "हॉट" डेटा के दीर्घकालिक (दिन-सप्ताह) उपयोग के परिदृश्यों के लिए टियरिंग अच्छा है। इसके विपरीत, कैशिंग अल्पकालिक (मिनट-घंटे) उपयोग के लिए है। ये दोनों विकल्प भंडारण प्रणाली में लागू किए गए हैं QSAN XCubeSAN. इस लेख में हम दूसरे एल्गोरिदम के कार्यान्वयन को देखेंगे - एसएसडी कैशिंग.

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

एसएसडी कैशिंग तकनीक का सार हार्ड ड्राइव और नियंत्रक की रैम के बीच मध्यवर्ती कैश के रूप में एसएसडी का उपयोग है। एसएसडी का प्रदर्शन, निश्चित रूप से, नियंत्रक के स्वयं के कैश के प्रदर्शन से कम है, लेकिन वॉल्यूम बहुत अधिक है। इसलिए, हमें गति और आयतन के बीच एक निश्चित समझौता मिलता है।

पढ़ने के लिए SSD कैश का उपयोग करने के संकेत:

  • लिखने के संचालन पर पढ़ने के संचालन की प्रबलता (अक्सर डेटाबेस और वेब अनुप्रयोगों के लिए विशिष्ट);
  • हार्ड ड्राइव सरणी के प्रदर्शन के रूप में एक अड़चन की उपस्थिति;
  • आवश्यक डेटा की मात्रा SSD कैश के आकार से कम है।

रीड+राइट एसएसडी कैश का उपयोग करने के संकेत समान हैं, संचालन की प्रकृति को छोड़कर - मिश्रित प्रकार (उदाहरण के लिए, फ़ाइल सर्वर)।

अधिकांश स्टोरेज विक्रेता अपने उत्पादों में रीड-ओनली SSD कैश का उपयोग करते हैं। मूलभूत अंतर क्यूएसएएन वे लेखन के लिए भी कैश का उपयोग करने की क्षमता प्रदान करते हैं। QSAN स्टोरेज सिस्टम में SSD कैशिंग कार्यक्षमता को सक्रिय करने के लिए, आपको एक अलग लाइसेंस (इलेक्ट्रॉनिक रूप से आपूर्ति किया गया) खरीदना होगा।

XCubeSAN में SSD कैश को भौतिक रूप से अलग SSD कैश पूल के रूप में कार्यान्वित किया जाता है। सिस्टम में इनकी संख्या अधिकतम चार हो सकती है। बेशक, प्रत्येक पूल एसएसडी के अपने सेट का उपयोग करता है। और पहले से ही वर्चुअल डिस्क के गुणों में हम यह निर्धारित करते हैं कि यह कैश पूल का उपयोग करेगा या नहीं और कौन सा। वॉल्यूम के लिए कैश उपयोग को सक्षम और अक्षम करना I/O को रोके बिना ऑनलाइन किया जा सकता है। आप SSDs को पूल में हॉट रूप से जोड़ सकते हैं और उन्हें वहां से हटा भी सकते हैं। SSD पूल कैश बनाते समय, आपको यह चुनना होगा कि यह किस मोड में काम करेगा: केवल पढ़ने के लिए या पढ़ने+लिखने के लिए। इसका भौतिक संगठन इसी पर निर्भर करता है। चूंकि कई कैश पूल हो सकते हैं, उनकी कार्यक्षमता अलग-अलग हो सकती है (अर्थात, सिस्टम में एक ही समय में पढ़ने और पढ़ने+लिखने दोनों कैश पूल हो सकते हैं)।

यदि रीड-ओनली कैश पूल का उपयोग किया जाता है, तो इसमें 1-8 SSD शामिल हो सकते हैं। डिस्क का समान क्षमता और समान विक्रेता होना आवश्यक नहीं है, क्योंकि वे एक NRAID+ संरचना में संयोजित होते हैं। पूल में सभी SSD साझा किए गए हैं। अधिकतम प्रदर्शन प्राप्त करने के लिए सिस्टम स्वतंत्र रूप से सभी SSDs के बीच आने वाले अनुरोधों को समानांतर करने का प्रयास करता है। यदि एसएसडी में से एक विफल हो जाता है, तो कुछ भी बुरा नहीं होगा: आखिरकार, कैश में हार्ड ड्राइव की सरणी पर संग्रहीत डेटा की केवल एक प्रति होती है। यह सिर्फ इतना है कि उपलब्ध एसएसडी कैश की मात्रा कम हो जाएगी (या एक ड्राइव से मूल एसएसडी कैश का उपयोग करने पर शून्य हो जाएगी)।

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

यदि कैश का उपयोग पढ़ने + लिखने के संचालन के लिए किया जाता है, तो पूल में SSD की संख्या दो से अधिक होनी चाहिए, क्योंकि सामग्री ड्राइव के जोड़े पर प्रतिबिंबित होती है (NRAID 1+ संरचना का उपयोग किया जाता है)। कैश को डुप्लिकेट करना आवश्यक है क्योंकि इसमें वह डेटा हो सकता है जो अभी तक हार्ड ड्राइव पर नहीं लिखा गया है। और इस मामले में, कैश पूल से एसएसडी की विफलता से जानकारी की हानि होगी। एनआरएआईडी 1+ के मामले में, एसएसडी की विफलता के कारण कैश को केवल पढ़ने योग्य स्थिति में स्थानांतरित कर दिया जाएगा, साथ ही अलिखित डेटा को हार्ड ड्राइव सरणी पर डंप कर दिया जाएगा। दोषपूर्ण SSD को बदलने के बाद, कैश अपने मूल ऑपरेटिंग मोड पर वापस आ जाएगा। वैसे, अधिक सुरक्षा के लिए, आप रीड + राइट कैश के लिए समर्पित हॉट स्पेयर असाइन कर सकते हैं।

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

XCubeSAN में SSD कैशिंग फ़ंक्शन का उपयोग करते समय, स्टोरेज नियंत्रकों की मेमोरी की मात्रा के लिए कई आवश्यकताएं होती हैं: जितनी अधिक सिस्टम मेमोरी, उतना बड़ा कैश पूल उपलब्ध होगा।

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

अधिकांश स्टोरेज सिस्टम निर्माताओं के विपरीत, जो केवल SSD कैश को चालू/बंद करने का विकल्प प्रदान करते हैं, QSAN अधिक विकल्प प्रदान करता है। विशेष रूप से, आप लोड की प्रकृति के आधार पर कैश ऑपरेटिंग मोड का चयन कर सकते हैं। तीन प्रीसेट टेम्प्लेट हैं जो अपने संचालन में संबंधित सेवाओं के सबसे करीब हैं: डेटाबेस, फ़ाइल सिस्टम, वेब सेवा। इसके अलावा, व्यवस्थापक आवश्यक पैरामीटर मान सेट करके अपनी स्वयं की प्रोफ़ाइल बना सकता है:

  • ब्लॉक आकार (कैश ब्लॉक आकार) - 1/2/4 एमबी
  • किसी ब्लॉक को पढ़ने के अनुरोधों की संख्या ताकि इसे कैश में कॉपी किया जा सके (पॉप्युलेट-ऑन-रीड थ्रेशोल्ड) - 1..4
  • किसी ब्लॉक को लिखने के अनुरोधों की संख्या ताकि इसे कैश में कॉपी किया जा सके (पॉप्युलेट-ऑन-राइट थ्रेशोल्ड) - 0..4

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

प्रोफाइल को तुरंत बदला जा सकता है, लेकिन, निश्चित रूप से, कैश रीसेट की सामग्री और इसके नए "वार्मिंग अप" के साथ।

एसएसडी कैश के संचालन के सिद्धांत को ध्यान में रखते हुए, हम इसके साथ काम करते समय मुख्य संचालन पर प्रकाश डाल सकते हैं:

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

डेटा तब पढ़ना जब वह कैश में न हो

  1. होस्ट से एक अनुरोध नियंत्रक के पास आता है;
  2. चूंकि अनुरोधित एसएसडी कैश में नहीं हैं, इसलिए उन्हें हार्ड ड्राइव से पढ़ा जाता है;
  3. पढ़ा गया डेटा होस्ट को भेजा जाता है। साथ ही, यह देखने के लिए जांच की जाती है कि क्या ये ब्लॉक "गर्म" हैं;
  4. यदि हां, तो उन्हें आगे उपयोग के लिए एसएसडी कैश में कॉपी किया जाता है।

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

डेटा तब पढ़ें जब वह कैश में मौजूद हो

  1. होस्ट से एक अनुरोध नियंत्रक के पास आता है;
  2. चूंकि अनुरोधित डेटा एसएसडी कैश में है, इसे वहां से पढ़ा जाता है;
  3. पढ़ा गया डेटा होस्ट को भेजा जाता है।

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

रीड कैश का उपयोग करते समय डेटा लिखना

  1. होस्ट से एक लिखित अनुरोध नियंत्रक के पास आता है;
  2. डेटा हार्ड ड्राइव पर लिखा जाता है;
  3. सफल रिकॉर्डिंग का संकेत देने वाली एक प्रतिक्रिया मेजबान को लौटा दी जाती है;
  4. उसी समय, यह जाँच की जाती है कि क्या ब्लॉक "हॉट" है (पॉप्युलेट-ऑन-राइट थ्रेशोल्ड पैरामीटर की तुलना की जाती है)। यदि हाँ, तो इसे बाद में उपयोग के लिए SSD कैश में कॉपी किया जाता है।

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

रीड+राइट कैश का उपयोग करते समय डेटा लिखना

  1. होस्ट से एक लिखित अनुरोध नियंत्रक के पास आता है;
  2. डेटा SSD कैश में लिखा जाता है;
  3. सफल रिकॉर्डिंग का संकेत देने वाली एक प्रतिक्रिया मेजबान को लौटा दी जाती है;
  4. SSD कैश से डेटा पृष्ठभूमि में हार्ड ड्राइव पर लिखा जाता है;

कार्रवाई में जाँच करें

परीक्षण स्टैंड

2 सर्वर (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) फाइबर चैनल 16G के माध्यम से दो पोर्ट द्वारा सीधे XCubeSAN XS5224D स्टोरेज सिस्टम (16GB RAM / नियंत्रक) से जुड़े हुए हैं।

हमने डेटा ऐरे के लिए RAID16 (500+0001) में संयुक्त 500 x सीगेट कॉन्स्टेलेशन ES, ST6NM5, 15GB, SAS 1Gb/s और कैश के रूप में 8 x HGST अल्ट्रास्टार SSD800MH.B, HUSMH8010BSS200, 100GB, SAS 12Gb/s का उपयोग किया।

2 खंड बनाए गए: प्रत्येक सर्वर के लिए एक।

परीक्षण 1. 1-8 एसएसडी से रीड-ओनली एसएसडी कैश

एसएसडी कैश

  • I/O प्रकार: अनुकूलन
  • कैश ब्लॉक का आकार: 4 एमबी
  • पॉप्युलेट-ऑन-रीड थ्रेसहोल्ड: 1
  • पॉप्युलेट-ऑन-राइट थ्रेसहोल्ड: 0

I/O पैटर्न

  • उपकरण: आईओमीटर V1.1.0
  • श्रमिक : 1
  • बकाया (कतार गहराई): 128
  • एक्सेस विशिष्टताएँ: 4केबी, 100% पढ़ा गया, 100% यादृच्छिक

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

सिद्धांत रूप में, कैश पूल में जितने अधिक SSD होंगे, प्रदर्शन उतना ही अधिक होगा। व्यवहार में इसकी पुष्टि हो चुकी है। कम मात्रा में एसएसडी की संख्या में एकमात्र महत्वपूर्ण वृद्धि से विस्फोटक प्रभाव नहीं पड़ता है।

परीक्षण 2. 2-8 एसएसडी के साथ रीड+राइट मोड में एसएसडी कैश

एसएसडी कैश

  • I/O प्रकार: अनुकूलन
  • कैश ब्लॉक का आकार: 4 एमबी
  • पॉप्युलेट-ऑन-रीड थ्रेसहोल्ड: 1
  • पॉप्युलेट-ऑन-राइट थ्रेसहोल्ड: 1

I/O पैटर्न

  • उपकरण: आईओमीटर V1.1.0
  • श्रमिक : 1
  • बकाया (कतार गहराई): 128
  • एक्सेस विशिष्टताएँ: 4केबी, 100% लिखें, 100% यादृच्छिक

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

वही परिणाम: एसएसडी की संख्या बढ़ने पर विस्फोटक प्रदर्शन वृद्धि और स्केलिंग।

दोनों परीक्षणों में, कार्यशील डेटा की मात्रा कुल कैश आकार से कम थी। इसलिए, समय के साथ, सभी ब्लॉक कैश में कॉपी हो गए। और वास्तव में, काम पहले से ही एसएसडी के साथ किया गया था, व्यावहारिक रूप से हार्ड ड्राइव को प्रभावित किए बिना। इन परीक्षणों का उद्देश्य कैश को गर्म करने और एसएसडी की संख्या के आधार पर इसके प्रदर्शन को बढ़ाने की प्रभावशीलता को स्पष्ट रूप से प्रदर्शित करना था।

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

टेस्ट 3. डेटाबेस अनुकरण

एसएसडी कैश

  • I/O प्रकार: डेटाबेस
  • कैश ब्लॉक का आकार: 1 एमबी
  • पॉप्युलेट-ऑन-रीड थ्रेसहोल्ड: 2
  • पॉप्युलेट-ऑन-राइट थ्रेसहोल्ड: 1

I/O पैटर्न

  • उपकरण: आईओमीटर V1.1.0
  • श्रमिक : 1
  • बकाया (कतार गहराई): 128
  • एक्सेस विशिष्टताएँ: 8केबी, 67% पढ़ा गया, 100% यादृच्छिक

QSAN XCubeSAN स्टोरेज सिस्टम में SSD कैशिंग का कार्यान्वयन

निर्णय

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

स्रोत: www.habr.com

एक टिप्पणी जोड़ें