PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Amazon AWS का उपयोग करके PostgreSQL के लिए कोल्ड स्टैंडबाय बनाना

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

एक और विकल्प है, हालांकि, अगर आपकी कंपनी आपके सिस्टम को ऑनलाइन वापस लाने के लिए थोड़ी देरी को स्वीकार कर सकती है।

कोल्ड स्टैंडबाय, एक अतिरेक विधि है जहां आपके पास प्राथमिक नोड के लिए एक स्टैंडबाय नोड (बैकअप के रूप में) होता है। यह नोड केवल मास्टर विफलता के दौरान उपयोग किया जाता है। बाकी समय कोल्ड स्टैंडबाय नोड बंद रहता है और जरूरत पड़ने पर ही बैकअप लोड करने के लिए इस्तेमाल किया जाता है।

इस पद्धति का उपयोग करने के लिए, कंपनी के लिए एक स्वीकार्य RPO (रिकवरी पॉइंट ऑब्जेक्टिव) के अनुसार एक पूर्वनिर्धारित बैकअप नीति (अतिरेक के साथ) होना आवश्यक है। हो सकता है कि 12 घंटे का डेटा खोना व्यवसाय के लिए स्वीकार्य हो या सिर्फ एक घंटे का नुकसान एक बड़ी समस्या हो सकती है। प्रत्येक कंपनी और एप्लिकेशन को अपना स्वयं का मानक निर्धारित करना चाहिए।

इस ब्लॉग में, आप सीखेंगे कि बैकअप नीति कैसे बनाएं और ClusterControl का उपयोग करके इसे कोल्ड स्टैंडबाय सर्वर पर कैसे पुनर्स्थापित करें और Amazon AWS के साथ इसका एकीकरण करें।

इस ब्लॉग के लिए, हम मान लेंगे कि आपके पास पहले से ही एक AWS खाता और ClusterControl स्थापित है। जब हम इस उदाहरण में क्लाउड प्रदाता के रूप में AWS का उपयोग करने जा रहे हैं, तो आप किसी भिन्न का उपयोग कर सकते हैं। हम ClusterControl का उपयोग करके परिनियोजित निम्नलिखित PostgreSQL टोपोलॉजी का उपयोग करेंगे:

  • 1 PostgreSQL प्राथमिक नोड
  • 2 PostgreSQL Hot-Standby Nodes
  • 2 लोड बैलेंसर (HAProxy + Keepalived)

स्वीकार्य बैकअप नीति बनाना

इस प्रकार की नीति बनाने के लिए सबसे अच्छा अभ्यास बैकअप फ़ाइलों को तीन अलग-अलग स्थानों में संग्रहीत करना है, एक डेटाबेस सर्वर पर स्थानीय रूप से संग्रहीत (तेजी से पुनर्प्राप्ति के लिए), दूसरा एक केंद्रीकृत बैकअप सर्वर में, और बादल में आखिरी।

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

ClusterControl AWS एकीकरण को कॉन्फ़िगर करना

ClusterControl पर जाएं -> एकीकरण -> क्लाउड प्रदाता -> क्लाउड क्रेडेंशियल जोड़ें।

क्लाउड प्रदाता चुनें। हम AWS, Google क्लाउड या Azure का समर्थन करते हैं। इस मामले में, AWS चुनें और जारी रखें।

यहां आपको एक नाम, एक डिफ़ॉल्ट क्षेत्र और एक AWS जोड़ना होगा कुंजी आईडी और कुंजी रहस्य। इन अंतिम को प्राप्त करने या बनाने के लिए, आपको AWS प्रबंधन कंसोल पर IAM (पहचान और अभिगम प्रबंधन) अनुभाग में जाना चाहिए। अधिक जानकारी के लिए, आप हमारे दस्तावेज़ या AWS दस्तावेज़ देख सकते हैं।

अब आपके पास इंटीग्रेशन तैयार हो गया है, चलिए पहले बैकअप को शेड्यूल करने के लिए उपयोग करते हैं क्लस्टर नियंत्रण।

ClusterControl के साथ बैकअप शेड्यूल करना

ClusterControl पर जाएं -> PostgreSQL क्लस्टर चुनें -> बैकअप -> बैकअप बनाएं।

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

जब आप बैकअप शेड्यूल कर रहे हों, तो सबसे पहले, आपको शेड्यूल निर्दिष्ट करना होगा /आवृत्ति। फिर, आपको एक बैकअप विधि (pg_dumpall, pg_basebackup, pgBackRest) चुनना होगा, जिस सर्वर से बैकअप लिया जाएगा, और जहां आप बैकअप को संग्रहीत करना चाहते हैं। आप संबंधित बटन को सक्षम करके हमारे बैकअप को क्लाउड (AWS, Google या Azure) पर भी अपलोड कर सकते हैं।

फिर संपीड़न, संपीड़न स्तर, एन्क्रिप्शन और अवधारण अवधि का उपयोग निर्दिष्ट करें आपके बैकअप के लिए। "बैकअप सत्यापित करें" नामक एक और विशेषता है जिसे आप इस ब्लॉग पोस्ट में जल्द ही और अधिक विस्तार से देखेंगे।

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

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

Amazon EC2 पर बैकअप बहाल करना

एक बार बैकअप समाप्त हो जाने पर, आप बैकअप अनुभाग में ClusterControl का उपयोग करके इसे पुनर्स्थापित कर सकते हैं।

Amazon EC2 इंस्टेंस बनाना

