MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

ClusterControl - उन्नत बैकअप प्रबंधन - MongoDB

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

MongoDB साल दर साल अधिक लोकप्रिय होता गया है। कई कंपनियों ने अपने डेटाबेस में से एक के रूप में MongoDB का उपयोग करना शुरू कर दिया है। सुविधाओं में से एक और शायद यही कारण है कि मोंगोडीबी लोकप्रिय है इसकी गति के कारण है और मोंगोडीबी स्केल करना आसान है। MongoDB ClusterControl में समर्थित डेटाबेस में से एक है। आप क्लस्टरकंट्रोल के साथ तैनाती, आयात, स्केल और बैकअप भी कर सकते हैं। इस ब्लॉग पोस्ट में, हम MongoDB रेप्लिका सेट और शार्प्ड क्लस्टर के लिए उन्नत बैकअप सुविधा के बारे में जानेंगे।

MongoDB बैकअप प्रकार

MongoDB तार्किक और भौतिक बैकअप दोनों का समर्थन करता है। इसके अलावा, MongoDB पॉइंट इन टाइम रिकवरी (PITR) का भी समर्थन करता है। आइए देखें कि सभी 3 प्रकार के बैकअप में क्या अंतर है।

तार्किक बैकअप

मोंगोडंप

यह उपयोगिता डेटाबेस की सामग्री का बाइनरी एक्सपोर्ट बनाएगी। इतना ही नहीं, mongodump या तो mongod या mongos उदाहरणों से डेटा निर्यात कर सकता है, स्टैंडअलोन, प्रतिकृति सेट और शार्प क्लस्टर परिनियोजन से डेटा निर्यात कर सकता है

भौतिक बैकअप

NA

MongoDB में भौतिक बैकअप केवल सिस्टम स्तर पर ही किया जा सकता है। इस समय, ClusterControl में कोई भौतिक बैकअप उपलब्ध नहीं है। जिस तरह से भौतिक बैकअप काम करता है वह LVM या भंडारण उपकरण पर एक स्नैपशॉट बनाकर होता है।

PITR

MongoDB के लिए Percona बैकअप

MongoDB के लिए Percona बैकअप इनहेरिट किया गया है और mongodb_consistent_backup को प्रतिस्थापित करता है, जो पहले से ही बहिष्कृत है। यह MongoDB शार्प क्लस्टर और प्रतिकृति सेट दोनों के लिए लगातार बैकअप प्राप्त करने के लिए एक वितरित, कम प्रभाव वाला समाधान है। इस प्रकार का बैकअप तार्किक है लेकिन साथ ही यह PITR बैकअप के रूप में कार्य कर सकता है।

अब जब हम जानते हैं कि बैकअप प्रकार में क्या अंतर है।

MongoDB बैकअप प्रबंधन

ClusterControl आपको वास्तविक समय में बैकअप बनाने के साथ-साथ इसे अपने इच्छित शेड्यूल पर शेड्यूल करने की अनुमति देता है। एक बात ध्यान देने योग्य है, यदि आप शेड्यूल करना चाहते हैं, तो ClusterControl UTC टाइमज़ोन का उपयोग करेगा। इसलिए आपको सही समय चुनने की जरूरत है जो आपके समय क्षेत्र के अनुकूल हो ताकि शेड्यूल कम व्यस्त समय पर चले।

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

MongoDB लॉजिकल बैकअप

आइए तार्किक बैकअप के साथ शुरू करते हैं। सुविधा अपलोड करने से पहले क्लाउड पर बैकअप का उपयोग किया जा सकता है, आपको इसे अपने पसंदीदा क्लाउड प्रदाता के साथ एकीकृत करने की आवश्यकता है। हमारे मामले के लिए, हम इसे AWS क्लाउड के साथ एकीकृत करेंगे। संपूर्ण AWS एकीकरण करने के लिए, आप निम्न चरणों का पालन कर सकते हैं:

  • AWS प्रबंधन कंसोल में AWS खाता रूट उपयोगकर्ता के रूप में साइन इन करने के लिए अपने AWS खाते के ईमेल पते और पासवर्ड का उपयोग करें ।

  • IAM डैशबोर्ड पेज पर, नेविगेशन बार में अपने खाते का नाम चुनें, और फिर मेरी सुरक्षा क्रेडेंशियल चुनें।

  • यदि आप अपने AWS खाते के लिए सुरक्षा क्रेडेंशियल तक पहुंचने के बारे में कोई चेतावनी देखते हैं, तो सुरक्षा क्रेडेंशियल जारी रखें चुनें।

  • एक्सेस कुंजियां (एक्सेस कुंजी आईडी और गुप्त एक्सेस कुंजी) अनुभाग विस्तृत करें।

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

यह मानते हुए कि आपके पास पहले से ही MongoDB क्लस्टर तैयार है, हम अपनी बैकअप प्रक्रिया शुरू करेंगे। सबसे पहले, MongoDB क्लस्टर पर जाएं -> बैकअप -> बैकअप बनाएं

अगले पृष्ठ पर, आप निर्दिष्ट कर सकते हैं कि या तो एन्क्रिप्शन सक्षम करना चाहते हैं या नहीं। एन्क्रिप्शन के लिए, ClusterControl AES-256 CBC एल्गोरिथम का उपयोग करके बैकअप को एन्क्रिप्ट करने के लिए OpenSSL का उपयोग करेगा। एन्क्रिप्शन बैकअप नोड पर होता है। यदि आप बैकअप को कंट्रोलर नोड पर संग्रहीत करना चुनते हैं, तो बैकअप फ़ाइलों को एन्क्रिप्टेड प्रारूप में socat या netcat के माध्यम से स्ट्रीम किया जाता है। एन्क्रिप्शन को उन्नत बैकअप सुविधाओं में से एक माना जाता है जिसका उपयोग किया जा सकता है, इसलिए हमारे मामले में, हम इस विकल्प को सक्षम करेंगे। आप इस पृष्ठ पर अपने बैकअप की अवधारण अवधि को भी परिभाषित कर सकते हैं। हमारे मामले के लिए, हम 31 दिनों की डिफ़ॉल्ट सेटिंग का उपयोग करेंगे।

तीसरे पृष्ठ पर, आपको क्लाउड प्रदाता के लिए लॉगिन निर्दिष्ट करना होगा , बकेट चुनें/बनाएं। आप अपने क्लाउड बैकअप के लिए अवधारण भी निर्दिष्ट कर सकते हैं, डिफ़ॉल्ट सेटिंग 180 दिन है।

एक बार जब आप बैकअप बनाएं बटन पर क्लिक करते हैं, तो काम तुरंत शुरू हो जाएगा और आपके डेटाबेस आकार के आधार पर कुछ समय लगेगा। वहीं, बैकअप को क्लाउड स्टोरेज (AWS) पर अपलोड किया जाएगा। आप देख सकते हैं कि बैकअप पूरा होने के बाद "कुंजी" और "क्लाउड" आइकन हाइलाइट किए गए हैं:

अब जब आपके पास बैकअप तैयार है, तो बैकअप को पुनर्स्थापित करने के लिए चरण है बहुत आसान। आपको बस इतना करना है कि "रिस्टोर" लिंक पर क्लिक करें और रिस्टोर पेज पर "फिनिश" बटन पर क्लिक करें जैसे निम्न:

MongoDB PITR बैकअप

जैसा कि पहले उल्लेख किया गया है, MongoDB के लिए Percona बैकअप एक PITR बैकअप प्रकार है। इससे पहले कि आप इस बैकअप प्रकार का उपयोग कर सकें, आपको सभी MongoDB नोड्स/इंस्टेंस पर एजेंट (pbm-agent) को स्थापित करने की आवश्यकता है। इससे पहले, आपको सभी नोड्स पर एक साझा निर्देशिका को भी माउंट करने की आवश्यकता है। आइए शुरू करें!

सबसे पहले, आपको NFS सर्वर को कॉन्फ़िगर करने की आवश्यकता है। NFS सर्वर को स्थापित करने के लिए, आपको किसी वर्चुअल मशीन को चुनने या परिनियोजित करने की आवश्यकता है, हमारे मामले के लिए हम NFS सर्वर को ClusterControl नोड (Centos) में स्थापित करेंगे:

[[email protected] ~]# dnf nfs-utils इंस्टॉल करें

एनएफएस उपयोगिता स्थापित हो जाने के बाद, आप सेवा शुरू कर सकते हैं और इसे सिस्टम बूट पर सक्षम कर सकते हैं:

[[email protected] ~]# # systemctl start nfs-server.service

[[email protected] ~]# # systemctl nfs-server.service सक्षम करें

[[email protected] ~]# # systemctl स्थिति nfs-server.service

अगला चरण /etc/निर्यात फ़ाइल को कॉन्फ़िगर करना है ताकि निर्देशिका को NFS क्लाइंट द्वारा एक्सेस किया जा सके:

[[email protected] ~]# vi /etc/exports

/mnt/बैकअप                  10.10.80.10(rw,sync,no_root_squash,no_subtree_check)

क्लाइंट नोड में जो हमारा डेटाबेस नोड है, हमें आवश्यक एनएफएस पैकेज भी स्थापित करने की आवश्यकता है:

[[email protected] ~]# dnf nfs-utils nfs4-acl-tools इंस्टॉल करें

एक बार संकुल संस्थापित हो जाने के बाद, हम निर्देशिका बना सकते हैं और उसे माउंट कर सकते हैं:

[[email protected] ~]# mkdir -p /mnt/backups

[[email protected] ~]# माउंट -t nfs 10.10.80.10:/mnt/बैकअप /mnt/बैकअप

pbm-agent को स्थापित करने के लिए सभी डेटाबेस नोड्स पर माउंट करना सुनिश्चित करें। यह देखते हुए कि सभी नोड्स में पहले से ही एनएफएस माउंटेड डायरेक्टरी है, हम अब एजेंट को स्थापित करने के लिए आगे बढ़ेंगे। MongoDB क्लस्टर पर जाएँ -> बैकअप -> सेटिंग्स -> पेरकोना बैकअप

एक बार जब आप परकोना बैकअप स्थापित करें बटन पर क्लिक करते हैं, तो निम्न स्क्रीन दिखाई देगी . यहां, आपको साझा निर्देशिका निर्दिष्ट करने की आवश्यकता है। दोबारा, कृपया सुनिश्चित करें कि निर्देशिका आपके सभी MongoDB नोड्स में माउंट की गई है। एक बार बैकअप निर्देशिका निर्दिष्ट हो जाने के बाद, आप इंस्टाल करें बटन पर क्लिक कर सकते हैं और इंस्टालेशन के पूरा होने की प्रतीक्षा कर सकते हैं।

सफल इंस्टॉलेशन निम्न स्क्रीनशॉट की तरह होना चाहिए। अब हम बैकअप प्रक्रिया के साथ आगे बढ़ सकते हैं:

पेरकोना बैकअप का उपयोग करके बैकअप बनाने के लिए, चरण सरल हैं। दुर्भाग्य से, आप इस पद्धति का उपयोग करके बैकअप को एन्क्रिप्ट करने के विकल्प का उपयोग नहीं कर सके। क्लाउड पर अपलोड करने के लिए सुविधा का उपयोग करने के लिए, आपको बैकअप प्रकार चुनने से पहले विकल्प को सक्षम करना होगा अन्यथा आपका बैकअप अपलोड नहीं किया जाएगा। आप देखेंगे कि "पेरकोना-बैकअप-मोंगोडब" चुनने के बाद अपलोड सुविधा गायब हो जाएगी।

दूसरे पृष्ठ पर आप स्थानीय प्रतिधारण निर्दिष्ट कर सकते हैं:

अंतिम पृष्ठ के लिए, आप क्लाउड विवरण और अवधारण जैसे निर्दिष्ट कर सकते हैं पिछले उदाहरण में। पुनर्स्थापना प्रक्रिया पिछले उदाहरण के समान ही है, आपको केवल "पुनर्स्थापना" लिंक पर क्लिक करना है और पुनर्स्थापना पृष्ठ पर दिए गए चरणों का पालन करना है:

निष्कर्ष

ClusterControl के साथ, आप अपने MongoDB बैकअप को क्लाउड पर बना और अपलोड कर सकते हैं। क्लाउड पर अपलोड करना MongoDB के लिए नई और उन्नत सुविधाओं में से एक है जिसे ClusterControl 1.9.0 के साथ शुरू किया गया है, जिससे क्लाउड प्रदाता को एकीकरण सफलतापूर्वक किया गया है। यदि आप अपने बैकअप की सुरक्षा करना चाहते हैं, तो आप ClusterControl का उपयोग करके अपने बैकअप को एन्क्रिप्ट भी कर सकते हैं।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB सरणी तत्वों द्वारा दस्तावेज़ों को सॉर्ट करता है

  2. डोकर के साथ MongoDB पहले कनेक्ट पर सर्वर [लोकलहोस्ट:27017] से कनेक्ट करने में विफल रहा

  3. mongodb में $match _id . में एग्रीगेट का उपयोग कैसे करें

  4. FindOneAndUpdate और अद्यतन का नेवला अंतर

  5. MongoDB 3.2 प्रमाणीकरण विफल