हमें हाल ही में Redis तकनीकी भागीदार कार्यक्रम में शामिल होने के एक कदम के रूप में Helios और Redis Enterprise के बीच एकीकरण को सत्यापित करने के लिए Cohesity टीम के साथ काम करने का अवसर मिला है। कोहेसिटी स्मार्टफाइल्स, एक सेवा जो हेलिओस पर चलती है, असंरचित डेटा का एकल दृश्य और वैश्विक प्रबंधन प्रदान करती है, भले ही डेटा कहीं भी हो। Redis Enterprise के संदर्भ में, SmartFiles डेटाबेस स्नैपशॉट का एकल दृश्य प्रदान करता है।
हम दृढ़ता और बैकअप से परेशान क्यों हैं? यह सच है:यदि रेडिस को कैश के रूप में उपयोग किया जाता है और बैकएंड डेटाबेस से न्यूनतम सिस्टम प्रभाव के साथ पुनर्जलीकरण किया जा सकता है, तो इसकी कोई आवश्यकता नहीं है। दूसरी ओर, विचार करें कि जब रेडिस का उपयोग एक परिचालन डेटाबेस के रूप में किया जाता है, तो यह धीमे डेटा तक तेजी से पहुंच प्रदान करता है (सोचें:लेनदेन इतिहास, इन्वेंट्री काउंट, ग्राहक लुकअप)। Redis डेटाबेस को हार्डवेयर समस्याओं या यहां तक कि किसी अन्य डेटासेंटर में फ़ेलओवर से शीघ्रता से पुनर्प्राप्त करने की आवश्यकता है।
दृढ़ता
रेडिस डेटाबेस में सभी डेटा को विशेष रूप से रैम या रैम + फ्लैश मेमोरी (फ्लैश पर रेडिस) में संग्रहीत और प्रबंधित किया जाता है; यह एक प्रक्रिया या सर्वर विफलता पर खो जाने का जोखिम है। इस जोखिम को कम करने के लिए कई रणनीतियों का पालन किया जा सकता है:प्राथमिक और माध्यमिक डेटा शार्क के साथ उच्च उपलब्धता (एचए) डेटाबेस, भू-वितरित सक्रिय-सक्रिय डेटाबेस, और निश्चित रूप से डिस्क आधारित दृढ़ता। प्रदर्शन के दृष्टिकोण से, प्राथमिक डेटाबेस शार्ड से सिंक्रनाइज़ किए गए द्वितीयक डेटाबेस शार्ड में फ़ेलओवर को हमेशा प्राथमिकता दी जाती है, और इस तरह Redis Enterprise काम करता है; केवल जब प्राथमिक और द्वितीयक शार्ड खो जाते हैं तो डिस्क से डेटाबेस को पुनर्स्थापित किया जाता है। इसी तरह, डेटासेंटर की विफलता के मामले में, किसी अन्य डेटा सेंटर में एक सिंक्रनाइज़ सक्रिय-सक्रिय डेटाबेस में विफल होने पर डिस्क से पुनर्प्राप्त करने की तुलना में तेज़ होगा।
दृढ़ता के प्रश्न के लिए, Redis बेहतर स्थायित्व के लिए केवल संलग्न फाइलों (एओएफ) का समर्थन करता है, हालांकि अधिक संसाधनों और स्नैपशॉट्स (आरडीबी) की आवश्यकता होती है, जो कम संसाधनों की आवश्यकता होने पर कम टिकाऊ होते हैं। जैसा कि सभी चीजों के साथ होता है, ऐसे ट्रेडऑफ हैं जिन्हें रेडिस एंटरप्राइज प्रलेखन में और अधिक खोजा जा सकता है। इस लेख के प्रयोजनों के लिए, हम मानेंगे कि हम बेहतर स्थायित्व के लिए AOF चाहते हैं।
बैकअप
जब प्राथमिक और द्वितीयक डेटाबेस शार्ड खो जाते हैं तो Redis Enterprise पुनर्प्राप्ति के लिए दृढ़ता पर निर्भर करता है। यदि सक्रिय-सक्रिय का उपयोग नहीं किया जाता है और संलग्न भंडारण के साथ डेटाबेस वाले रैक खो जाते हैं, तो हमारे पास बैकअप से पुनर्स्थापित करने के साथ छोड़ दिया जाता है। रेडिस एंटरप्राइज के मामले में, बैकअप हमेशा एक स्नैपशॉट होता है, जो दृढ़ता के लिए एओएफ के साथ मिलकर एक लचीला और टिकाऊ डेटा प्लेटफॉर्म बनाता है।
यह वह जगह है जहां कोहेसिटी स्मार्टफाइल खेल में आती है; रेडिस एंटरप्राइज क्लाउड में प्रबंधित बैकअप के लिए स्मार्टफाइल्स द्वारा आसानी से प्रदान किए गए एस3 संगत एंडपॉइंट का उपयोग करता है। इसे स्थापित करने के लिए, हम निम्नलिखित मान्यताओं के साथ Redis Enterprise REST API का उपयोग करते हैं:
- $USER और $PASS क्रमशः Redis Enterprise व्यवस्थापक उपयोगकर्ता नाम और पासवर्ड पर सेट हैं
- $ACCESS_KEY और $SECRET_KEY क्रमशः S3 ऑब्जेक्ट स्टोर एक्सेस कुंजी और गुप्त कुंजी सेट हैं
डेटाबेस दृढ़ता सक्षम करें।
curl -s -k -u $USER:$PASS -H content-type:application/json -XPUT https://localhost:9443/v1/bdbs/1 -d '{"data_persistence": "aof"}'
S3 URL सेट करके S3 ऑब्जेक्ट स्टोर का उपयोग करने के लिए क्लस्टर को कॉन्फ़िगर करें। ध्यान दें कि बाल्टी का नाम S3 URL में शामिल नहीं है।
curl -s -k -u $USER:$PASS -H content-type:application/json -X PUT https://localhost:9443/v1/cluster -d '{"s3_url": '\"$S3_IP\"'}'
केवल गोपनीयता के लिए क्लस्टर S3 बैकअप कॉन्फ़िगर करें।
curl -s -k -u $USER:$PASS -H content-type:application/json -X PUT https://localhost:9443/v1/cluster -d '{"s3_certificate_verification":false}'
बैकअप स्थान सत्यापित करें। ध्यान दें कि सफलता पर एकमात्र प्रतिक्रिया HTTP 200 OK है।
curl -s -k -u $USER:$PASS -H content-type:application/json -X POST https://localhost:9443/v1/bdbs/actions/validate_backup_location -d '{"backup_location": {"type": "s3", "bucket_name": '\"$BUCKET\"', "subdir": "","access_key_id": '\"$ACCESS_KEY\"', "secret_access_key": '\"$SECRET_KEY\"'}}'
एक बैकअप बनाएं। ध्यान दें कि सफलता पर एकमात्र प्रतिक्रिया HTTP 200 OK है।
curl -s -k -u $USER:$PASS -H content-type:application/json -X POST https://localhost:9443/v1/bdbs/1/actions/export -d '{"export_location": {"type": "s3", "bucket_name": '\"$BUCKET\"', "subdir": "", "access_key_id": '\"$ACCESS_KEY\"', "secret_access_key": '\"$SECRET_KEY\"'}}'
हर 30 मिनट में एक आवर्ती बैकअप कॉन्फ़िगर करें। ध्यान दें कि सफलता पर एकमात्र प्रतिक्रिया HTTP 200 OK है।
curl -s -k -u $USER:$PASS -H content-type:application/json -X PUT https://localhost:9443/v1/bdbs/1 -d '{"backup":true, "backup_interval":1800, "backup_interval_offset":360, "backup_location": {"type": "s3", "bucket_name": '\"$BUCKET\"', "subdir": "", "access_key_id": '\"$ACCESS_KEY\"', "secret_access_key": '\"$SECRET_KEY\"'}}'
अंतिम विचार
एक घर्षण रहित दुनिया में, HA और Active-Active के साथ कॉन्फ़िगर किया गया Redis Enterprise आपको दृढ़ता और बैकअप के बारे में चिंता करने से बचाता है। हम एक घर्षण रहित दुनिया में नहीं रहते हैं और हमें दृढ़ता और बैकअप (HA के साथ) दोनों की आवश्यकता होती है जब Redis को सिस्टम विफलताओं से उबरने की उम्मीद होती है। S3 बैकअप एंडपॉइंट देखना आम बात है जैसा कि Dell EMC, NetApp, या Pure Storage की पसंद के उपकरण प्रसाद द्वारा देखा जा सकता है। सौभाग्य से, कोहेसिटी स्मार्टफाइल्स के साथ सत्यापित एकीकरण इस समापन बिंदु का उपयोग करना और परिचालन रणनीतियों में बैकअप को शामिल करना आसान बनाता है।