सबसे पहले, इसे पुनर्स्थापित करने के लिए, आपको इसे करने के लिए कहीं और की आवश्यकता होगी, तो चलिए एक मूल Amazon EC2 उदाहरण बनाते हैं। EC2 सेक्शन में AWS मैनेजमेंट कंसोल में "लॉन्च इंस्टेंस" पर जाएं और अपना इंस्टेंस कॉन्फ़िगर करें।

जब आपका इंस्टेंस बनाया जाता है, तो आपको SSH पब्लिक को कॉपी करना होगा ClusterControl सर्वर से कुंजी।

ClusterControl का उपयोग करके बैकअप को पुनर्स्थापित करना

अब आपके पास नया EC2 इंस्टेंस है, चलिए इसका उपयोग वहां बैकअप को पुनर्स्थापित करने के लिए करते हैं। इसके लिए, अपने ClusterControl में बैकअप सेक्शन (ClusterControl -> Select Cluster -> Backup) पर जाएं, और वहां आप "रिस्टोर बैकअप" का चयन कर सकते हैं, या सीधे उस बैकअप पर "रिस्टोर" कर सकते हैं जिसे आप रिस्टोर करना चाहते हैं।

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

आपको एक समर्पित होस्ट (या VM) की आवश्यकता होगी जो भाग नहीं है बैकअप को पुनर्स्थापित करने के लिए क्लस्टर का, तो चलिए इस कार्य के लिए बनाए गए EC2 इंस्टेंस का उपयोग करते हैं। ClusterControl सॉफ़्टवेयर स्थापित करेगा और यह इस होस्ट में बैकअप को पुनर्स्थापित करेगा।

यदि विकल्प "बैकअप बहाल होने के बाद सर्वर को शटडाउन" सक्षम किया गया है, तो ClusterControl पुनर्स्थापना कार्य पूरा करने के बाद डेटाबेस नोड को रोक देगा, और ठीक यही हमें इस कोल्ड स्टैंडबाय निर्माण के लिए आवश्यक है।

आप क्लस्टर नियंत्रण गतिविधि अनुभाग में बैकअप प्रगति की निगरानी कर सकते हैं।

ClusterControl Verify बैकअप फीचर का उपयोग करना

एक बैकअप बैकअप नहीं है यदि इसे बहाल नहीं किया जा सकता है। इसलिए, आपको यह सुनिश्चित करना चाहिए कि बैकअप काम कर रहा है और इसे कोल्ड स्टैंडबाय नोड में बार-बार पुनर्स्थापित करें।

यह ClusterControl Verify बैकअप बैकअप सुविधा एक कोल्ड स्टैंडबाय नोड के रखरखाव को स्वचालित करने का एक तरीका है जो हाल के बैकअप को पुनर्स्थापित करता है ताकि इसे यथासंभव अद्यतित रखा जा सके और मैन्युअल पुनर्स्थापना बैकअप कार्य से बचा जा सके। आइए देखें कि यह कैसे काम करता है।

"स्टैंडअलोन होस्ट पर पुनर्स्थापित और सत्यापित करें" कार्य के रूप में, इसके लिए एक समर्पित होस्ट (या VM) की आवश्यकता होगी जो बैकअप को पुनर्स्थापित करने के लिए क्लस्टर का हिस्सा नहीं है, तो चलिए उसी EC2 उदाहरण का उपयोग करते हैं यहाँ।

स्वचालित सत्यापन बैकअप सुविधा अनुसूचित बैकअप के लिए उपलब्ध है। तो, ClusterControl पर जाएँ -> PostgreSQL क्लस्टर चुनें -> बैकअप -> बैकअप बनाएँ और एक नया बैकअप शेड्यूल करने के लिए उन चरणों को दोहराएं जिन्हें आपने पहले देखा था।

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

उपरोक्त विकल्पों का उपयोग करते हुए, ClusterControl सॉफ़्टवेयर स्थापित करेगा और बैकअप को पुनर्स्थापित करेगा मेज़बान। इसे पुनर्स्थापित करने के बाद, यदि सब कुछ ठीक रहा, तो आपको क्लस्टर नियंत्रण बैकअप अनुभाग में सत्यापन आइकन दिखाई देगा।

निष्कर्ष

यदि आपके पास सीमित बजट है, लेकिन उच्च उपलब्धता की आवश्यकता है, तो आप एक ठंडे स्टैंडबाय पोस्टग्रेएसक्यूएल नोड का उपयोग कर सकते हैं जो कंपनी के आरटीओ और आरपीओ के आधार पर मान्य हो सकता है या नहीं। इस ब्लॉग में, हमने आपको दिखाया कि बैकअप कैसे शेड्यूल करें (आपकी व्यावसायिक नीति के अनुसार) और इसे मैन्युअल रूप से कैसे पुनर्स्थापित करें। हमने यह भी दिखाया कि ClusterControl, Amazon S3 और Amazon EC2 का उपयोग करके कोल्ड स्टैंडबाय सर्वर में बैकअप को स्वचालित रूप से कैसे पुनर्स्थापित किया जाए।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL मानक समिति में PostgreSQL एजेंट फिर से

  2. PostgreSQL में धीमी क्वेरी लॉग को कैसे सक्षम करें

  3. PostgreSQL डेटाबेस में सभी संग्रहीत प्रक्रियाओं को सूचीबद्ध करने के 3 तरीके

  4. PostgreSQL में सेकंड में टाइमस्टैम्प के बीच अंतर खोजें

  5. PostgreSQL तार्किक प्रतिकृति Gotchas