配置mysql-cluster群集高可用(三)
之前已經(jīng)配置好了mysql-cluster群集,由于日常sql節(jié)點(diǎn)通常都大于1臺(tái),這意味著應(yīng)用程序一部分要使用sql1節(jié)點(diǎn),一部分使用sql2節(jié)點(diǎn),當(dāng)然,所有的應(yīng)用程序只需要一個(gè)節(jié)點(diǎn),但這樣不在群集節(jié)點(diǎn)間做分流負(fù)載,也就不必做群集了,另外,如果一個(gè)群集節(jié)點(diǎn)down機(jī)了,隨之而來的程序也down掉,該如何解決,因此我用keepalived來實(shí)現(xiàn)對(duì)sql節(jié)點(diǎn)的高可用,問題又來了,這里的keepalived存在單機(jī)故障,所以準(zhǔn)備2臺(tái)互備,我們用lvs來實(shí)現(xiàn)負(fù)載均衡,這樣其中一個(gè)節(jié)點(diǎn)或者keepalived壞掉,應(yīng)用程序?qū)⑷匀豢梢怨ぷ?#xff0c;因?yàn)樨?fù)載均衡器將請(qǐng)求轉(zhuǎn)到了工作正常的另外一個(gè)節(jié)點(diǎn),我們需要一個(gè)虛擬IP地址:192.168.18.100。它會(huì)安排給這個(gè)MySQL群集的負(fù)載均衡,以便于應(yīng)用程序通過統(tǒng)一單獨(dú)的IP地址來訪問群集。?
回想一下之前的部署ip結(jié)構(gòu):
?
192.168.18.10:MGM/SQL1
192.168.18.11:NDBD1/lvs+keepalived
192.168.18.12:NDBD2/lvs+keepalived
192.168.18.9? : ??SQL2
VIP:192.168.18.100
1.在11/12這2臺(tái)設(shè)備上安裝lvs+keepalived [root@localhost ?home]yum -y install ipvsadm [root@localhost ?home]tar -zxf?keepalived-1.2.7.tar.gz [root@localhost ?home]cd?keepalived-1.2.7 [root@localhost keepalived-1.2.7]#?./configure --prefix=/usr/local/keepalived/ [root@localhost keepalived-1.2.7]#make && make install [root@localhost keepalived-1.2.7]#vi?/usr/local/keepalived/keepalived.conf ! Configuration File for keepalived ? global_defs { ?router_id LVS_DEVEL } ? vrrp_instance VI_1 { ?state MASTER ? ? ? #備機(jī)上改為BACKUP ?interface eth1 ?virtual_router_id 51 ?priority 100 ?advert_int 3 ?authentication { ?auth_type PASS ?auth_pass 1111 ?} ?virtual_ipaddress { ?192.168.18.100 ?} } ? virtual_server 192.168.18.100 3306 { ?delay_loop 6 ?lb_algo rr ?lb_kind DR ?persistence_timeout 60 ?protocol TCP ? real_server 192.168.18.9 3306 { ?weight 1 ?TCP_CHECK { ?connect_timeout 3 ?nb_get_retry 3 ?delay_before_retry 3 ?connect_port 3306 ?} } real_server 192.168.18.10 3306 { ?weight 1 ?TCP_CHECK{ ?connect_timeout 3 ?nb_get_retry 3 ?delay_before_retry 3 ?connect_port 3306 ?} } } 啟動(dòng)keepalived: [root@localhost ?home]/usr/local/keepalived/sbin/keepalived -D -f /usr/local/keepalived/keepalived.conf 2.在2臺(tái)sql節(jié)點(diǎn)行編輯如下腳本 [root@localhost ?home]vi re.sh #!/bin/sh VIP=192.168.18.100 /etc/rc.d/init.d/functions case "$1" in start) echo "Start LVS of RealServer" /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up route add -host $VIP dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce ;; stop) /sbin/ifconfig lo:0 down echo "Stop LVS of RealServer" echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce ;; *) echo "Usage:$0{start|stop}" exit 1 esac [root@localhost ?home] chmod +x re.sh [root@localhost ?home]./re.sh start 好了,現(xiàn)在可以直接利用vip,192.168.18.100來連接了
?
轉(zhuǎn)載于:https://blog.51cto.com/nanow/1101478
總結(jié)
以上是生活随笔為你收集整理的配置mysql-cluster群集高可用(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows x64 build c+
- 下一篇: 修改 SQL Server 服务器的 I