设为首页 加入收藏

TOP

mysql高可用架构方案之二(keepalived+lvs+读写分离+负载均衡)(四)
2014-11-23 19:26:48 来源: 作者: 【 】 浏览:115
Tags:mysql 可用 架构 方案 之二 keepalived lvs 读写 分离 负载 均衡
priority 99 advert_int 1 notify_master "/usr/local/mysql/bin/remove_slave.sh" authentication { auth_type PASS auth_pass ppl.com } virtual_ipaddress { 192.168.150.173 label eth0:1 192.168.150.174 label eth0:2 } } virtual_server 192.168.150.173 3306 { delay_loop 2 lb_algo wrr lb_kind DR persistence_timeout 60 protocol TCP real_server 192.168.150.172 3306 { weight 3 notify_down /usr/local/mysql/bin/mysql.sh TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 3306 } } } virtual_server 192.168.150.174 3306 { delay_loop 2 lb_algo wrr lb_kind DR persistence_timeout 60 protocol TCP real_server 192.168.150.172 3306 { weight 3 notify_down /usr/local/mysql/bin/mysql.sh TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 3306 } } # real_server 192.168.150.172 3306 { # weight 3 # TCP_CHECK { # connect_timeout 10 # nb_get_retry 3 # delay_before_retry 3 # connect_port 3306 # } # } } vi /usr/local/mysql/bin/remove_slave.sh #!/bin/bash user=root password=123456 log=/root/mysqllog/remove_slave.log #-------------------------------------------------------------------------------------- echo "`date`" >> $log /usr/bin/mysql -u$user -p$password -e "set global read_only=OFF;reset master;stop slave;change master to master_host='localhost';" >> $log /bin/sed -i 's#read-only#\#read-only#' /etc/my.cnf chomd 755 /usr/local/mysql/bin/remove_slave.sh vi /usr/local/mysql/bin/mysql.sh #!/bin/bash /etc/init.d/keepalived stop vi /usr/local/keepalived/bin/lvs-rs.sh #!/bin/bash WEB_VIP=192.168.150.174 . /etc/rc.d/init.d/functions case "$1" in start) ifconfig lo:0 $WEB_VIP netmask 255.255.255.255 broadcast $WEB_VIP /sbin/route add -host $WEB_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 sysctl -p >/dev/null 2>&1 echo "RealServer Start OK" ;; stop) ifconfig lo:0 down route del $WEB_VIP >/dev/null 2>&1 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 "RealServer Stoped" ;; status) # Status of LVS-DR real server. islothere=`/sbin/ifconfig lo:0 | grep $WEB_VIP` isrothere=`netstat -rn | grep "lo:0" | grep $web_VIP` if [ ! "$islothere" -o ! "isrothere" ];then # Either the route or the lo:0 device # not found. echo "LVS-DR real server Stopped." else echo "LVS-DR Running." fi ;; *) # Invalid entry. echo "$0: Usage: $0 {start|status|stop}" exit 1 ;; esac exit 0 chmod 755 /usr/local/keepalived/bin/lvs-rs.sh echo “/usr/local/keepalived/bin/lvs-rs.sh start” >>/etc/rc.local

vi /etc/my.cnf
将这两个参数前边的 # 去掉,重启mysql
#skip-slave-start
#read-only
登陆mysql,手动将slave进程启动
mysql>slave start;

先启动master上的keepalived,正常后再启动slave上的。
启动后 主库可以查看ip a
[root@rac3 ~]# ip a
1: lo:  mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇windows下解决mysql忘记密码 下一篇ogg传输进程启动报错Missingfilen..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: