
अद्यतन!. टिप्पणियों में, पाठकों में से एक ने प्रयास करने का सुझाव दिया (हो सकता है कि वह स्वयं इस पर काम कर रहा हो) इसलिए मैंने इस समाधान के बारे में एक अनुभाग जोड़ा है। मैंने भी लिखा , क्योंकि यह प्रक्रिया बाकियों से बहुत अलग है।
ईमानदारी से कहूं तो मैंने हार मान ली और हार मान ली (कम से कम अभी के लिए)। मैं इस्तेमाल करूँगा . क्यों? भंडारण के कारण! किसने सोचा होगा कि मैं कुबेरनेट्स की तुलना में भंडारण के साथ अधिक छेड़छाड़ करूंगा। मैं उपयोग करता हूं क्योंकि यह सस्ता है और प्रदर्शन अच्छा है और शुरू से ही मैं इसका उपयोग करके क्लस्टर तैनात कर रहा हूं . मैंने Google/Amazon/Microsoft/DigitalOcean इत्यादि से प्रबंधित Kubernetes सेवाओं का प्रयास नहीं किया, क्योंकि मैं स्वयं सब कुछ सीखना चाहता था। मैं भी मितव्ययी हूं.
तो हां, जब मैं संभावित कुबेरनेट्स स्टैक का मूल्यांकन कर रहा था तो मैंने यह तय करने में बहुत समय बिताया कि कौन सा स्टोरेज चुनना है। मैं ओपन सोर्स समाधान पसंद करता हूं, न केवल कीमत के कारण, बल्कि मैंने जिज्ञासा से कुछ भुगतान विकल्पों पर गौर किया है क्योंकि उनके पास सीमाओं के साथ मुफ्त संस्करण हैं। जब मैंने विभिन्न विकल्पों की तुलना की तो मैंने हाल के परीक्षणों से कुछ संख्याएँ लिखीं, और वे कुबेरनेट्स भंडारण के बारे में सीखने वालों के लिए रुचिकर हो सकते हैं। हालाँकि मैंने व्यक्तिगत रूप से अभी के लिए कुबेरनेट्स को अलविदा कह दिया है। मैं भी बताना चाहता हूं , जो सीधे हेट्ज़नर क्लाउड वॉल्यूम का प्रावधान कर सकता है, लेकिन मैंने अभी तक इसका प्रयास नहीं किया है। मैंने क्लाउड सॉफ़्टवेयर-परिभाषित स्टोरेज पर ध्यान दिया क्योंकि मुझे प्रतिकृति और किसी भी नोड पर लगातार वॉल्यूम को तुरंत माउंट करने की क्षमता की आवश्यकता थी, खासकर नोड विफलताओं और अन्य समान स्थितियों के मामले में। कुछ समाधान पॉइंट-इन-टाइम स्नैपशॉट और ऑफ-साइट बैकअप प्रदान करते हैं, जो सुविधाजनक है।
मैंने 6-7 भंडारण समाधानों का परीक्षण किया:
जैसा कि मैंने पहले ही कहा था सूची में से अधिकांश विकल्पों का परीक्षण करने के बाद, मैंने शुरुआत में OpenEBS पर निर्णय लिया। ओपनईबीएस को स्थापित करना और उपयोग करना बहुत आसान है, लेकिन ईमानदारी से कहूं तो लोड के तहत वास्तविक डेटा के साथ परीक्षण करने के बाद, मैं इसके प्रदर्शन से निराश था। यह खुला स्रोत है, और डेवलपर स्वयं ही हैं जब भी मुझे मदद की ज़रूरत होती तो मैं हमेशा बहुत मददगार होता। दुर्भाग्य से, अन्य विकल्पों की तुलना में इसका प्रदर्शन बहुत खराब है, इसलिए परीक्षणों को फिर से चलाना पड़ा। OpenEBS में वर्तमान में 3 स्टोरेज इंजन हैं, लेकिन मैं cStor के लिए बेंचमार्क परिणाम पोस्ट कर रहा हूं। मेरे पास अभी तक जीवा और लोकलपीवी के लिए नंबर नहीं हैं।
संक्षेप में, जीवा थोड़ा तेज़ है, और लोकलपीवी आम तौर पर तेज़ है, सीधे तौर पर डिस्क बेंचमार्क से भी बदतर नहीं है। लोकलपीवी के साथ समस्या यह है कि वॉल्यूम को केवल उसी नोड पर एक्सेस किया जा सकता है जहां इसे तैयार किया गया था, और इसमें कोई प्रतिकृति नहीं है। मुझे इसके माध्यम से बैकअप पुनर्स्थापित करने में कुछ समस्याएँ हुईं एक नए क्लस्टर पर क्योंकि नोड नाम अलग थे। अगर हम बैकअप की बात करें तो cStor के पास है , जिसके साथ आप एक समय में स्नैपशॉट का ऑफ-साइट बैकअप बना सकते हैं, जो वेलेरो-रेस्टिक के साथ फ़ाइल-स्तरीय बैकअप की तुलना में अधिक सुविधाजनक है। मैंने लिखा , इस प्लगइन के साथ बैकअप और रिस्टोर को प्रबंधित करना आसान बनाने के लिए। कुल मिलाकर, मुझे वास्तव में OpenEBS पसंद है, लेकिन इसका प्रदर्शन...
रूक भी खुला स्रोत है और सूची के बाकी विकल्पों से अलग है क्योंकि यह एक स्टोरेज ऑर्केस्ट्रेटर है जो विभिन्न बैकएंड के साथ जटिल स्टोरेज प्रबंधन कार्य करता है, उदाहरण के लिए , और अन्य, जो कार्य को बहुत सरल बनाता है। जब मैंने कुछ महीने पहले इसे आज़माया तो मुझे EfgeFS से समस्याएँ हुईं, इसलिए मैंने मुख्य रूप से Ceph के साथ परीक्षण किया। सेफ न केवल ब्लॉक स्टोरेज प्रदान करता है, बल्कि एस3/स्विफ्ट और वितरित फ़ाइल सिस्टम के साथ संगत ऑब्जेक्ट स्टोरेज भी प्रदान करता है। सेफ के बारे में मुझे जो पसंद है वह है वॉल्यूम डेटा को कई डिस्क में फैलाने की क्षमता ताकि वॉल्यूम एक डिस्क पर फिट होने की तुलना में अधिक डिस्क स्थान का उपयोग कर सके। यह आरामदायक है। एक और अच्छी सुविधा यह है कि जब आप क्लस्टर में डिस्क जोड़ते हैं, तो यह स्वचालित रूप से सभी डिस्क पर डेटा को पुनर्वितरित करता है।
सेफ के पास स्नैपशॉट हैं, लेकिन जहां तक मुझे पता है, उन्हें सीधे रूक/कुबेरनेट्स में उपयोग नहीं किया जा सकता है। सच है, मैं इसकी गहराई में नहीं गया। लेकिन कोई ऑफ-साइट बैकअप नहीं है, इसलिए आपको वेलेरो/रेस्टिक के साथ कुछ का उपयोग करना होगा, लेकिन केवल फ़ाइल-स्तरीय बैकअप हैं, पॉइंट-इन-टाइम स्नैपशॉट नहीं। रूक के बारे में मुझे वास्तव में जो पसंद आया वह यह था कि सेफ के साथ काम करना कितना आसान है - यह लगभग सभी जटिल चीजों को छुपाता है और समस्या निवारण के लिए सीधे सेफ से बात करने के लिए उपकरण प्रदान करता है। दुर्भाग्य से, सेफ वॉल्यूम के तनाव परीक्षण के दौरान, मुझे समस्याएँ होती रहीं , जिसके कारण सेफ अस्थिर हो जाता है। यह अभी तक स्पष्ट नहीं है कि यह सेफ में ही एक बग है या रूक द्वारा सेफ को प्रबंधित करने के तरीके में कोई समस्या है। मैंने मेमोरी सेटिंग्स के साथ छेड़छाड़ की और यह बेहतर हो गई, लेकिन समस्या पूरी तरह से हल नहीं हुई। सेफ का प्रदर्शन अच्छा है, जैसा कि आप नीचे दिए गए बेंचमार्क में देख सकते हैं। इसमें एक अच्छा डैशबोर्ड भी है.
मुझे वास्तव में लॉन्गहॉर्न पसंद है। मेरी राय में, यह एक आशाजनक समाधान है. सच है, डेवलपर्स स्वयं (रंचर लैब्स) स्वीकार करते हैं कि यह अभी तक कामकाजी माहौल के लिए उपयुक्त नहीं है, और यह दिखाता है। यह खुला स्रोत है और इसका प्रदर्शन अच्छा है (हालाँकि उन्होंने इसे अभी तक अनुकूलित नहीं किया है), लेकिन वॉल्यूम को पॉड से कनेक्ट होने में बहुत लंबा समय लगता है, और सबसे खराब स्थिति में इसमें 15-16 मिनट लगते हैं, खासकर बड़े बैकअप को पुनर्स्थापित करने के बाद या कार्यभार का उन्नयन. इसमें इन स्नैपशॉट के स्नैपशॉट और ऑफ-साइट बैकअप हैं, लेकिन वे केवल वॉल्यूम पर लागू होते हैं, इसलिए आपको अन्य संसाधनों के बैकअप के लिए अभी भी वेलेरो जैसी किसी चीज़ की आवश्यकता होगी। बैकअप और पुनर्स्थापना बहुत विश्वसनीय हैं, लेकिन बेहद धीमी हैं। सच में, बस अविश्वसनीय रूप से धीमी गति से। लॉन्गहॉर्न में मध्यम मात्रा में डेटा के साथ काम करने पर सीपीयू का उपयोग और सिस्टम लोड अक्सर बढ़ जाता है। लॉन्गहॉर्न को प्रबंधित करने के लिए एक सुविधाजनक डैशबोर्ड है। मैं पहले ही कह चुका हूं कि मुझे लॉन्गहॉर्न पसंद है, लेकिन इसके लिए कुछ काम करने की जरूरत है।
स्टोरेजओएस सूची में पहला भुगतान किया गया उत्पाद है। इसका एक डेवलपर संस्करण है जिसमें 500GB का सीमित प्रबंधित स्टोरेज आकार है, लेकिन मुझे नहीं लगता कि नोड्स की संख्या पर कोई सीमा है। बिक्री विभाग ने मुझे बताया कि अगर मुझे ठीक से याद है, तो 125 टीबी के लिए लागत 1 डॉलर प्रति माह से शुरू होती है। एक बुनियादी डैशबोर्ड और एक सुविधाजनक सीएलआई है, लेकिन प्रदर्शन के साथ कुछ अजीब हो रहा है: कुछ बेंचमार्क में यह काफी अच्छा है, लेकिन वॉल्यूम स्ट्रेस टेस्ट में मुझे गति बिल्कुल पसंद नहीं आई। सामान्य तौर पर, मुझे नहीं पता कि क्या कहना है। इसलिए मुझे वास्तव में बहुत कुछ समझ नहीं आया। यहां कोई ऑफ-साइट बैकअप नहीं है और आपको बैकअप वॉल्यूम के लिए रेस्टिक के साथ वेलेरो का भी उपयोग करना होगा। यह अजीब है, क्योंकि उत्पाद का भुगतान किया जाता है। और डेवलपर्स स्लैक पर संवाद करने के लिए उत्सुक नहीं थे।
मैंने रेडिट पर रॉबिन के बारे में उनके तकनीकी निदेशक से सीखा। मैंने उसके बारे में पहले कभी नहीं सुना था। शायद इसलिए क्योंकि मैं मुफ़्त समाधान ढूंढ रहा था, लेकिन रॉबिन को भुगतान किया जाता है। उनके पास 10TB स्टोरेज और तीन नोड्स के साथ एक बहुत ही उदार मुफ्त संस्करण है। कुल मिलाकर, उत्पाद काफी अच्छा है और इसमें अच्छी विशेषताएं हैं। एक बेहतरीन सीएलआई है, लेकिन सबसे अच्छी बात यह है कि आप पूरे एप्लिकेशन को स्नैपशॉट और बैकअप कर सकते हैं (संसाधन चयनकर्ता में इसे हेल्म रिलीज़ या "फ्लेक्स ऐप्स" कहा जाता है), जिसमें वॉल्यूम और अन्य संसाधन शामिल हैं, इसलिए आप वेलेरो के बिना भी ऐसा कर सकते हैं। और सब कुछ अद्भुत होगा यदि एक छोटी सी जानकारी के लिए नहीं: यदि आप एक नए क्लस्टर पर एक एप्लिकेशन को पुनर्स्थापित करते हैं (या "आयात करते हैं", जैसा कि इसे रॉबिन में कहा जाता है) - उदाहरण के लिए, किसी आपदा से उबरने की स्थिति में - बहाली, बेशक, काम करता है, लेकिन एप्लिकेशन का बैकअप जारी रखना मना है। जैसा कि डेवलपर्स ने पुष्टि की है, इस रिलीज़ में यह संभव नहीं है। इसे हल्के ढंग से कहें तो यह अजीब है, खासकर अन्य फायदों को देखते हुए (उदाहरण के लिए, अविश्वसनीय रूप से तेज़ बैकअप और रीस्टोर)। डेवलपर्स अगली रिलीज़ तक सब कुछ ठीक करने का वादा करते हैं। प्रदर्शन आम तौर पर अच्छा होता है, लेकिन मैंने एक विचित्रता देखी: यदि मैं बेंचमार्क को सीधे होस्ट से जुड़े वॉल्यूम पर चलाता हूं, तो पढ़ने की गति पॉड के भीतर से समान वॉल्यूम चलाने की तुलना में बहुत तेज है। अन्य सभी परिणाम समान हैं, लेकिन सिद्धांत रूप में कोई अंतर नहीं होना चाहिए। हालाँकि वे इस पर काम कर रहे हैं, मैं पुनर्स्थापना और बैकअप की समस्या से परेशान था - मुझे लगा कि आखिरकार मुझे एक उपयुक्त समाधान मिल गया है, और जब मुझे अधिक स्थान या अधिक सर्वर की आवश्यकता होगी तो मैं इसके लिए भुगतान करने को भी तैयार था।
मेरे पास यहाँ कहने के लिए बहुत कुछ नहीं है। यह एक सशुल्क उत्पाद है, उतना ही बढ़िया और महंगा भी। प्रदर्शन बिल्कुल अद्भुत है. यह अब तक का सबसे अच्छा संकेतक है. स्लैक ने मुझे बताया कि मूल्य निर्धारण $205 प्रति माह प्रति नोड से शुरू होता है, जैसा कि Google के GKE मार्केटप्लेस में सूचीबद्ध है। मुझे नहीं पता कि अगर आप सीधे खरीदेंगे तो यह सस्ता होगा या नहीं। मैं वैसे भी इसे बर्दाश्त नहीं कर सकता, इसलिए मुझे बहुत निराशा हुई कि डेवलपर लाइसेंस (1 टीबी और 3 नोड्स तक) कुबेरनेट्स के साथ व्यावहारिक रूप से बेकार है जब तक कि आप स्थिर प्रावधान से संतुष्ट नहीं होते। मैं उम्मीद कर रहा था कि परीक्षण अवधि के अंत में वॉल्यूम लाइसेंस स्वचालित रूप से डेवलपर के लिए डाउनग्रेड हो जाएगा, लेकिन ऐसा नहीं हुआ। डेवलपर लाइसेंस का उपयोग केवल सीधे डॉकर के साथ किया जा सकता है, और कुबेरनेट्स में कॉन्फ़िगरेशन बहुत बोझिल और सीमित है। बेशक, मैं ओपन सोर्स पसंद करता हूं, लेकिन अगर मेरे पास पैसा होता, तो मैं निश्चित रूप से पोर्टवर्क्स चुनता। अब तक, इसके प्रदर्शन की तुलना अन्य विकल्पों से नहीं की जा सकती है।
पोस्ट प्रकाशित होने के बाद, जब एक पाठक ने लिन्स्टोर को आज़माने का सुझाव दिया, तो मैंने यह सेक्शन जोड़ा। मैंने इसे आज़माया और मुझे यह पसंद आया! लेकिन मुझे अभी और जानकारी जुटानी है। फिलहाल, मैं कह सकता हूँ कि इसका प्रदर्शन काफी अच्छा है (मैंने नीचे बेंचमार्क परिणाम दिए हैं)। वास्तव में, मुझे बिना किसी अतिरिक्त भार के डायरेक्ट डिस्क बेंचमार्क के समान प्रदर्शन मिला। (यह मत पूछिए कि पोर्टवॉर्क्स के परिणाम डायरेक्ट डिस्क बेंचमार्क से बेहतर क्यों हैं। मुझे इसका कोई अंदाज़ा नहीं है। शायद कोई जादू है।) तो, लिन्स्टोर अब तक काफी प्रभावी प्रतीत होता है। इसे सेट अप करना उतना मुश्किल नहीं है, लेकिन अन्य विकल्पों जितना आसान भी नहीं है। सबसे पहले, मुझे लिन्स्टोर (कर्नेल मॉड्यूल और टूल्स/सेवाएं) इंस्टॉल करना पड़ा और Kubernetes के बाहर, सीधे होस्ट पर थिन प्रोविज़निंग और स्नैपशॉट सपोर्ट के लिए LVM सेट अप करना पड़ा, और फिर Kubernetes से स्टोरेज का उपयोग करने के लिए आवश्यक संसाधन बनाने पड़े। मुझे इस बात से निराशा हुई कि यह काम नहीं कर रहा था। CentOS और उपयोग करना पड़ा Ubuntuयह कोई बड़ी बात नहीं है, लेकिन थोड़ी परेशानी तो है क्योंकि डॉक्यूमेंटेशन (जो वैसे तो बहुत बढ़िया है) में कई ऐसे पैकेज का ज़िक्र है जो बताए गए Epel रिपॉज़िटरी में उपलब्ध नहीं हैं। Linstor में स्नैपशॉट तो हैं, लेकिन ऑफ-साइट बैकअप नहीं, इसलिए वॉल्यूम बैकअप के लिए मुझे Velero और Restic का दोबारा इस्तेमाल करना पड़ा। मुझे फ़ाइल-लेवल बैकअप के बजाय स्नैपशॉट ज़्यादा पसंद हैं, लेकिन अगर सॉल्यूशन परफ़ॉर्मेंट और भरोसेमंद हो तो यह बात बर्दाश्त की जा सकती है। Linstor ओपन सोर्स है, लेकिन इसकी पेड सपोर्ट भी है। अगर मैं सही समझ रहा हूँ, तो आप बिना किसी सपोर्ट कॉन्ट्रैक्ट के भी इसका इस्तेमाल कर सकते हैं, लेकिन मुझे इसकी जाँच करनी होगी। मुझे नहीं पता कि Kubernetes के लिए Linstor का कितना परीक्षण किया गया है, लेकिन स्टोरेज लेयर खुद Kubernetes से बाहर है, और ऐसा लगता है कि यह काफ़ी समय से मौजूद है, इसलिए शायद इसे असल दुनिया की स्थितियों में परखा जा चुका है। क्या यहाँ कोई ऐसा सॉल्यूशन है जिससे मैं अपना विचार बदल लूँ और Kubernetes पर वापस लौट जाऊँ? मुझे नहीं पता। मुझे थोड़ा और गहराई से अध्ययन करना होगा और प्रतिकृति के बारे में सीखना होगा। देखते हैं क्या होता है। लेकिन पहली छाप अच्छी है। अधिक स्वतंत्रता और नई चीजें सीखने के लिए मैं निश्चित रूप से हेरोकू के बजाय अपने खुद के कुबेरनेट्स क्लस्टर का उपयोग करना पसंद करूंगा। चूंकि लिन्स्टोर को स्थापित करना दूसरों की तरह आसान नहीं है, इसलिए मैं जल्द ही इसके बारे में एक पोस्ट लिखूंगा।
मानक
दुर्भाग्य से, मैंने तुलना के बारे में अधिक नोट्स नहीं रखे क्योंकि मैंने नहीं सोचा था कि मैं इसके बारे में लिखूंगा। मेरे पास केवल बुनियादी फ़ियो बेंचमार्क से परिणाम हैं और केवल एकल नोड क्लस्टर के लिए, इसलिए मेरे पास अभी तक प्रतिकृति कॉन्फ़िगरेशन के लिए संख्याएं नहीं हैं। लेकिन इन परिणामों से आप एक मोटा अंदाजा लगा सकते हैं कि प्रत्येक विकल्प से क्या उम्मीद की जाए, क्योंकि मैंने उनकी तुलना समान क्लाउड सर्वर, 4 कोर, 16 जीबी रैम, परीक्षण किए गए वॉल्यूम के लिए अतिरिक्त 100 जीबी डिस्क के साथ की है। मैंने प्रत्येक समाधान के लिए बेंचमार्क को तीन बार चलाया और औसत परिणाम की गणना की, साथ ही मैंने प्रत्येक उत्पाद के लिए सर्वर सेटिंग्स को रीसेट किया। यह सब पूरी तरह से अवैज्ञानिक है, बस आपको एक सामान्य विचार देने के लिए। अन्य परीक्षणों में, मैंने पढ़ने और लिखने का परीक्षण करने के लिए वॉल्यूम से 38 जीबी फ़ोटो और वीडियो कॉपी किए, लेकिन, अफसोस, मैंने संख्याएं नहीं सहेजीं। संक्षेप में: पोर्टवर्कएक्स बहुत तेज़ था।
वॉल्यूम बेंचमार्क के लिए मैंने इस मेनिफेस्ट का उपयोग किया:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: dbench
spec:
storageClassName: ...
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
---
apiVersion: batch/v1
kind: Job
metadata:
name: dbench
spec:
template:
spec:
containers:
- name: dbench
image: sotoaster/dbench:latest
imagePullPolicy: IfNotPresent
env:
- name: DBENCH_MOUNTPOINT
value: /data
- name: FIO_SIZE
value: 1G
volumeMounts:
- name: dbench-pv
mountPath: /data
restartPolicy: Never
volumes:
- name: dbench-pv
persistentVolumeClaim:
claimName: dbench
backoffLimit: 4मैंने पहले उपयुक्त स्टोरेज क्लास के साथ एक वॉल्यूम बनाया और फिर पर्दे के पीछे फियो के साथ काम चलाया। मैंने प्रदर्शन का अनुमान लगाने के लिए 1 जीबी लिया और बहुत लंबा इंतजार नहीं किया। यहाँ परिणाम हैं:
मैंने प्रत्येक मीट्रिक के लिए सर्वोत्तम मान को हरे रंग में और सबसे खराब को लाल रंग में हाइलाइट किया है।
निष्कर्ष
जैसा कि आप देख सकते हैं, ज्यादातर मामलों में पोर्टवर्क्स ने दूसरों की तुलना में बेहतर प्रदर्शन किया। लेकिन मेरे लिए यह महंगा है. मुझे नहीं पता कि रॉबिन की लागत कितनी है, लेकिन उनके पास एक बेहतरीन मुफ़्त संस्करण है, इसलिए यदि आप एक सशुल्क उत्पाद चाहते हैं, तो आप इसे आज़मा सकते हैं (उम्मीद है कि वे जल्द ही पुनर्स्थापना और बैकअप के साथ समस्या को ठीक कर देंगे)। तीन मुफ़्त में से, मुझे OpenEBS के साथ सबसे कम समस्याएँ हुईं, लेकिन इसका प्रदर्शन निराशाजनक है। यह अफ़सोस की बात है कि मैंने अधिक परिणाम सहेजे नहीं, लेकिन मुझे उम्मीद है कि संख्याएँ और मेरी टिप्पणियाँ आपकी मदद करेंगी।
स्रोत: www.habr.com
