手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

针对于LVS分发MySQL的监控

[日期:2013-08-24] 来源:Linux社区  作者:nginx2012 [字体: ]

需求:LVS给MySQL进行读负载,如果主从出现主从不同步,那就会出现问题,如何实现主从不同步的时候我就在LVS上去掉那台从库呢,而且如果当LVS上指负载一台从库的时候,我要是再去掉的话,岂不无从库可查了,故写个脚本,个人认为逻辑性还是很强的。

#!/bin/bash
c=`cat /opt/duoyongtu/10/mysql.txt`
for i in $c
do
              a=`mysql -uroot -h$i -p12345678 -P3306 -e "show slave status\G"|egrep '(Slave_IO_Running|Slave_SQL_Running)'|awk '{print $NF}'`
              for k in $a
              do
                      if [ "$k" != "Yes" ]; then
                              f=`ssh 192.168.0.146 "ip a|grep 192.168.1.5|wc -l"`
                              if [ "$f" -eq 1 ]; then
                                      b=`ssh 192.168.0.146 "cat /opt/yanchao/xianzai.txt| wc -l"`
                                      if [ "$b" -ge 2 ]; then
                                              #sh /www/shell/syslog_2.sh $i-slave-stop `hostname` 1 2 1 6
                                              ssh $i "iptables -A INPUT -s 192.168.0.146 -p tcp -m tcp --dport 3306 -j DROP"
                                              ssh $i "iptables -A INPUT -s 192.168.0.147 -p tcp -m tcp --dport 3306 -j DROP"
                                              echo bad
                                      else
                                              echo good
                                      fi
                              else
                                      b=`ssh 192.168.0.147 "cat /opt/yanchao/xianzai.txt| wc -l"`
                                      if [ "$b" -ge 2 ]; then
                                              # sh /www/shell/syslog_2.sh $i-slave-stop `hostname` 1 2 1 6
                                              ssh $i "iptables -A INPUT -s 192.168.0.146 -p tcp -m tcp --dport 3306 -j DROP"
                                                ssh $i "iptables -A INPUT -s 192.168.0.147 -p tcp -m tcp --dport 3306 -j DROP"
                                              echo bad
                                      else
                                              echo good
                                      fi
                              fi
                      else
                              d=`ssh $i "iptables -L -n|grep 192.168.0.146|wc -l"`
                              if [ "$d" -ge 1 ]; then
                                      for e in 192.168.0.146 192.168.0.147
                                      do
                                              ssh $i "iptables -F"
                                      done
                              fi
                      fi
              done
done

相关阅读:

通过LVS实现WEB站点的MySQL高可用 http://www.linuxidc.com/Linux/2013-06/86390.htm

LVS+Apache+PHP+MySQL读写分离 http://www.linuxidc.com/Linux/2012-12/77027.htm

MySQL LVS负载均衡 http://www.linuxidc.com/Linux/2012-09/69862.htm

企业Web高可用集群实战之LVS+Keepalived+MySQL HA http://www.linuxidc.com/Linux/2012-09/70097.htm

linux
相关资讯       LVS  LVS MySQL  MySQL监控 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评��即表明您已经阅读并接受上述条款