ओपन एडएक्स एमआईटी और हार्वर्ड टीम द्वारा विकसित ऑनलाइन सीखने के लिए एक ओपन सोर्स प्रोजेक्ट है। यह एक वेब आधारित एप्लिकेशन है जिसमें बहुत सारे घटक होते हैं जैसे छात्र का सामना करना, पाठ्यक्रम संलेखन, पाठ्यक्रम वितरण और सामग्री प्रबंधन।
ओपन एडएक्स पायथन में बनाया गया है और एक वेब ढांचे के रूप में Django का उपयोग करता है। यह एक डेटाबेस बैकएंड के रूप में MongoDB का उपयोग करता है। ओपन एडएक्स वातावरण का निर्माण और स्थापना करते समय, किसी को सेवा के अपटाइम के बारे में सोचने की जरूरत है क्योंकि मंच का व्यापक रूप से छात्र और शिक्षार्थी द्वारा एक खुले मंच के रूप में उपयोग किया जाता है।
मोंगोडीबी डेटाबेस के लिए एप्लिकेशन सर्वर के अलावा भी उच्च उपलब्धता जरूरी है। डिजास्टर रिकवरी के लिए, एक साउंड बैकअप रणनीति महत्वपूर्ण है ताकि आप जान सकें कि अगर वास्तव में कुछ गलत होता है तो आप डेटा को पुनर्स्थापित कर सकते हैं।
इस ब्लॉग में, हम समीक्षा करेंगे कि आपके ओपन edX MongoDB डेटाबेस का बैकअप कैसे लिया जाए।
बैकअप स्टोरेज तैयार करना
सबसे पहले हमें MongoDB बैकअप के लिए स्टोरेज तैयार करने की आवश्यकता है। आप ओपन एडएक्स सेवाओं के समान बुनियादी ढांचे पर बैकअप को चरणबद्ध कर सकते हैं, और फिर उन्हें ऑफसाइट संग्रहित कर सकते हैं। आप स्टोरेज एरिया नेटवर्क (सैन) या नेटवर्क अटैच्ड स्टोरेज का उपयोग कर सकते हैं जहां इसे मोंगोडीबी सर्वरों में से एक पर रखा गया है। AWS आपके बैकअप को संग्रहीत करने के लिए S3 नामक एक सरल संग्रहण सेवा प्रदान करता है, जबकि Google क्लाउड प्लेटफ़ॉर्म में क्लाउड संग्रहण है।
यह मांग पर सेवा है और मूल्य निर्धारण मॉडल आपके बैकअप के प्रति जीबी आकार पर आधारित है। सुरक्षा के लिए, कम से कम आप अपने Open edX डेटाबेस बैकअप को 2 अलग-अलग क्षेत्रों में रख सकते हैं; जो आपके आधार पर और क्लाउड पर है।
MongoDB के लिए मैन्युअल बैकअप
आमतौर पर MongoDB डेटाबेस के लिए बैकअप mongodump उपयोगिता का उपयोग कर रहा है जो कि जब आप MongoDB सर्वर स्थापित करते हैं तो बंडल किया जाता है। आप MongoDB सर्वर में से किसी एक में बैकअप ले सकते हैं, बस नीचे दिखाए अनुसार mongodump चलाएँ:
$ mongodump --db edxapp --out /backups/open-edx/`date +"%m-%d-%y"`
2021-01-11T11:23:42.541-0500 writing edxapp.module to /backups/open-edx/01-11-21/edxapp/module.bson
2021-01-11T11:23:42.878-0500 writing edxapp.module metadata to /backups/open-edx/01-11-21/newdb/module.metadata.json
2021-01-11T11:23:42.923-0500 done dumping edxapp.module (25359 documents)
2021-01-11T11:23:42.945-0500 writing newdb.system.indexes to /backups/open-edx/01-11-21/edxapp/system.indexes.bson
……
यह MongoDB होस्ट पर एक बैकअप बनाएगा, आपके पास बैकअप फ़ाइलों को किसी अन्य स्टोरेज में ले जाने के लिए एक स्क्रिप्ट हो सकती है।
ClusterControl का उपयोग करके Open edX के लिए MongoDB का बैकअप लें
ClusterControl आपके Open edX प्लेटफॉर्म के लिए MongoDB बैकअप का समर्थन करता है। यह मोंगोडम्प का समर्थन करता है और हमने अभी पीबीएम (मोंगोडीबी के लिए पेरकोना बैकअप) नामक एक नई बैकअप विधि के लिए समर्थन जोड़ा है, जो कि मोंगोडीबी क्लस्टर के लिए अधिक उपयुक्त होगा। ClusterControl में mongodump का उपयोग करके बैकअप लेना GUI-आधारित विज़ार्ड का उपयोग करना बहुत आसान है। बैकअप टैब चुनें और फिर बैकअप बनाएं। आप दो विकल्प चुन सकते हैं, आप तुरंत एक बैकअप बना सकते हैं या आप बैकअप शेड्यूल कर सकते हैं।
और फिर जारी रखें पर क्लिक करें:
एक बैकअप विधि के रूप में mongodump चुनें, और फिर वह स्थान निर्देशिका लिखें जहां आप बैकअप रखना चाहते हैं। इस चरण में, आप स्टोरेज एरिया नेटवर्क या नेटवर्क अटैच्ड स्टोरेज का उपयोग कर सकते हैं जो आपके MongoDB सर्वर पर आरोहित है।
ClusterControl भी क्लाउड के बैकअप का समर्थन करता है, वर्तमान में हम Amazon Web Services (AWS), Google Cloud Platform और Microsoft Azure का समर्थन करते हैं।
आप अपने बैकअप के लिए एन्क्रिप्शन को भी सक्षम कर सकते हैं, यह विशेष रूप से महत्वपूर्ण है यदि आप बादल में संग्रह कर रहे हैं। इसके बाद, बस बैकअप बनाएं दबाएं, यह बैकअप के लिए एक नया कार्य ट्रिगर करेगा जैसा कि नीचे दिखाया गया है:
आप अपने MongoDB प्रतिकृति के लगातार बैकअप के लिए MongoDB के लिए Percona बैकअप का भी उपयोग कर सकते हैं और साझा क्लस्टर.. बस बैकअप विधि के रूप में percona-backup-mongodb का चयन करें, इसके लिए आपको प्रत्येक नोड पर एक एजेंट स्थापित करना होगा और प्रत्येक MongoDB नोड पर माउंट किए जाने के लिए साझा संग्रहण की आवश्यकता होगी।