सूचना एक कंपनी में सबसे मूल्यवान संपत्ति में से एक है, और यह बिना कहे चला जाता है कि दुर्घटना या हार्डवेयर विफलता की स्थिति में डेटा हानि को रोकने के लिए एक आपदा रिकवरी योजना (डीआरपी) होनी चाहिए। बैकअप DR का सबसे सरल रूप है। स्वीकार्य पुनर्प्राप्ति बिंदु उद्देश्य (RPO) की गारंटी देने के लिए यह हमेशा पर्याप्त नहीं हो सकता है, लेकिन यह एक अच्छा पहला तरीका है।
चाहे वह 24x7 अत्यधिक लोड वाला सर्वर हो या कम लेन-देन-मात्रा वाला वातावरण, आपको उत्पादन वातावरण में सर्वर के प्रदर्शन को बाधित किए बिना बैकअप को एक सहज प्रक्रिया बनाने की आवश्यकता होगी।
अगर हम TimescaleDB की बात करें, तो टाइम-सीरीज़ डेटा के लिए इस नए इंजन के लिए विभिन्न प्रकार के बैकअप हैं। हमें जिस प्रकार के बैकअप का उपयोग करना चाहिए, वह कई कारकों पर निर्भर करता है, जैसे पर्यावरण, आधारभूत संरचना, भार, आदि।
इस ब्लॉग में, हम उपलब्ध विभिन्न प्रकार के बैकअप देखेंगे, और कैसे ClusterControl TimescaleDB के लिए हमारे बैकअप प्रबंधन को केंद्रीकृत करने में हमारी मदद कर सकता है।
बैकअप प्रकार
डेटाबेस के लिए विभिन्न प्रकार के बैकअप हैं। आइए उनमें से प्रत्येक को विस्तार से देखें।
- तार्किक:बैकअप को SQL जैसे मानव-पठनीय प्रारूप में संग्रहीत किया जाता है।
- भौतिक:बैकअप में बाइनरी डेटा होता है।
- Full/Incremental/Differential:इन तीन प्रकार के बैकअप की परिभाषा नाम में निहित है। पूर्ण बैकअप आपके सभी डेटा की एक पूर्ण प्रति है। इंक्रीमेंटल बैकअप केवल उस डेटा का बैकअप लेता है जो पिछले बैकअप के बाद से बदल गया है और डिफरेंशियल बैकअप में केवल वही डेटा होता है जो पिछले पूर्ण बैकअप के निष्पादित होने के बाद से बदल गया है। इंक्रीमेंटल और डिफरेंशियल बैकअप को एक पूर्ण बैकअप करने में लगने वाले समय और डिस्क स्थान के उपयोग को कम करने के तरीके के रूप में पेश किया गया था।
- प्वाइंट इन टाइम रिकवरी संगत:PITR में अतीत में किसी भी क्षण में डेटाबेस को पुनर्स्थापित करना शामिल है। ऐसा करने में सक्षम होने के लिए, हमें एक पूर्ण बैकअप को पुनर्स्थापित करना होगा, और फिर विफलता से ठीक पहले तक बैकअप के बाद हुए सभी परिवर्तनों को लागू करना होगा।
ClusterControl बैकअप प्रबंधन सुविधा
आइए देखें कि विभिन्न प्रकार के बैकअप को प्रबंधित करने में ClusterControl हमारी मदद कैसे कर सकता है।
बैकअप बनाना
इस कार्य के लिए, ClusterControl -> TimescaleDB क्लस्टर चुनें -> बैकअप -> बैकअप बनाएं पर जाएं। ।
हम एक नया बैकअप बना सकते हैं या एक शेड्यूल्ड को कॉन्फ़िगर कर सकते हैं। हमारे उदाहरण के लिए, हम तुरंत एक एकल बैकअप बनाएंगे।
यहां हमारे पास प्रत्येक प्रकार के बैकअप के लिए एक विधि है जिसका हमने पहले उल्लेख किया था।
बैकअप प्रकार | टूल | <थ>परिभाषा|
---|---|---|
तार्किक | pg_dumpall | यह क्लस्टर के सभी TimescaleDB डेटाबेस को एक स्क्रिप्ट फ़ाइल में लिखने के लिए एक उपयोगिता है। स्क्रिप्ट फ़ाइल में SQL कमांड होते हैं जिनका उपयोग डेटाबेस को पुनर्स्थापित करने के लिए किया जा सकता है। |
शारीरिक | pg_basebackup | इसका उपयोग डेटाबेस क्लस्टर फ़ाइलों की बाइनरी कॉपी बनाने के लिए किया जाता है, जबकि यह सुनिश्चित करता है कि सिस्टम स्वचालित रूप से बैकअप मोड में और बाहर रखा गया है। बैकअप हमेशा चल रहे TimescaleDB डेटाबेस क्लस्टर के संपूर्ण डेटाबेस क्लस्टर का लिया जाता है। ये डेटाबेस में अन्य क्लाइंट को प्रभावित किए बिना लिए जाते हैं। |
पूर्ण/अंतर/अंतर | पीजीबैकरेस्ट | यह एक सरल, विश्वसनीय बैकअप और पुनर्स्थापना समाधान है जो डेटाबेस-विशिष्ट आवश्यकताओं के लिए अनुकूलित एल्गोरिदम का उपयोग करके सबसे बड़े डेटाबेस और वर्कलोड को मूल रूप से बढ़ा सकता है। सबसे महत्वपूर्ण विशेषताओं में से एक है फुल, इंक्रीमेंटल और डिफरेंशियल बैकअप के लिए सपोर्ट। |
PITR | pg_basebackup+WALs | PITR संगत बैकअप बनाने के लिए, ClusterControl अतीत में किसी भी क्षण डेटाबेस को पुनर्स्थापित करने में सक्षम होने के लिए pg_basebackup और WAL फ़ाइलों का उपयोग करेगा। |
हमें एक तरीका चुनना होगा, सर्वर जिससे बैकअप लिया जाएगा, और जहां हम बैकअप स्टोर करना चाहते हैं। हम संबंधित बटन को सक्षम करके अपने बैकअप को क्लाउड (AWS, Google या Azure) पर भी अपलोड कर सकते हैं।
ध्यान रखें कि यदि आप PITR के साथ संगत बैकअप बनाना चाहते हैं, तो हमें इस चरण में pg_basebackup का उपयोग करना चाहिए और हमें मास्टर नोड से बैकअप लेना चाहिए।
फिर हम संपीड़न, एन्क्रिप्शन और हमारे बैकअप के प्रतिधारण के उपयोग को निर्दिष्ट करते हैं।
बैकअप अनुभाग पर, हम बैकअप की प्रगति और विधि, आकार, स्थान आदि जैसी जानकारी देख सकते हैं।
प्वाइंट इन टाइम रिकवरी को सक्षम करना
यदि हम PITR सुविधा का उपयोग करना चाहते हैं, तो हमारे पास WAL संग्रह सक्षम होना चाहिए। इसके लिए हम ClusterControl पर जा सकते हैं -> TimescaleDB क्लस्टर चुनें -> नोड क्रियाएँ -> WAL संग्रह सक्षम करें , या बस ClusterControl -> TimescaleDB क्लस्टर चुनें -> बैकअप -> सेटिंग्स पर जाएं और विकल्प को सक्षम करें “पॉइंट-इन-टाइम रिकवरी सक्षम करें (WAL संग्रह) ” जैसा कि हम निम्नलिखित छवि में देखेंगे।
हमें यह ध्यान रखना चाहिए कि WAL संग्रह को सक्षम करने के लिए, हमें अपने डेटाबेस को पुनरारंभ करना होगा। ClusterControl हमारे लिए भी यह कर सकता है।
“बैकअप निर्देशिका . जैसे सभी बैकअप के लिए सामान्य विकल्पों के अलावा ” और “बैकअप अवधारण अवधि ”, यहां हम वाल प्रतिधारण अवधि भी निर्दिष्ट कर सकते हैं। डिफ़ॉल्ट रूप से 0 है, जिसका अर्थ है हमेशा के लिए।
यह पुष्टि करने के लिए कि हमारे पास WAL संग्रह सक्षम है, हम ClusterControl -> TimescaleDB क्लस्टर चुनें -> नोड्स में अपने मास्टर नोड का चयन कर सकते हैं। , और हमें WAL संग्रह सक्षम संदेश देखना चाहिए, जैसा कि हम निम्नलिखित छवि में देख सकते हैं।
बैकअप बहाल करना
एक बार बैकअप समाप्त हो जाने के बाद, हम इसे ClusterControl का उपयोग करके पुनर्स्थापित कर सकते हैं। इसके लिए हमारे बैकअप सेक्शन में (ClusterControl -> TimescaleDB Cluster चुनें -> बैकअप ), हम "रिस्टोर बैकअप" का चयन कर सकते हैं, या सीधे उस बैकअप पर "रिस्टोर" कर सकते हैं जिसे हम रिस्टोर करना चाहते हैं।
बैकअप को पुनर्स्थापित करने के लिए हमारे पास तीन विकल्प हैं। हम किसी मौजूदा डेटाबेस नोड में बैकअप को पुनर्स्थापित कर सकते हैं, एक स्टैंडअलोन होस्ट पर बैकअप को पुनर्स्थापित और सत्यापित कर सकते हैं या बैकअप से एक नया क्लस्टर बना सकते हैं।
यदि हम PITR संगत बैकअप को पुनर्स्थापित करने का प्रयास कर रहे हैं, तो हमें समय भी निर्दिष्ट करना होगा।
डेटा को पुनर्स्थापित किया जाएगा जैसा कि निर्दिष्ट समय पर था। ध्यान रखें कि UTC टाइमज़ोन का उपयोग किया जाता है और मास्टर में हमारी TimescaleDB सेवा फिर से शुरू हो जाएगी।
हम अपने ClusterControl में गतिविधि अनुभाग से अपने पुनर्स्थापना की प्रगति की निगरानी कर सकते हैं।
स्वचालित बैकअप सत्यापन
एक बैकअप बैकअप नहीं है यदि यह पुनर्स्थापित करने योग्य नहीं है। बैकअप सत्यापित करना कुछ ऐसा है जिसे आमतौर पर कई लोगों द्वारा उपेक्षित किया जाता है। आइए देखें कि कैसे ClusterControl TimescaleDB बैकअप के सत्यापन को स्वचालित कर सकता है और किसी भी आश्चर्य से बचने में मदद कर सकता है।
ClusterControl में, अपना क्लस्टर चुनें और "बैकअप . पर जाएं " अनुभाग, फिर, "बैकअप बनाएं . चुनें .
स्वचालित सत्यापन बैकअप सुविधा अनुसूचित बैकअप के लिए उपलब्ध है। तो, आइए “शेड्यूल बैकअप . चुनें "विकल्प।
बैकअप शेड्यूल करते समय, विधि या संग्रहण जैसे सामान्य विकल्पों को चुनने के अलावा, हमें शेड्यूल/फ़्रीक्वेंसी भी निर्दिष्ट करने की आवश्यकता होती है।
अगले चरण में, हम अपने बैकअप को संपीड़ित और एन्क्रिप्ट कर सकते हैं और अवधारण अवधि निर्दिष्ट कर सकते हैं। यहां, हमारे पास “बैकअप सत्यापित करें . भी है "सुविधा।
इस सुविधा का उपयोग करने के लिए, हमें एक समर्पित होस्ट (या VM) की आवश्यकता है जो क्लस्टर का हिस्सा नहीं है।
ClusterControl सॉफ़्टवेयर स्थापित करेगा और यह इस होस्ट में बैकअप को पुनर्स्थापित करेगा। पुनर्स्थापित करने के बाद, हम क्लस्टर नियंत्रण बैकअप अनुभाग में सत्यापन चिह्न देख सकते हैं।
निष्कर्ष
आजकल, किसी भी वातावरण में बैकअप अनिवार्य है। वे आपके डेटा को सुरक्षित रखने में आपकी मदद करते हैं। वृद्धिशील बैकअप बैकअप प्रक्रिया के लिए उपयोग किए जाने वाले समय और संग्रहण स्थान को कम करने में मदद कर सकते हैं। प्वाइंट-इन-टाइम-रिकवरी के लिए ट्रांजेक्शन लॉग महत्वपूर्ण हैं। ClusterControl आपके TimescaleDB डेटाबेस के लिए बैकअप प्रक्रिया को स्वचालित करने में मदद कर सकता है और विफलता के मामले में, इसे कुछ क्लिक के साथ पुनर्स्थापित कर सकता है। साथ ही, आप PITR संगत बैकअप का उपयोग करके RPO को कम कर सकते हैं और अपनी आपदा रिकवरी योजना में सुधार कर सकते हैं।