ClusterControl डेटाबेस सेटअप को परिनियोजित करना आसान बनाता है - परिनियोजन विज़ार्ड में बस कुछ मान (डेटाबेस विक्रेता, डेटाबेस डेटा निर्देशिका, पासवर्ड और होस्टनाम) भरें और आप जाने के लिए तैयार हैं। शेष कॉन्फ़िगरेशन विकल्प होस्ट विनिर्देशों (सीपीयू कोर, मेमोरी, आईपी एड्रेस इत्यादि) के आधार पर स्वचालित रूप से निर्धारित (और गणना) किए जाएंगे और क्लस्टर कंट्रोल के साथ आने वाली टेम्पलेट फ़ाइल पर लागू होंगे। इस ब्लॉग पोस्ट में, हम देखेंगे कि कैसे ClusterControl डिफ़ॉल्ट टेम्पलेट फ़ाइलों का उपयोग करता है और उपयोगकर्ता उन्हें अपनी आवश्यकताओं के अनुसार कैसे अनुकूलित कर सकते हैं।
आधार टेम्पलेट फ़ाइलें
ClusterControl द्वारा कॉन्फ़िगर की गई सभी सेवाएँ ClusterControl नोड पर /usr/share/cmon/templates के अंतर्गत उपलब्ध आधार कॉन्फ़िगरेशन टेम्पलेट का उपयोग करती हैं। ClusterControl v1.4.0 द्वारा प्रदान की गई टेम्प्लेट फ़ाइलें निम्नलिखित हैं:
फ़ाइल नाम | <थ>विवरण|
---|---|
config.ini.mc | MySQL क्लस्टर कॉन्फ़िगरेशन फ़ाइल। |
haproxy.cfg | गैलेरा क्लस्टर के लिए HAProxy कॉन्फ़िगरेशन टेम्प्लेट। |
haproxy_rw_split.cfg | पढ़ने-लिखने के बंटवारे के लिए HAProxy कॉन्फ़िगरेशन टेम्प्लेट। |
garbd.cnf | गैलेरा आर्बिट्रेटर डेमॉन (garbd) कॉन्फ़िगरेशन फ़ाइल। |
keepalived-1.2.7.conf | लीगेसी कीपाइव्ड कॉन्फ़िगरेशन फ़ाइल (पूर्व 1.2.7)। यह पदावनत है। |
keepalived.conf | कॉन्फ़िगरेशन फ़ाइल को रखा गया है। |
keepalived.init | इनिट स्क्रिप्ट को रखा गया है। |
MaxScale_template.cnf | MaxScale कॉन्फ़िगरेशन टेम्प्लेट। |
mongodb-2.6.conf.org | MongoDB 2.x कॉन्फ़िगरेशन टेम्प्लेट। |
mongodb.conf.org | MongoDB 3.x कॉन्फ़िगरेशन टेम्प्लेट। |
mongodb.conf.percona | MongoDB 3.x कॉन्फ़िगरेशन टेम्प्लेट MongoDB के लिए Percona सर्वर के लिए। |
mongos.conf.org | मोंगो राउटर (मोंगोस) कॉन्फ़िगरेशन टेम्प्लेट। |
my.cnf.galera | गैलेरा क्लस्टर के लिए MySQL कॉन्फ़िगरेशन टेम्प्लेट। |
my57.cnf.galera | MySQL 5.7 पर गैलेरा क्लस्टर के लिए MySQL कॉन्फ़िगरेशन टेम्प्लेट। |
my.cnf.grouprepl | MySQL समूह प्रतिकृति के लिए MySQL कॉन्फ़िगरेशन टेम्पलेट। |
my.cnf.gtid_replication | MySQL कॉन्फ़िगरेशन टेम्प्लेट GTID के साथ MySQL प्रतिकृति के लिए। |
my.cnf.mysqlcluster | MySQL क्लस्टर के लिए MySQL कॉन्फ़िगरेशन टेम्प्लेट। |
my.cnf.pxc55 | Percona XtraDB क्लस्टर v5.5 के लिए MySQL कॉन्फ़िगरेशन टेम्प्लेट। |
my.cnf.repl57 | MySQL प्रतिकृति v5.7 के लिए MySQL कॉन्फ़िगरेशन टेम्पलेट। |
my.cnf.replication | MySQL के GTID के बिना MySQL/MariaDB के लिए MySQL कॉन्फ़िगरेशन टेम्प्लेट। |
mysqlchk.galera | गैलेरा क्लस्टर के लिए MySQL स्वास्थ्य जांच स्क्रिप्ट टेम्प्लेट। |
mysqlchk.mysql | MySQL प्रतिकृति के लिए MySQL स्वास्थ्य जांच स्क्रिप्ट टेम्पलेट। |
mysqlchk_xinetd | MySQL स्वास्थ्य जांच के लिए Xinetd कॉन्फ़िगरेशन टेम्प्लेट। |
mysqld.service.override | MySQL सेवा के लिए Systemd यूनिट फ़ाइल टेम्प्लेट। |
proxysql_template.cnf | ProxySQL कॉन्फ़िगरेशन टेम्प्लेट। |
उपरोक्त सूची संस्थापित क्लस्टरकंट्रोल रिलीज द्वारा प्रदान किए गए फीचर सेट पर निर्भर करती है। पुराने संस्करण में, हो सकता है कि आपको उनमें से कुछ न मिलें। आप इन टेम्प्लेट फ़ाइलों को सीधे संशोधित कर सकते हैं, हालांकि हम इसकी अनुशंसा नहीं करते हैं जैसा कि अगले अनुभागों में बताया गया है।
कॉन्फ़िगरेशन प्रबंधक
क्लस्टर प्रकार के आधार पर, ClusterControl आवश्यक आधार टेम्पलेट फ़ाइल को CMON डेटाबेस में आयात करेगा और एक बार परिनियोजन सफल होने पर प्रबंधित -> कॉन्फ़िगरेशन -> टेम्पलेट्स के माध्यम से सुलभ होगा। उदाहरण के लिए, मारियाडीबी गैलेरा क्लस्टर के लिए निम्नलिखित कॉन्फ़िगरेशन टेम्पलेट पर विचार करें:
ClusterControl तैनाती के सफल होने के बाद /usr/share/cmon/templates/my.cnf.galera से /usr/share/cmon/templates/my.cnf.galera से गैलेरा कॉन्फ़िगरेशन टेम्पलेट की आधार टेम्पलेट सामग्री को लोड करेगा (क्लस्टर_कॉन्फ़िगरेशन_टेम्पलेट्स तालिका के अंदर)। फिर आप अपनी स्वयं की कॉन्फ़िगरेशन फ़ाइल को सीधे ClusterControl UI में कस्टमाइज़ कर सकते हैं। जब भी आप सहेजें बटन दबाते हैं, कॉन्फ़िगरेशन टेम्पलेट का नया संस्करण आधार टेम्पलेट फ़ाइल को अधिलेखित किए बिना, CMON डेटाबेस के अंदर संग्रहीत किया जाएगा।
एक बार क्लस्टर परिनियोजित और चलने के बाद, UI में टेम्पलेट को प्राथमिकता दी जाती है। आधार टेम्पलेट फ़ाइल का उपयोग केवल क्लस्टर नियंत्रण -> परिनियोजन -> परिनियोजित डेटाबेस क्लस्टर के माध्यम से प्रारंभिक क्लस्टर परिनियोजन के दौरान किया जाता है। परिनियोजन चरण के दौरान, ClusterControl सामग्री तैयार करने के लिए /var/tmp/ पर स्थित एक अस्थायी निर्देशिका का उपयोग करेगा, उदाहरण के लिए:
/var/tmp/cmon-003862-6a7775ca76c62486.tmp
गतिशील चर
कई विन्यास चर हैं जो ClusterControl द्वारा गतिशील रूप से विन्यास योग्य हैं। इन चरों को बड़े अक्षरों से दर्शाया गया है, जो '@' चिह्न से संलग्न हैं, उदाहरण के लिए @[email protected] समर्थित चरों के पूर्ण विवरण के लिए, कृपया इस पृष्ठ को देखें। क्लस्टर परिनियोजन के दौरान निर्दिष्ट इनपुट के आधार पर गतिशील चर स्वचालित रूप से कॉन्फ़िगर किए जाते हैं, या क्लस्टरकंट्रोल होस्टनाम, आईपी पते, उपलब्ध रैम, सीपीयू कोर की संख्या आदि के आधार पर स्वचालित पहचान करता है। यह उस परिनियोजन को सरल करता है जहाँ आपको केवल क्लस्टर परिनियोजन चरण के दौरान न्यूनतम विकल्प निर्दिष्ट करने की आवश्यकता होती है
यदि डायनामिक वैरिएबल को किसी मान (या अपरिभाषित) से बदल दिया जाता है, तो ClusterControl इसे छोड़ देगा और इसके बजाय कॉन्फ़िगर किए गए मान का उपयोग करेगा। यह उन्नत उपयोगकर्ताओं के लिए आसान है, जहां आमतौर पर विशिष्ट डेटाबेस वर्कलोड के अनुरूप कॉन्फ़िगरेशन विकल्पों का अपना सेट होता है।
प्री-डिप्लॉयमेंट कॉन्फ़िगरेशन टेम्प्लेट उदाहरण
हमारे डेटाबेस नोड्स के लिए max_connections की संख्या पर ClusterControl के डायनेमिक वैरिएबल पर निर्भर होने के बजाय, हम /usr/share/cmon/templates/my57.cnf.galera के अंदर निम्नलिखित लाइन को बदल सकते हैं:
[email protected]@sqldat.com
प्रति:
max_connections=50
टेक्स्ट फ़ाइल सहेजें और डेटाबेस क्लस्टर परिनियोजित करें संवाद पर, सुनिश्चित करें कि ClusterControl सही आधार टेम्पलेट फ़ाइल का उपयोग करता है:
डेटाबेस क्लस्टर परिनियोजन प्रारंभ करने के लिए परिनियोजन बटन पर क्लिक करें।
पोस्ट-डिप्लॉयमेंट कॉन्फ़िगरेशन टेम्प्लेट उदाहरण
डेटाबेस क्लस्टर परिनियोजन पूर्ण होने के बाद, हो सकता है कि आपने इसे स्केल करने का निर्णय लेने से पहले चल रहे सर्वर पर कुछ अच्छी ट्यूनिंग की हो। स्केलिंग करते समय, ClusterControl नए नोड्स को परिनियोजित करने के लिए CMON डेटाबेस (ClusterControl -> Configurations -> Templates के तहत आबादी वाला) के अंदर कॉन्फ़िगरेशन टेम्पलेट का उपयोग करेगा। इसलिए डेटाबेस सर्वर पर आपके द्वारा किए गए संशोधन को टेम्प्लेट फ़ाइल में लागू करना न भूलें।
नया नोड जोड़ने से पहले, यह सुनिश्चित करने के लिए कॉन्फ़िगरेशन टेम्प्लेट की समीक्षा करना एक अच्छा अभ्यास है कि नए नोड को वह मिलता है जिसकी हमें उम्मीद थी। फिर, ClusterControl पर जाएँ -> नोड जोड़ें और सुनिश्चित करें कि सही MySQL टेम्पलेट फ़ाइल चुनी गई है:
फिर, परिनियोजन शुरू करने के लिए "नोड जोड़ें" बटन पर क्लिक करें।
इतना ही। हालांकि जब तैनाती की बात आती है तो क्लस्टरकंट्रोल विभिन्न स्वचालन कार्य करता है, फिर भी यह उपयोगकर्ताओं को तदनुसार परिनियोजन को अनुकूलित करने की स्वतंत्रता प्रदान करता है। हैप्पी क्लस्टरिंग!