keepalived+vip+mysql双机高可用的示例分析

这篇文章主要为大家展示了“keepalived+vip+MySQL双机高可用的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“keepalived+vip+mysql双机高可用的示例分析”这篇文章吧。

创新互联建站主要从事成都网站建设、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务汉川,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

1.环境  mysql主从
更新

 yum update glib*

配置第三方源
yum install -y  epel-release

直接通过yum安装keepalived

#查看是否有安装包
yum list |grep keepalived

安装
yum install  keepalived.x86_64

各种参数定义查看如下bolg
http://blog.csdn.net/zhu_tianwei/article/details/43603135

真实生产环境案例
master
路径/etc/keepalived/keepalived.conf
通过权重 priority 0-250 来判断 主从
#######################master###########################
global_defs {
    router_id HA_MySQL
}


vrrp_instance VI_1 {
     state BACKUP
     interface em1
     virtual_router_id 12
     priority 120
     advert_int 1
     nopreempt
     authentication {
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress {
      #vip
        192.168.27.12
     }
}


virtual_server 192.168.27.12 3306 {
     delay_loop 2
     lb_algo wrr
     lb_kind DR
     persistence_timeout 60
     protocol TCP
     real_server 192.168.27.73 3306 {
         weight 3
         inhibit_on_failure
        #检查真实ip的端口3306 是否down 如果down 执行stop_keeplived.sh
         notify_down /usr/local/keepalived/sbin/stop_keeplived.sh
         TCP_CHECK {
             connect_timeout 10
             nb_get_retry 3
             delay_before_retry 3
             connect_port 3306
         } 
     }
}

###########################slave###############################


slave
通过权重 priority 0-250 来判断 主从


global_defs {
    router_id HA_MySQL
}


vrrp_instance VI_1 {
     state BACKUP
     interface em1
     virtual_router_id 12
     priority 100
     advert_int 1
     #nopreempt
     authentication {
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress {
      #vip
        192.168.27.12
     }
}


virtual_server 192.168.27.12 3306 {
     delay_loop 2
     lb_algo wrr
     lb_kind DR
     persistence_timeout 60
     protocol TCP
     real_server 192.168.27.72 3306 {
         weight 3
         notify_down /usr/local/keepalived/sbin/stop_keeplived.sh
         TCP_CHECK {
             connect_timeout 10
             nb_get_retry 3
             delay_before_retry 3
             connect_port 3306
         } 
     }
}


################stop_keeplived.sh############
/usr/local/keepalived/sbin/stop_keeplived.sh
内容
#! /bin/bash 
echo "test" > text.txt
/etc/init.d/keepalived stop

#遇到的错误
停止mysql 3306端口
service mysqld stop
正常应该是vip 进行漂移,但是却没有漂,查看keepalived状态
service keepalived status
发现 ipvs: Protocol not available 提示信息
此问题 导致vip无法漂移
原因是ip_vs模块系统默认没有自动加载
查看ip_vs模块
lsmod | grep ip_vs 若没有值需要手工加载
modprobe ip_vs
modprobe ip_vs_wrr

lsmod | grep ip_vs正常输出
[root@hs-73 sbin]# lsmod | grep ip_vs
ip_vs_wrr              12697  0 
ip_vs                 140944  2 ip_vs_wrr
nf_conntrack          105745  1 ip_vs
libcrc32c              12644  2 xfs,ip_vs 
设置开机加载
/etc/rc.local
modprobe ip_vs
   modprobe ip_vs_wrr
写入rc.local配置文件


到此 问题解决

vip 可以正常漂移

使用命令 ip a 可以查看vip

-----keepalived 对应的机器必须开启112端口 否则 两边无法通信

以上是“keepalived+vip+mysql双机高可用的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网站标题:keepalived+vip+mysql双机高可用的示例分析
网页地址:http://hbruida.cn/article/poipoc.html