MariaDB क्लस्टर एक मल्टी मास्टर प्रतिकृति प्रणाली है जिसे MariaDB सर्वर, MySQL wsrep पैच और Galera wsrep प्रदाता से बनाया गया है।
गैलेरा सिंक्रोनस (या 'वर्चुअली सिंक्रोनस') प्रतिकृति पद्धति पर आधारित है, जो प्रतिबद्ध होने से पहले अन्य नोड्स पर लागू डेटा को सुनिश्चित करता है। सभी नोड्स पर समान डेटा होने का मतलब है कि नोड विफलताओं को आसानी से सहन किया जा सकता है, और कोई डेटा खो नहीं जाता है। किसी अन्य नोड में विफल होना भी आसान है, क्योंकि सभी नोड्स एक ही डेटा के साथ अद्यतित हैं। यह कहना उचित है कि मारियाडीबी क्लस्टर एक उच्च उपलब्धता समाधान है जो सख्त डेटाबेस सेवा स्तर समझौतों वाले संगठनों के लिए उच्च अपटाइम प्राप्त कर सकता है।
उच्च उपलब्धता को प्रबंधित करने के अलावा, इसका उपयोग डेटाबेस सेवा को बढ़ाने और सेवा को कई क्षेत्रों में विस्तारित करने के लिए भी किया जा सकता है।
MariaDB क्लस्टर परिनियोजन
ClusterControl में MariaDB क्लस्टर वास्तव में सीधा है, और सामुदायिक संस्करण का उपयोग करने के लिए मुफ्त में उपलब्ध है। आप "तैनाती" के माध्यम से जा सकते हैं, नीचे दिखाए गए अनुसार MySQL गैलेरा चुनें:

SSH उपयोगकर्ता और क्रेडेंशियल जानकारी भरें, क्लस्टर नाम जिसे आप उपयोग करना चाहते हैं और फिर जारी रखें।

मारियाडीबी को उस डेटाबेस के विक्रेता के रूप में चुनें जिसे आप इंस्टॉल करना चाहते हैं। सर्वर डेटा निर्देशिका, सर्वर पोर्ट डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग कर सकता है, जब तक कि आप विशिष्ट कॉन्फ़िगरेशन को परिभाषित नहीं करते। डेटाबेस नोड्स के लक्ष्य आईपी पते जोड़ने के लिए व्यवस्थापक/रूट डेटाबेस पासवर्ड भरें और अंत में नोड जोड़ें।
गैलेरा नोड्स को कम से कम 3 नोड्स की आवश्यकता होती है या आप 2 डेटाबेस नोड्स और गैलेरा आर्बिटर का उपयोग एक अलग होस्ट पर कॉन्फ़िगर कर सकते हैं।
सभी फ़ील्ड भरने के बाद, बस क्लस्टर परिनियोजित करें। यह नीचे दिखाए गए अनुसार क्लस्टर बनाने के लिए एक नया कार्य ट्रिगर करेगा:

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

या आप मैनेज -> लोड बैलेंसर पर जा सकते हैं। यह उसी पेज पर जाएगा, जो लोड बैलेंसर पेज है। मैक्सस्केल लोड बैलेंसर की तैनाती के लिए "मैक्सस्केल टैब" चुनें:


सर्वर पता चुनें, मैक्सस्केल उपयोगकर्ता नाम और पासवर्ड परिभाषित करें, आप छोड़ सकते हैं थ्रेड और रीड/राइट पोर्ट के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन। लोड बैलेंसर में जोड़े जाने वाले मारियाडीबी नोड को भी शामिल करें। आप MaxScale डेटाबेस प्रॉक्सी और लोड संतुलन को परिनियोजित करने के लिए "MaxScale को परिनियोजित" कर सकते हैं।
लोड बैलेंसर को अत्यधिक उपलब्ध कराने का सबसे अच्छा अभ्यास विभिन्न होस्ट पर कम से कम 2 मैक्सस्केल इंस्टेंस सेट करना है।
डिप्लॉयमेंट बनाए रखा
Kepalived linux में स्वास्थ्य जांच के लिए उपयोग की जाने वाली एक डेमॉन सेवा है, और सर्वर में से एक के डाउन होने पर विफलता के लिए भी उपयोग की जाती है। तंत्र उच्च उपलब्धता प्राप्त करने के लिए वीआईपी (वर्चुअल आईपी एड्रेस) का उपयोग कर रहा है, जिसमें एक सर्वर मास्टर के रूप में कार्य करता है, और दूसरा बैकअप के रूप में कार्य करता है।
कीपलाइव्ड की तैनाती सेवा है जिसे मैनेज -> लोड बैलेंसर पर किया जा सकता है।

कृपया अपना लोड बैलेंसर प्रकार चुनें, जो मैक्सस्केल है। वर्तमान में, ClusterControl लोड बैलेंसर्स के रूप में HAProxy, ProxySQL और MaxScale का समर्थन करता है जिसे Keepalived के साथ एकीकृत किया जा सकता है। वर्चुअल आईपी एड्रेस के लिए अपने वर्चुअल आईपी (वीआईपी) और नेटवर्क इंटरफेस को परिभाषित करें।
उसके बाद, बस Keepalived तैनात करें पर क्लिक करें। यह दोनों MaxScale होस्ट पर Keepalived को परिनियोजित करने के लिए एक नया कार्य ट्रिगर करेगा।

उच्च उपलब्धता के लिए मारियाडीबी क्लस्टर की अंतिम संरचना में 3 डेटाबेस नोड होते हैं, 2 लोड बैलेंसर नोड, और प्रत्येक लोड बैलेंसर के शीर्ष पर एक रखरखाव सेवा जैसा कि नीचे टोपोलॉजी पर दिखाया गया है:

निष्कर्ष
हमने दिखाया है कि कैसे हम मैक्सस्केल के साथ एक उच्च उपलब्धता मारियाडीबी क्लस्टर को जल्दी से तैनात कर सकते हैं और क्लस्टरकंट्रोल के माध्यम से रख सकते हैं। हम डेटाबेस नोड्स और प्रॉक्सी नोड्स के लिए सेटअप के माध्यम से गए। गैलेरा क्लस्टर के बारे में अधिक पढ़ने के लिए, हमारे ऑनलाइन ट्यूटोरियल को देखें। ध्यान दें कि ClusterControl अन्य लोड बैलेंसर जैसे ProxySQL और HAProxy का भी समर्थन करता है। इन्हें आज़माएं और अगर आपके कोई प्रश्न हैं तो हमें बताएं।