पहले, हमने आपके Moodle MySQL डेटाबेस के बैकअप के बारे में ब्लॉग किया था। इस बार, यह आपके Moodle MariaDB डेटाबेस का बैकअप लेने के बारे में है। वास्तव में, यह आपके Moodle MySQL डेटाबेस का बैकअप लेते समय उसी दृष्टिकोण को साझा करता है जैसा कि आपके Moodle MariaDB डेटाबेस के साथ होता है। हालाँकि, मारियाडीबी 10.2 के बाद से, यह धीरे-धीरे विचलित हो गया है और MySQL संस्करण के साथ भारी अंतर बना हुआ है। इस संबंध में, उन दृष्टिकोणों पर ध्यान दें जिन पर आपको विचार करना पड़ सकता है जब आप MySQL के विपरीत अपने मारियाडीबी का बैकअप ले रहे हों यदि आप इससे थे।
अपना मूड मारियाडीबी बैकअप बनाने के लिए सर्वोत्तम अभ्यास
आइए पहले इस विषय पर विचार करें। अपने मूडल डेटा के लिए बैकअप लेना आपके मारियाडीबी बैकअप के लिए सर्वोत्तम प्रथाओं को लागू करना है क्योंकि यह आपको सुरक्षा और आश्वासन प्रदान करता है, खासकर जब आपदा या आपदा अप्रत्याशित परिस्थितियों में आती है।
तो इसमें क्या हो रहा है? अपने मूडल के लिए बैकअप लेना कम से कम निम्नलिखित बैकअप के साथ करना है:
- तार्किक बैकअप
- आपके बैकअप की भौतिक प्रति
- प्वाइंट-इन-टाइम (इंक्रीमेंटल) रिकवरी
लॉजिकल बैकअप
डेटा का तार्किक बैकअप SQL जैसे मानव-पठनीय प्रारूप में संग्रहीत किया जाता है। तार्किक बैकअप तार्किक डेटाबेस संरचना (डेटाबेस बनाएँ, तालिका विवरण बनाएँ) और सामग्री (INSERT कथन या सीमांकित-पाठ फ़ाइलें) के रूप में प्रदर्शित जानकारी को सहेजते हैं। इस प्रकार का बैकअप कम मात्रा में डेटा के लिए उपयुक्त है जहाँ आप डेटा मान या तालिका संरचना को संपादित कर सकते हैं, या किसी भिन्न मशीन आर्किटेक्चर पर डेटा को फिर से बना सकते हैं। यदि आप एक विशाल डेटाबेस बैकअप का उपयोग करते हैं, तो सुनिश्चित करें कि आपके पास संपीड़न सक्षम है। चेतावनी दें क्योंकि यह विशेष रूप से बहुत अधिक डिस्क स्थान ले सकता है।
MariaDB में, उपयोग करने के लिए एक सामान्य उपकरण mysqldump का उपयोग कर रहा है, लेकिन भविष्य में mariadb-dump के साथ MariaDB 10.4.6 या 10.5.2 से शुरू होकर बदल जाएगा। वैकल्पिक रूप से, MySQL/MariaDB DBA के लिए उपयोग करने के लिए एक सामान्य उपकरण mydumper है यदि आप अपनी तार्किक बैकअप प्रतिलिपि के लिए समानांतर बैकअप चाहते हैं। हालाँकि कुछ संस्करणों में कुछ समस्याएँ हैं या इसमें विशेष रूप से मारियाडीबी के नवीनतम संस्करणों के लिए समस्याएँ हो सकती हैं। यदि आप इसका उपयोग करना चाहते हैं, तो प्रतिलिपि बनाते समय अपने बैकअप लॉग पर ध्यान दें।
भौतिक बैकअप
भौतिक बैकअप में डेटाबेस बाइनरी डेटा होता है जिसमें डेटाबेस सामग्री को संग्रहीत करने वाली निर्देशिकाओं और फ़ाइलों की कच्ची प्रतियां शामिल होती हैं। यह विशेष रूप से एक बड़े डेटाबेस के लिए एक उपयुक्त कार्रवाई है और तार्किक बैकअप प्रतिलिपि की तुलना में डेटाबेस की पूरी प्रतिलिपि को पुनर्प्राप्त करना तेज़ है। दूसरी ओर, पूर्ण भौतिक बैकअप लेने में समय लगता है, खासकर यदि आपके पास बहुत बड़ा डेटा सेट है। यह इस बात पर भी निर्भर करता है कि आपने कौन से पैरामीटर सक्षम या सेट किए हैं जो इसके बैकअप ईटीए को प्रभावित कर सकते हैं।
मारियाडीबी के लिए उपयोग करने के लिए एक सामान्य उपकरण मारियाबैकअप का उपयोग कर रहा है। मारियाबैकअप मारियाडीबी द्वारा प्रदान किया गया एक खुला स्रोत उपकरण है। यह Percona XtraBackup का एक कांटा है जिसे एन्क्रिप्टेड और संपीड़ित तालिकाओं के साथ काम करने के लिए डिज़ाइन किया गया है, और यह MariaDB डेटाबेस के लिए अनुशंसित बैकअप विधि है।
प्वाइंट-इन-टाइम रिकवरी (PITR)
प्वाइंट-इन-टाइम रिकवरी एक निश्चित समय तक डेटा परिवर्तनों की पुनर्प्राप्ति को संदर्भित करता है। यह समय पर दिया गया बिंदु वांछित पुनर्प्राप्ति उद्देश्य है जिसे निर्धारित किया गया है और इसे वापस रखने की आवश्यकता है, जिसे पुनर्प्राप्ति के दौरान लागू किया जाता है। PITR एक पॉइंट-फ़ॉरवर्ड रिकवरी है और इसका मतलब है कि आप डेटा को वांछित शुरुआती समय से वांछित समाप्ति समय तक पुनर्स्थापित कर सकते हैं, इसके विपरीत एक MySQL सर्वर पर मारियाडीबी फ्लैशबैक का उपयोग करके पढ़ा जा सकता है। PITR को डेटा सुरक्षा का एक अतिरिक्त तरीका भी माना जाता है, क्योंकि यह महत्वपूर्ण जानकारी के नुकसान की सुरक्षा करता है।
सामान्य परिस्थितियों में, आपके प्रकार की पुनर्प्राप्ति के लिए लागू आपका PITR बैकअप एक पूर्ण बैकअप को पुनर्स्थापित करने के बाद किया जाता है जो बैकअप के समय सर्वर को उसकी स्थिति में लाता है। पॉइंट-इन-टाइम रिकवरी फिर सर्वर को फुल बैकअप के समय से लेकर हाल के समय तक लगातार अपडेट करती है। यह आपके मारियाडीबी प्राथमिक या सक्रिय-लेखक डेटाबेस के साथ पकड़ने से प्रतिकृति क्लस्टर के भीतर एक प्रतिकृति बनाने में भी तेजी लाता है।
तो ये बैकअप क्या हैं? मारियाडीबी में, आपके पीआईटीआर के लिए लागू सामान्य बैकअप आपके बाइनरी लॉग हैं। बाइनरी लॉगिंग को आपके मारियाडीबी डेटाबेस में ठीक से कॉन्फ़िगर करना होगा और इसे सक्षम करना होगा। यदि आप ClusterControl का उपयोग कर रहे हैं, तो आपके लिए इसे कॉन्फ़िगर करना मुश्किल नहीं हो सकता है क्योंकि यह आपके लिए स्वचालित रूप से कॉन्फ़िगर किया गया है और विशेष रूप से प्रतिकृति क्लस्टर सेट करते समय सक्षम किया गया है।
PITR लागू करते समय, उपयोग करने के लिए सबसे आम उपकरण है mysqlbinlog या mariadb-binlog मारियाडीबी 10.5.2 के बाद के लिए।
अपने Moodle MariaDB डेटाबेस का बैकअप लेने का सर्वोत्तम तरीका
अपना Moodle MariaDB डेटाबेस निष्पादित करते समय, हमेशा गैर-पीक घंटों के दौरान या ट्रैफ़िक बहुत कम होने पर अपना बैकअप लें। ऐसा करने से पहले, सुनिश्चित करें कि आपने बैकअप का परीक्षण किया है और यह सफलतापूर्वक समाप्त हो गया है। एक बार समाप्त होने पर, एक पुनर्स्थापना का परीक्षण करें कि क्या आपका बैकअप उपयोगी है या नहीं और यह आपकी आवश्यकताओं को पूरा करता है जब डेटा पुनर्प्राप्ति की आवश्यकता होती है या जब आपको क्लस्टर का एक और सेट (क्यूए, देव, या किसी अन्य डेटा केंद्र तक विस्तारित) बनाने के लिए अपने बैकअप की आवश्यकता होती है। मूल रूप से, निम्नलिखित उपखंड वह दृष्टिकोण और सेटअप होंगे जिनसे आपको निपटना होगा।
एक प्रतिकृति सेट करें और प्रतिकृति पर बैकअप लें
यदि आप प्रतिकृति से परिचित नहीं हैं, तो उच्च उपलब्धता के लिए हमारा श्वेत पत्र MySQL प्रतिकृति पढ़ें। मूल रूप से, बैकअप करने या चलाने के लिए अपने सक्रिय-लेखक या प्राथमिक डेटाबेस नोड को न छोड़ें। बैकअप लेने का परीक्षण किया जाना है और इसे उत्पादन में नहीं किया जाना है यदि इसे अभी तक आदेशों के एक सेट और आपके द्वारा बनाई गई बैकअप नीति के साथ परीक्षण नहीं किया गया है। एक बार अच्छा होने पर, बस इसे छोड़ दें और इसे एक प्रतिकृति पर लक्षित करें। आप अपने प्राथमिक/मास्टर मारियाडीबी डेटाबेस से बैकअप ले सकते हैं यदि आपके पास कोई विकल्प नहीं बचा है या कम से कम आप सुनिश्चित हैं कि आप क्या कर रहे हैं।
गैर-पीक आवर्स के दौरान बैकअप चलाएं
बैकअप करते समय, सुनिश्चित करें कि यह आपका व्यस्ततम समय है। आपकी प्रतिकृति को यथासंभव शून्य अंतराल होना चाहिए ताकि नवीनतम डेटा को ब्लैक अप किया जा सके।
एक बैकअप नीति बनाएं
बैकअप नीति में आपके पैरामीटर और शेड्यूल होते हैं जो आपके बैकअप में आते हैं। पैरामीटर के लिए, सुनिश्चित करें कि यह आपकी आवश्यकताओं, यानी सुरक्षा, संपीड़न, आदि को पूरा करता है। शेड्यूल को स्थायी होना चाहिए ताकि आपका आपदा के समय जरूरत पड़ने पर बैकअप होगा और डेटा रिकवरी की जरूरत होगी। आप अपने पुनर्प्राप्ति समय के उद्देश्य को भी निर्धारित करने में सक्षम होंगे ताकि आप यह निर्धारित कर सकें कि आपका बैकअप शेड्यूल कितनी बार और कब चलेगा।
अपने मूडल मारियाडीबी डेटाबेस का बैकअप कैसे बनाएं
मारीडब-डंप/mysqldump का उपयोग करना
नीचे दिया गया आदेश मूडल के लिए आपका डेटाबेस बैकअप बनाएगा। इस उदाहरण में, डेटाबेस का नाम मूडल है। हमने ट्रिगर, संग्रहीत कार्यविधियाँ या रूटीन, और ईवेंट शामिल किए। GTID और मास्टर जानकारी को प्रिंट करें जो तब उपयोगी होती है जब आप प्राथमिक या मास्टर डेटाबेस नोड से एक प्रतिकृति का प्रावधान करना चाहते हैं।
$ /usr/bin/mariadb-dump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle
यदि आप MariaDB संस्करण <10.5.2 का उपयोग कर रहे हैं, तो आप बस mariadb-dump को mysqldump से बदल सकते हैं। यदि आपको संपीड़ित करने की आवश्यकता है, तो आप नीचे दिए गए आदेश को चला सकते हैं:
$ /usr/bin/mysqldump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle |gzip -6 -c > /backups/backup-n1/mysqldump_2021-01-25_182643_schemaanddata.sql.gz
मारियाबैकअप का उपयोग करना
मारियाबैकअप आसानी से लिया जा सकता है। इसके लिए, हम mbstream को वांछित स्ट्रीमिंग और अभिलेखीय प्रारूप के रूप में उपयोग करेंगे। आप नीचे दिए गए कमांड का उपयोग कर सकते हैं:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream
यदि आप इसे संपीड़ित करना चाहते हैं, तो आप निम्न आदेश कर सकते हैं:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz
ClusterControl का उपयोग करना
यदि आप विशेष रूप से अपने मूडल का बैकअप लेने के लिए किसी प्रबंधित समाधान पर स्विच करते हैं, तो ClusterControl इसे सरल पर ले जाता है लेकिन बैकअप लेने के लिए उन्नत सुविधाएँ प्रदान करता है। नीचे स्क्रीनशॉट पर एक नज़र डालें:
बैकअप लेना बहुत आसान और बनाने में आसान है। आपको बस इतना करना है कि <अपना क्लस्टर चुनें> → बैकअप → बैकअप बनाएं।
उपरोक्त स्क्रीनशॉट में, मेरे पास mysqldump, PITR संगत के साथ mysqldump, और mariabackup है। आप बैकअप लेने के लिए कौन सा होस्ट चुन सकते हैं। जैसा कि पहले उल्लेख किया गया है, सुनिश्चित करें कि आप प्रतिकृति या दास पर बैकअप ले रहे हैं। इसका मतलब है, सुनिश्चित करें कि दास का चयन किया गया है। नीचे स्क्रीनशॉट देखें:
mysqldump का चयन या चयन करते समय, ClusterControl उपयोगकर्ता को किस प्रकार का चयन करने की अनुमति देता है डेटा डंप किया जाना है। इसमें बैकअप के लिए PITR संगत डंप भी शामिल है। नीचे स्क्रीनशॉट देखें:
आपके तार्किक बैकअप के रूप में mysqldump से अलग, आपके बाइनरी या भौतिक बैकअप के लिए, आप मारियाबैकअप को पूर्ण या वृद्धिशील चुन सकते हैं। नीचे देखें:
भंडारण स्थान केवल उपयोगकर्ता को नोड पर रहने के लिए या तो चुनने की अनुमति देते हैं या इसे ClusterControl होस्ट पर स्ट्रीम करें। यदि आपके पास एक बाहरी सर्वर है जो ClusterControl में पंजीकृत नहीं है, तो आप उस वॉल्यूम को माउंट करने के लिए NFS का उपयोग कर सकते हैं जिसे आप अपने बैकअप को डंप करना चाहते हैं। हालांकि यह आदर्श नहीं हो सकता है लेकिन कुछ मामलों के लिए, यह विशेष रूप से संतुष्ट करेगा यदि नेटवर्क बैंडविड्थ या नेटवर्क स्थानांतरण नेटवर्क के माध्यम से डेटा को स्थानीय रूप से दूसरे नोड में स्ट्रीम करने के लिए पर्याप्त तेज़ है।
अनिवार्य रूप से, आप क्लाउड पर अपलोड किए जाने वाले बैकअप को चुन सकते हैं। आप स्क्रीनशॉट को पहले देख सकते हैं और इसे नीचे की तरह सक्षम करने के लिए बस चेकबॉक्स पर टिक करें:
जैसा कि पहले उल्लेख किया गया है कि ClusterControl एक सरल उपयोग में बैकअप लेता है फिर भी प्रदान करता है उन्नत सुविधाएँ, यहाँ वे विकल्प हैं जिन्हें आप सेट कर सकते हैं।
mysqldump के लिए,
मारियाबैकअप के लिए,
उपयोग में बहुत आसान। ClusterControl बैकअप सत्यापन और बैकअप पुनर्स्थापना भी प्रदान करता है इसलिए आपके लिए यह निर्धारित करना आसान है कि बैकअप उपयोगी है या नहीं। यह मदद करता है कि आपका मूडल डेटाबेस बैकअप उपयोगी है, खासकर जब आपातकालीन और पुनर्प्राप्ति के लिए डेटा पुनर्प्राप्ति को लागू करना पड़ता है।
निष्कर्ष
आपके Moodle MariaDB डेटाबेस का बैकअप लेना आसान हो सकता है लेकिन जब डेटा बड़ा हो जाता है और ट्रैफ़िक अधिक हो जाता है, तो यह एक बड़ी चुनौती हो सकती है। आपको केवल सर्वोत्तम प्रथाओं का पालन करने की आवश्यकता है, सुनिश्चित करें कि आपने अपना डेटा सुरक्षित कर लिया है, सुनिश्चित करें कि आपका बैकअप सत्यापित है और यह तब उपयोगी है जब डेटा पुनर्प्राप्ति को लागू किया जाना है।