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

Microsoft Azure पर PostgreSQL के लिए फ़ेलओवर और फ़ेलबैक

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

Microsoft Azure इनमें से एक प्रदाता है। इस ब्लॉग में, हम इस बात पर एक नज़र डालेंगे कि Microsoft Azure प्राथमिक भंडारण के लिए एक आपदा पुनर्प्राप्ति साइट के रूप में क्या सुविधाएँ प्रदान करता है, और विशेष रूप से यह देखेंगे कि यह मिश्रित PostgreSQL डेटाबेस वातावरण को कैसे संभालता है।

Microsoft Azure पर PostgreSQL डेटाबेस इंस्टेंस को परिनियोजित करना

इस कार्य को करने से पहले, आपको यह तय करना होगा कि आप इस उदाहरण का उपयोग कैसे करेंगे और कौन सा Azure उत्पाद आपके लिए सर्वोत्तम है। Microsoft Azure पर PostgreSQL इंस्टेंस को परिनियोजित करने के दो बुनियादी तरीके हैं।

  1. PostgreSQL के लिए Azure डेटाबेस :एक प्रबंधित सेवा है जिसका उपयोग आप क्लाउड में अत्यधिक उपलब्ध PostgreSQL डेटाबेस को चलाने, प्रबंधित करने और स्केल करने के लिए कर सकते हैं। यह दो परिनियोजन विकल्पों में उपलब्ध है:सिंगल सर्वर और हाइपरस्केल।
  2. वर्चुअल मशीन :ऑन-डिमांड, उच्च-स्तरीय, सुरक्षित, वर्चुअलाइज्ड इंफ्रास्ट्रक्चर प्रदान करता है। इसमें उबंटू सर्वर, रेडहैट एंटरप्राइज लिनक्स, एसयूएसई लिनक्स एंटरप्राइज सर्वर, सेंटोस, डेबियन और विंडोज सर्वर के लिए समर्थन है और यह आपको कुछ ही सेकंड में अपने डेटासेंटर को विकसित करने, परीक्षण करने, चलाने और अपने डेटासेंटर का विस्तार करने की अनुमति देता है।

इस ब्लॉग के लिए हम दोनों पर एक नज़र डालेंगे कि हम PostgreSQL के लिए Azure डेटाबेस कैसे बना सकते हैं और Microsoft Azure पोर्टल से वर्चुअल मशीन Azure का उपयोग कैसे कर सकते हैं।

PostgreSQL के लिए Azure डेटाबेस परिनियोजित करना

यदि आप अपने Azure पोर्टल पर जाते हैं -> एक संसाधन बनाएं -> डेटाबेस -> PostgreSQL के लिए Azure डेटाबेस, तो आप सिंगल सर्वर या हाइपरस्केल के बीच चयन करने में सक्षम होंगे। इस ब्लॉग के लिए, हम सिंगल सर्वर का उपयोग करेंगे, क्योंकि हाइपरस्केल विकल्प पूर्वावलोकन पर है और यह अभी तक SLA की पेशकश नहीं करता है।

यहां आपको अपने नए PostgreSQL इंस्टेंस के बारे में कुछ जानकारी जोड़ने की जरूरत है; जैसे सदस्यता, सर्वर का नाम, उपयोगकर्ता क्रेडेंशियल और स्थान। आप यह भी चुन सकते हैं कि किस PostgreSQL संस्करण का उपयोग करना है (9.5, 9.6, 10 या 11 संस्करण वर्तमान में उपलब्ध हैं) और इसे चलाने के लिए वर्चुअल हार्डवेयर (गणना + संग्रहण)।

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

जब आपके पास नया संसाधन बनाया जाता है, तो आप उपलब्ध संसाधन विकल्पों को देखने के लिए सभी संसाधनों पर जा सकते हैं।

सृजित संसाधन विकल्पों में, आप इसे सक्षम करने के लिए प्रतिकृति पर जा सकते हैं और मास्टर सर्वर से अधिकतम पाँच प्रतियों में दोहराएँ। बाहरी पहुंच को सक्षम या अक्षम करने के लिए आपको कनेक्शन सुरक्षा अनुभाग भी देखना चाहिए। एक्सेस जानकारी जानने के लिए, आपको ओवरव्यू रिसोर्स सेक्शन पर जाना होगा।

$ psql -h pg1blog.postgres.database.azure.com -U [email protected] postgres

Password for user [email protected]:

psql (11.5, server 11.4)

SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)

Type "help" for help.

postgres=>

PostgreSQL के लिए Azure डेटाबेस पर विफलता

दुर्भाग्य से, मास्टर और रेप्लिका सर्वर के बीच स्वचालित विफलता उपलब्ध नहीं है। यदि आप मास्टर इंस्टेंस को हटाते हैं, हालांकि, Azure स्वचालित तरीके से प्रतिकृति को बढ़ावा देने के लिए एक विफलता प्रक्रिया करेगा।

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

Azure Virtual Machine पर PostgreSQL परिनियोजित करना

यदि आप अपने Azure पोर्टल पर जाते हैं -> एक संसाधन बनाएं -> गणना करें -> वर्चुअल मशीन, तो आप एक वर्चुअल मशीन बनाएं अनुभाग खोलेंगे जहां आप अपनी नई Azure वर्चुअल मशीन के लिए विभिन्न कॉन्फ़िगरेशन निर्दिष्ट कर सकते हैं ।

मूल टैब में, आपको Azure सदस्यता, क्षेत्र, उपलब्धता निर्दिष्ट करनी होगी विकल्प, ऑपरेटिंग सिस्टम, सर्वर आकार, एक्सेस क्रेडेंशियल (उपयोगकर्ता नाम/पासवर्ड या SSH कुंजी), और इनबाउंड फ़ायरवॉल नियम।

डिस्क टैब में, आपको भंडारण (प्रकार और आकार) निर्दिष्ट करना होगा आपकी नई वर्चुअल मशीन के लिए। डिस्क प्रकार मानक एचडीडी, मानक एसएसडी, या प्रीमियम एसएसडी हो सकता है। उच्च IOPS कार्यभार के लिए अंतिम अनुशंसा की जाती है।

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

अगले टैब में, हमारे पास कुछ प्रबंधन विकल्प हैं, जैसे निगरानी और बैकअप .

और अंत में, उन्नत टैब में, हम एक्सटेंशन जोड़ सकते हैं, क्लाउड- init, या होस्ट समूह।

पिछले विकल्प की समीक्षा करने और उसकी पुष्टि करने के बाद, आपके पास अपनी नई वर्चुअल मशीन बन जाएगी और उसे Azure पोर्टल से एक्सेस किया जा सकेगा। संसाधन -> अवलोकन अनुभाग में, आप वर्चुअल मशीन एक्सेस जानकारी (सार्वजनिक/निजी आईपी पता) देख सकते हैं।

अब, आप इसे SSH के माध्यम से एक्सेस कर सकते हैं और ClusterControl का उपयोग करके PostgreSQL डेटाबेस स्थापित कर सकते हैं। ।

$ ssh 23.102.177.27

Last login: Mon Sep 23 21:33:27 2019

[[email protected] ~]$

क्लस्टरकंट्रोल के साथ PostgreSQL परिनियोजन करने के चरणों को देखने के लिए आप इस लिंक को देख सकते हैं।

Azure Virtual Machine पर PostgreSQL फ़ेलओवर

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

आपदा रिकवरी सक्षम होने पर, आप जांच कर सकेंगे प्रतिकृति स्थिति, विफलता प्रक्रिया का परीक्षण करें, या इसे मैन्युअल रूप से विफल करें।

इसे सक्षम करने से आप विफलता की स्थिति में एक विफलता विकल्प प्राप्त कर सकते हैं। हालांकि, यह न केवल डेटाबेस सेवा के लिए बल्कि पूरे वातावरण के लिए एक विफलता होगी।

Microsoft Azure के लिए एक बेहतर PostgreSQL विफलता प्रक्रिया

चूंकि आपके पास SSH पहुंच है, आप ClusterControl के साथ वर्चुअल मशीन (या यहां तक ​​कि PostgreSQL डेटाबेस को परिनियोजित करके) को आयात करके इस विफलता प्रक्रिया को बेहतर बना सकते हैं।

यदि आप मास्टर विफलता के मामले में क्लस्टरकंट्रोल के साथ डेटाबेस नोड्स का प्रबंधन कर रहे हैं (और यदि "ऑटो रिकवरी" विकल्प चालू है), तो क्लस्टरकंट्रोल सबसे उन्नत दास को बढ़ावा देगा (यदि इसे ब्लैकलिस्ट नहीं किया गया है) ) मास्टर करने के साथ-साथ आपको समस्या के बारे में सूचित करने के लिए। यह स्वचालित रूप से शेष दासों पर नए स्वामी से दोहराने में विफल रहता है।

ClusterControl के साथ, आप क्लाउड पर कुछ नोड्स और अन्य नोड्स के साथ मिश्रित वातावरण भी परिनियोजित करते हैं। आप हमारे उच्च उपलब्धता वातावरण को बेहतर बनाने के लिए अपनी टोपोलॉजी में लोड बैलेंसर्स भी जोड़ सकते हैं। आप इस विषय के बारे में अधिक जानकारी यहाँ प्राप्त कर सकते हैं।

निष्कर्ष

Azure में एंटरप्राइज़-स्तरीय समाधान प्रदान करने के लिए बहुत सारी सुविधाएं और उत्पाद हैं। हालांकि, इन परीक्षणों के दौरान, मैंने पाया कि मुख्य समस्या यह थी कि अधिकांश एप्लिकेशन आवश्यकताओं के लिए निर्माण और विफलता का समय बहुत लंबा था।

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टजीआईएस इन एक्शन

  2. PostgreSQL प्रतिकृति स्लॉट का उपयोग करना

  3. Python का उपयोग करके PostgreSQL डेटाबेस के साथ INSERT का उपयोग करना

  4. कैसे to_char () समारोह का उपयोग किए बिना PostgreSQL में तारीख से साल और महीने निकालने के लिए?

  5. क्या INSERT RETURNING चीजों को सही क्रम में वापस करने की गारंटी है?