इसलिए अभी काफी समय से आसपास रखा गया है .... हालांकि यह अभी भी कई लोगों के लिए एक रहस्य है।
तो यह एक बहुत ही सरल उदाहरण है कि MySQL के साथ कैसे काम किया जा सकता है। उम्मीद है, यह सवालों के साथ उन लोगों की मदद कर सकता है।
हम दास स्थापित करने के लिए एक सरल गुरु होगा। अर्थ .. हम एक को लिखते हैं जब तक कि हम किसी घटना के लिए दूसरे को विफल नहीं करते।
पहली - स्थापित रखें
तो हमारे पास 2 होस्ट हैं
तो यह एक बहुत ही सरल उदाहरण है कि MySQL के साथ कैसे काम किया जा सकता है। उम्मीद है, यह सवालों के साथ उन लोगों की मदद कर सकता है।
हम दास स्थापित करने के लिए एक सरल गुरु होगा। अर्थ .. हम एक को लिखते हैं जब तक कि हम किसी घटना के लिए दूसरे को विफल नहीं करते।
पहली - स्थापित रखें
# यम खोज को रखा गया
Keepaliven .x86_64: लोड बैलेंसर और उच्च उपलब्धता सेवा
नाम और सारांश केवल मेल खाते हैं , हर चीज के लिए "सभी खोजें" का उपयोग करें।
# yum -y स्थापित रखें
अब आपके पास एक config फाइल होनी चाहिए
# ls -ltr /etc/keepalived/keepalived.conf
ऑरिजनल रखें क्योंकि आप हमेशा बैकअप लेते हैं ... सही है ...।
# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.orig
तो आपको एक ipaddress पता लगाने की आवश्यकता है जिसे आप अपने वर्चुअल आईपी के लिए उपयोग कर सकते हैं। मैंने इस उदाहरण के लिए 192.168.0.123 उठाया।
इसके बाद, हम अपनी नई कॉन्फिगर फाइल के लिए उपयोग की जाने वाली स्क्रिप्ट सेट करेंगे।
कुछ बातें मैंने यहाँ कीं ।।
मैं रखने के लिए एक .cnf फ़ाइल को छोड़ दिया और एक लॉग इन / / / सब रखा।
यह उदाहरण के लिए सरल बनाता है ताकि आप ऐसा कर सकें या अपनी स्वयं की cnf फ़ाइलों का उपयोग कर सकें।
पटकथा:
cat /etc/keepalived/keepalived_check.sh
#! / bin / bash
# मॉनिटर mysql स्टेटस
# अगर यह नोड mysql मर चुका है
# और इसका गुलाम जिंदा है, तो इसकी रखवाली बंद करो। अन्य नोड आईपी को बांध देगा।
निर्यात MYSQL_HOME = / etc / रखवाली /
निर्यात पथ = $ MYSQL_HOME / बिन: $ पथ
mysql = "/ usr / bin / mysql"
mysqladmin = "/ usr / bin / mysqladmin"
delay_file = "$ MYSQL_HOME / slave_delay_second.log"
slave_host = $ 1
ALIVE = $ ($ mysqladmin --defaults-file = $ MYSQL_HOME / .my.localhost.nf पिंग | grep जिंदा | wc -l);
REMOTEALIVE = $ ($ mysqladmin --defaults-file = $ MYSQL_HOME / .my.remotehost.cnf पिंग | grep जिंदा | wc -l);
अगर [[$ ALIVE-1]]
फिर
#echo "MySQL नीचे है"
अगर [[$ REMOTEALIVE -eq 1]]
फिर
# गूंज "चुप रहो जिंदा रहो"
systemctl रोक रखना
# गूंज "रखवाले रोक"
फाई
#अन्य
# माय "MySQL ऊपर है"
#दिनांक
फाई
बाहर निकलें 0 # किया गया
नई कॉन्फ़िग फ़ाइल
cat /etc/keepalived/keepalived.conf
Global_defs {
सूचना_मेल {
anothermysqldba@gmail.com
}
notification_email_from othermysqldba@gmail.com
smtp_server लोकलहोस्ट
smtp_connect_timeout 30
}
vrrp_script check_mysql {
स्क्रिप्ट "/etc/keepalived/keepalived_check.sh"
अंतराल २
वजन 2
}
vrrp_instance VI_1 {
राज्य मास्टर
इंटरफ़ेस enp0s8 # <--- व्हाट्स इंटरफेम नॉमल योर रियल आईपी / sbin / ifconfig
# आईपी लिंक शो के साथ मिला
virtual_router_id 51
प्राथमिकता १०१
advert_int 1
nopreempt # केवल उच्च प्राथमिकता नोड पर आवश्यक है
प्रमाणीकरण {
ऑरल_टाइप PASS
11_11 पर
}
track_script {
check_mysql
}
virtual_ipaddress {
192.168.0.123
}
}
यह सब बहुत अच्छा है लेकिन क्या यह काम करता है ...।
तो हमारे पास 2 होस्ट हैं
[रूट @ सेंटोसा रखा हुआ] # होस्टनाम
centosa
[root @ centosb Keepalived] # hostname
centosb
रखना शुरू कर दिया
[रूट @ सेंटोसा को रखा गया है] # सिस्टमटाल की स्थिति को बनाए रखा गया है
● Keepalived.service - LVS और VRRP उच्च उपलब्धता मॉनिटर
भरी हुई: भरी हुई (/usr/lib/systemd/system/keepalived.service; विकलांग; वेंडर प्रेसर: अक्षम)
सक्रिय: निष्क्रिय (मृत)
[रूट @ सेंटोसा को रखा गया] # सिस्टेक्टल को फिर से रखा गया
[रूट @ सेंटोसा को रखा गया है] # सिस्टमटाल की स्थिति को बनाए रखा गया है
● Keepalived.service - LVS और VRRP उच्च उपलब्धता मॉनिटर
भरी हुई: भरी हुई (/usr/lib/systemd/system/keepalived.service; विकलांग; वेंडर प्रेसर: अक्षम)
सक्रिय: सक्रिय (चल रहा है)
[रूट @ सेंटोसा को रखा गया] # ssh 192.168.0.123 'hostname'
root@192.168.0.123 का पासवर्ड:
centosa
कनेक्शन कार्य पहले से ही साबित करें
[रूट @ सेंटोसा रखा हुआ] # mysql --defaults-file = .my.remotehost.cnf --host = 192.168.0.101 -host "select @@ hostname"
+ ------------ +
| @@ होस्टनाम |
+ ------------ +
| centosb |
+ ------------ +
[रूट @ सेंटोसा को रखा गया] # mysql --defaults-file = .my.remotehost.cnf --host = 192.168.0.102 -host "select @@ hostname"
+ ------------ +
| @@ होस्टनाम |
+ ------------ +
| centosa |
+ ------------ +
डबल चेक करें कि यह चल रहा है ...
[root @ centosa keepalived] # सिस्टेक्स्टल स्टेटस कीपेल्ड | grep सक्रिय
सक्रिय: सक्रिय
[root @ centosb Keepalived] # systemctl स्टेटस को सुरक्षित रखा गया | grep सक्रिय
सक्रिय: सक्रिय
वर्तमान वीआईपी का परीक्षण करें ... mysql को रोकें और वही वीआईपी परिवर्तन होस्ट देखें ...
[रूट @ सेंटोसा को रखा गया] # mysql --defaults-file = .my.remotehost.cnf --host = 192.168.0.123 -host "select @@ hostname"
+ ------------ +
| @@ होस्टनाम |
+ ------------ +
| centosa |
+ ------------ +
[रूट @ सेंटोसा को रखा गया] # सिस्टेक्स्ल ने मायस्कल्ड को रोक दिया
[रूट @ सेंटोसा को रखा गया] # mysql --defaults-file = .my.remotehost.cnf --host = 192.168.0.123 -host "select @@ hostname"
+ ------------ +
| @@ होस्टनाम |
+ ------------ +
| centosb |
+ ------------ +
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें